From 80147050c5b3a46f37a28a86f89eda50bfb8f8af Mon Sep 17 00:00:00 2001
From: QD-PangDeRong <593317293@qq.com>
Date: 星期六, 11 八月 2018 13:54:11 +0800
Subject: [PATCH] [2158]修改炼丹功能

---
 System/KnapSack/Logic/PackSendQuestMgr.cs |    5 +
 System/Tip/RealmPopConfirmWin.cs          |   87 +++++++++++++++++++++
 Utility/EnumHelper.cs                     |    1 
 System/Tip/RealmPopConfirmWin.cs.meta     |   12 +++
 System/BlastFurnace/BlastFurnaceModel.cs  |   64 ++++++++-------
 System/BlastFurnace/DanDrugRecycleTip.cs  |   20 ++--
 System/BlastFurnace/RecycleDrugCell.cs    |   11 +-
 System/Tip/ConfirmCancel.cs               |   17 ++++
 System/SystemSetting/SettingEffectMgr.cs  |    8 +
 9 files changed, 177 insertions(+), 48 deletions(-)

diff --git a/System/BlastFurnace/BlastFurnaceModel.cs b/System/BlastFurnace/BlastFurnaceModel.cs
index c58548c..dd1d634 100644
--- a/System/BlastFurnace/BlastFurnaceModel.cs
+++ b/System/BlastFurnace/BlastFurnaceModel.cs
@@ -268,48 +268,52 @@
     /// <summary>
     /// 寰楀埌鐐间腹鍜岄摳鐐肩殑缁撴灉
     /// </summary>
+    public event Action<MakeType,int> RefreshMakeItemAnswerAct;
     public void GetMakerResult(H0721_tagMakeItemAnswer answer)
     {
         DesignDebug.Log("GetMakerResult" + answer.Result);
-        if (answer.MakeType == (int)MakeType.Def_mitRefine)
+        switch((MakeType)answer.MakeType)
         {
-            if (answer.Result == 1)
-            {
-                if(makerItemID != 0)
+            case MakeType.Def_mitRefine:
+                if (answer.Result == 1)
                 {
-                    if (!WindowCenter.Instance.CheckOpen<MakerDrugSuccessWin>())
+                    if (makerItemID != 0)
                     {
-                        WindowCenter.Instance.Open<MakerDrugSuccessWin>();
+                        if (!WindowCenter.Instance.CheckOpen<MakerDrugSuccessWin>())
+                        {
+                            WindowCenter.Instance.Open<MakerDrugSuccessWin>();
+                        }
                     }
                 }
-            }
-            else
-            {
-                if (!WindowCenter.Instance.CheckOpen<MakerDrugFailWin>())
+                else
                 {
-                    WindowCenter.Instance.Open<MakerDrugFailWin>();
+                    if (!WindowCenter.Instance.CheckOpen<MakerDrugFailWin>())
+                    {
+                        WindowCenter.Instance.Open<MakerDrugFailWin>();
+                    }
                 }
-            }
+                break;
+            case MakeType.Def_mitMWUpLevel:
+                if (answer.Result == 1)
+                {
+                    if (!WindowCenter.Instance.CheckOpen<TreasureRefineSuccessWin>())
+                    {
+                        WindowCenter.Instance.Open<TreasureRefineSuccessWin>();
+                    }
+                }
+                else
+                {
+                    if (!WindowCenter.Instance.CheckOpen<TreasureRefineFailWin>())
+                    {
+                        WindowCenter.Instance.Open<TreasureRefineFailWin>();
+                    }
+                }
+                break;
         }
-        else if (answer.MakeType == (int)MakeType.Def_mitMWUpLevel)
+        if(RefreshMakeItemAnswerAct != null)
         {
-            if (answer.Result == 1)
-            {
-                if (!WindowCenter.Instance.CheckOpen<TreasureRefineSuccessWin>())
-                {
-                    WindowCenter.Instance.Open<TreasureRefineSuccessWin>();
-                }
-            }
-            else
-            {
-                if (!WindowCenter.Instance.CheckOpen<TreasureRefineFailWin>())
-                {
-                    WindowCenter.Instance.Open<TreasureRefineFailWin>();
-                }
-            }
+            RefreshMakeItemAnswerAct((MakeType)answer.MakeType,answer.Result);
         }
-
-
     }
 
     #region 鐏典腹鍜岀巹涓圭殑閫昏緫澶勭悊
