From 21a1542f9d99466b2aedd0992a1032b37b4154a3 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期一, 20 八月 2018 20:21:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into Skill_Polymorph_BeatBackPlayer

---
 System/BlastFurnace/BlastFurnaceModel.cs |   76 +++++++++++++++++++++++++++----------
 1 files changed, 55 insertions(+), 21 deletions(-)

diff --git a/System/BlastFurnace/BlastFurnaceModel.cs b/System/BlastFurnace/BlastFurnaceModel.cs
index e18abc3..95ed38d 100644
--- a/System/BlastFurnace/BlastFurnaceModel.cs
+++ b/System/BlastFurnace/BlastFurnaceModel.cs
@@ -83,15 +83,18 @@
         treasureRefineDict.Clear();
         FuncOpen.Instance.OnFuncStateChangeEvent -= RefreshFuncOpenState;
         playerPack.RefreshItemCountAct -= RefreshMat;
+        playerPack.ItemCntReduceAct -= RefreshDanReduce;
         playerPack.RefreshItemSumUseCntAct -= RefreshItemUsce;
+        WindowCenter.Instance.windowAfterCloseEvent -= StoveUpgradAfterClose;
 
     }
-
     public void OnAfterPlayerDataInitialize()
     {
         playerPack.RefreshItemCountAct += RefreshMat;
         FuncOpen.Instance.OnFuncStateChangeEvent += RefreshFuncOpenState;
         playerPack.RefreshItemSumUseCntAct += RefreshItemUsce;
+        WindowCenter.Instance.windowAfterCloseEvent += StoveUpgradAfterClose;
+        playerPack.ItemCntReduceAct += RefreshDanReduce;
     }
 
     private void RefreshFuncOpenState(int funcId)
@@ -141,13 +144,14 @@
     /// 寰楀埌鏈嶅姟绔殑鐐间腹鐐夋暟鎹�
     /// </summary>
     private int _stovelv = 1;
+    private int preStoveLv = 1;
     public int StoveLV { get { return _stovelv; } }    // 鐐间腹鐐夌瓑绾�
     private int _stoveExp = 0;
     public int StoveExp { get { return _stoveExp; } }    // 鐐间腹鐐夌粡楠� 
     public int addExp = 0;
     public event Action RefreshStoveModelEvent;
     public int makerItemID { get; private set; }
-
+    public bool StoveIsUpGrade { get; private set; }
     public void RefreshBlastFurnaceModel(HA3BF_tagMCPlayerStoveMsg data)
     {
         DebugEx.Log("RefreshBlastFurnaceModel");
@@ -163,6 +167,17 @@
         if(!isFirstGet)
         {
             isMakeDan = true;
+            if(preStoveLv < data.StoveLV)
+            {
+                preStoveLv = data.StoveLV;
+                StoveIsUpGrade = true;
+            }
+            else
+            {
+                preStoveLv = data.StoveLV;
+                StoveIsUpGrade = false;
+            }
+            PlayRecycleGuid();
         }
         else
         {
@@ -175,23 +190,6 @@
         if(makerItemID == 0 && addExp > 0)
         {
             SysNotifyMgr.Instance.ShowTip("RecyclingElixir", addExp);
-        }
-    }
-
-    /// <summary>
-    /// 鍒ゆ柇鐐间腹鐐夋槸鍚﹀崌绾�
-    /// </summary>
-    private int preStoveLv = 1;
-    public bool IsUpgrade(int stoveLv)
-    {
-        if (preStoveLv >= stoveLv)
-        {
-            return false;
-        }
-        else
-        {
-            preStoveLv = stoveLv;
-            return true;
         }
     }
 
@@ -716,6 +714,8 @@
         {
             CheckMakerDandrugCondition();
             CheckRecycleStoreRed();
+            StoveIsUpGrade = false;
+            PlayRecycleGuid();
         }
     }
 
@@ -849,8 +849,7 @@
     {
         if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlastFurnace)) return;
 
-        List<ItemModel> itemModels = GetRecycleDanlist();
-        if(itemModels != null && itemModels.Count > 0)
+        if(IsRecycleDanDrug())
         {
             recycleBtnRedpoint.state = RedPointState.Simple;
         }
@@ -858,7 +857,42 @@
         {
             recycleBtnRedpoint.state = RedPointState.None;
         }
+    }
 
+    public bool IsRecycleDanDrug()
+    {
+        List<ItemModel> itemModels = GetRecycleDanlist();
+        if(itemModels != null && itemModels.Count > 0)
+        {
+            return true;
+        }
+        return false;
+    }
+
+
+    private void StoveUpgradAfterClose(Window win)
+    {
+        if (win.name != "StoveUpgradWin") return;
+        StoveIsUpGrade = false;
+        PlayRecycleGuid();
+    }
+
+
+    private void RefreshDanReduce(PackType type, int index, int id)
+    {
+        if (type != PackType.rptItem || !playerPack.CheckIsDrugById(id)) return;
+        StoveIsUpGrade = false;
+        PlayRecycleGuid();
+    }
+
+    public void PlayRecycleGuid()
+    {
+        if (IsRecycleDanDrug() 
+            && !NewBieCenter.Instance.completeGuidesBuf.Contains(93)
+            && !StoveIsUpGrade)
+        {
+            NewBieCenter.Instance.StartNewBieGuide(93);
+        }
     }
     #endregion
 

--
Gitblit v1.8.0