@@ -968,7 +972,7 @@
     }
 
     Dictionary<int, int> recycleDanDict = new Dictionary<int, int>();
-    List<string> recycleStrlist = new List<string>();
+    public List<string> recycleStrlist = new List<string>();
     public event Action RefreshSelectRecycleAct;
     public void AddSelectRecycleDan(ItemModel itemModel)
     {
diff --git a/System/BlastFurnace/DanDrugRecycleTip.cs b/System/BlastFurnace/DanDrugRecycleTip.cs
index 95981e9..02f59a1 100644
--- a/System/BlastFurnace/DanDrugRecycleTip.cs
+++ b/System/BlastFurnace/DanDrugRecycleTip.cs
@@ -31,28 +31,27 @@
         BlastFurnaceModel blastFurnace { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } }
         Dictionary<string, List<ItemModel>> recycleDict;
         List<string> recycleKeylist;
-        bool isFirstOpen = true;
         private void OnEnable()
         {
-            isFirstOpen = true;
             GlobalTimeEvent.Instance.secondEvent += RefreshResetTime;
             blastFurnace.RefreshSelectRecycleAct += RefreshRecycleGetMoney;
             danDrugCtrl.OnRefreshCell += RefreshRecycleDan;
             shopCtrl.OnRefreshCell += RefreshShopCell;
             m_storeModel.RefreshBuyShopLimitEvent = CreateShopCell;
             m_storeModel.RefreshTCBPlayerDataEvent += RefreshRecycleScore;
+            blastFurnace.RefreshMakeItemAnswerAct += OnGetRecycleResult;
             m_storeModel.storeFuncType = StoreFunc.DanDrugStore;
             recycleBtn.AddListener(ClickRecycle);
             playerPack.RefreshItemCountAct += RefreshItemCnt;
             Init();
         }
-
         private void OnDisable()
         {
             shopCtrl.OnRefreshCell -= RefreshShopCell;
             danDrugCtrl.OnRefreshCell -= RefreshRecycleDan;
             m_storeModel.RefreshTCBPlayerDataEvent -= RefreshRecycleScore;
             blastFurnace.RefreshSelectRecycleAct -= RefreshRecycleGetMoney;
+            blastFurnace.RefreshMakeItemAnswerAct -= OnGetRecycleResult;
             playerPack.RefreshItemCountAct -= RefreshItemCnt;
             recycleBtn.RemoveAllListeners();
             GlobalTimeEvent.Instance.secondEvent -= RefreshResetTime;
@@ -94,16 +93,19 @@
             }
         }
 
+
+        private void OnGetRecycleResult(MakeType type, int result)
+        {
+            if (type != MakeType.Def_DanRecycle || result != 1) return;
+
+            uieffect.Play();
+        }
+
         private void RefreshRecycleScore(PlayerDataRefresh refreshType)
         {
             if (refreshType != PlayerDataRefresh.CDBPlayerRefresh_Danjing) return;
 
-            sumMoneyText.text = modelInterface.OnChangeCoinsUnit(UIHelper.GetMoneyCnt(27));
-            if(!isFirstOpen)
-            {
-                uieffect.Play();
-            }
-            isFirstOpen = false;
+            sumMoneyText.text = UIHelper.GetMoneyCnt(27).ToString();
         }
 
         private void RefreshRecycleGetMoney()
diff --git a/System/BlastFurnace/RecycleDrugCell.cs b/System/BlastFurnace/RecycleDrugCell.cs
index ab1562e..9975cf2 100644
--- a/System/BlastFurnace/RecycleDrugCell.cs
+++ b/System/BlastFurnace/RecycleDrugCell.cs
@@ -21,7 +21,8 @@
             {
                 itemCell.gameObject.SetActive(true);
                 ItemModel itemModel = list[0];
-                if (itemModel.itemInfo.IsBind == 1)
+                string key = StringUtility.Contact(itemModel.itemId, "IsBind", itemModel.itemInfo.IsBind);
+                if (blastFurnace.recycleStrlist.Contains(key))
                 {
                     selectImg.SetActive(true);
                 }
@@ -39,10 +40,10 @@
                 itemCell.cellBtn.RemoveAllListeners();
                 itemCell.cellBtn.AddListener(() =>
                 {
-                if (selectImg.activeInHierarchy)
-                {
-                    selectImg.SetActive(false);
-                    blastFurnace.RemoveSelectRecycleDan(itemModel);
+                    if (selectImg.activeInHierarchy)
+                    {
+                        selectImg.SetActive(false);
+                        blastFurnace.RemoveSelectRecycleDan(itemModel);
                     }
                     else
                     {
diff --git a/System/KnapSack/Logic/PackSendQuestMgr.cs b/System/KnapSack/Logic/PackSendQuestMgr.cs
index b7d9971..b2e5ab5 100644
--- a/System/KnapSack/Logic/PackSendQuestMgr.cs
+++ b/System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -377,7 +377,10 @@
                 switch(config.EquipPlace)
                 {
                     case 0:
-                        ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("RealmNeeds", needRealmImgStr.ToString(), curRealmImgStr.ToString()));
+                        ConfirmCancel.ShowRealmPopConfirm(Language.Get("Mail101"), Language.Get("RealmNeeds", needRealmImgStr.ToString(), curRealmImgStr.ToString()),Language.Get("PopConfirmWin_Promote"),()=>
+                        {
+                            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.RealmFunc1);
+                        });
                         break;
                     default:
                         ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS142", needRealmImgStr.ToString(), curRealmImgStr.ToString()));
diff --git a/System/SystemSetting/SettingEffectMgr.cs b/System/SystemSetting/SettingEffectMgr.cs
index e03dbc5..be147ed 100644
--- a/System/SystemSetting/SettingEffectMgr.cs
+++ b/System/SystemSetting/SettingEffectMgr.cs
@@ -99,9 +99,9 @@
      
         if (secondTimer > 1f)
         {
-            secondTimer = 0f;
-            if (isGetNewItem)
+            if(isGetNewItem)
             {
+                secondTimer = 0f;
                 delayTime -= 1;
                 if (delayTime <= 0)
                 {
@@ -161,6 +161,7 @@
             return;
         }
 
+        DealBagItem();
         isGetNewItem = true;
     }
 
@@ -173,7 +174,8 @@
         {
             if (HangUpSetModel.Instance.GetBool(HangUpAutoBoolType.isAutoDevour))
             {
-                if (playerPack.GetCanDevourModellist().Count > 0)
+                List<ItemModel> list = playerPack.GetCanDevourModellist();
+                if (list !=  null &&  list.Count > 0)
                 {
                     playerPack.SendEquipdevourQuest();
                 }
diff --git a/System/Tip/ConfirmCancel.cs b/System/Tip/ConfirmCancel.cs
index c38de9c..2ddce73 100644
--- a/System/Tip/ConfirmCancel.cs
+++ b/System/Tip/ConfirmCancel.cs
@@ -12,6 +12,7 @@
         public static string popConfirmTitle { get; private set; }
         public static string popConfirmInfo { get; private set; }
         public static bool IsSingleConfirm { get; private set; }
+        public static string OKName { get; private set; }
         public static void ShowPopConfirm(string title, string info, Action<bool> func)
         {
             popConfirmTitle = title;
@@ -24,6 +25,7 @@
                 WindowCenter.Instance.Open<PopConfirmWin>();
             }
         }
+     
         public static void ShowPopConfirm(string title, string info, Action func = null)
         {
             popConfirmTitle = title;
@@ -36,6 +38,21 @@
                 WindowCenter.Instance.Open<PopConfirmWin>();
             }
         }
+
+        public static void ShowRealmPopConfirm(string title, string info,string okName,Action func = null)
+        {
+            popConfirmTitle = title;
+            popConfirmInfo = info;
+            OKName = okName;
+            OnPopConfirmClickEvent = null;
+            OnPopSingleConfirmEvent = func;
+            IsSingleConfirm = true;
+            if (!WindowCenter.Instance.CheckOpen<RealmPopConfirmWin>())
+            {
+                WindowCenter.Instance.Open<RealmPopConfirmWin>();
+            }
+        }
+
         #region 甯oggle鐨勭‘璁ゅ彇娑�
         public static string generalTitle;
         public static string generalContent;
diff --git a/System/Tip/RealmPopConfirmWin.cs b/System/Tip/RealmPopConfirmWin.cs
new file mode 100644
index 0000000..6689a3e
--- /dev/null
+++ b/System/Tip/RealmPopConfirmWin.cs
@@ -0,0 +1,87 @@
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Wednesday, November 29, 2017
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+
+    public class RealmPopConfirmWin : Window
+    {
+        [SerializeField] Button popConfirmBtn;
+        [SerializeField] Button popCancelBtn;
+        [SerializeField] RichText popConfirmInfo;
+        [SerializeField] Text popConfirmTitle;
+        [SerializeField] Text confirmText;
+        [SerializeField] Button closeBtn;
+
+        #region Built-in
+        protected override void BindController()
+        {
+        }
+
+        protected override void AddListeners()
+        {
+            popConfirmBtn.onClick.AddListener(OnPopConfirmOkBtn);
+            popCancelBtn.onClick.AddListener(OnPopConfirmCancelBtn);
+            closeBtn.onClick.AddListener(CloseClick);
+        }
+
+        protected override void OnPreOpen()
+        {
+            popCancelBtn.gameObject.SetActive(!ConfirmCancel.IsSingleConfirm);
+
+            popConfirmTitle.text = ConfirmCancel.popConfirmTitle;
+            popConfirmInfo.text = ConfirmCancel.popConfirmInfo;
+            confirmText.text = ConfirmCancel.OKName;
+        }
+
+        protected override void OnAfterOpen()
+        {
+        }
+
+        protected override void OnPreClose()
+        {
+        }
+
+        protected override void OnAfterClose()
+        {
+        }
+        #endregion
+
+        
+
+        void OnPopConfirmOkBtn()
+        {
+            CloseClick();
+            if (ConfirmCancel.OnPopConfirmClickEvent != null)
+            {
+                ConfirmCancel.OnPopConfirmClickEvent(true);
+                return;
+            }
+            if (ConfirmCancel.OnPopSingleConfirmEvent != null)
+            {
+                ConfirmCancel.OnPopSingleConfirmEvent();
+            }
+        }
+
+        void OnPopConfirmCancelBtn()
+        {
+            CloseClick();
+            if (ConfirmCancel.OnPopConfirmClickEvent != null) {
+                ConfirmCancel.OnPopConfirmClickEvent(false);
+            }
+        }
+    }
+
+}
+
+
+
+
diff --git a/System/Tip/RealmPopConfirmWin.cs.meta b/System/Tip/RealmPopConfirmWin.cs.meta
new file mode 100644
index 0000000..c2c58b5
--- /dev/null
+++ b/System/Tip/RealmPopConfirmWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 24190db543b360c46b7e5f9a56e570b4
+timeCreated: 1533959173
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Utility/EnumHelper.cs b/Utility/EnumHelper.cs
index 1ba069f..77eb63a 100644
--- a/Utility/EnumHelper.cs
+++ b/Utility/EnumHelper.cs
@@ -780,6 +780,7 @@
     Def_mitEquipDecompose = 17,    // 瑁呭鍒嗚В
     Def_mitRefine = 18,            // 鐐间腹
     Def_mitMWUpLevel = 19,         //娉曞疂杩涢樁
+    Def_DanRecycle = 20, //涓硅嵂鍥炴敹
 }
 /// <summary>
 /// 閲戦挶绫诲瀷(铏氭嫙鐗╁搧)

--
Gitblit v1.8.0