From 6a371f257088a8f18624b1a12db8bcc1564c9594 Mon Sep 17 00:00:00 2001
From: QD-PangDeRong <593317293@qq.com>
Date: 星期四, 09 八月 2018 20:06:28 +0800
Subject: [PATCH] 【2222】增加乾坤袋使用逻辑

---
 System/KnapSack/Logic/PackModelInterface.cs |   52 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/System/KnapSack/Logic/PackModelInterface.cs b/System/KnapSack/Logic/PackModelInterface.cs
index b7afcd7..fe54c49 100644
--- a/System/KnapSack/Logic/PackModelInterface.cs
+++ b/System/KnapSack/Logic/PackModelInterface.cs
@@ -458,16 +458,6 @@
                 return isReach;
             }
 
-            if(itemModel.itemId == 952)
-            {
-                int willTime = HangUpSetModel.Instance.offlinePluginTime + itemModel.chinItemModel.EffectValueA1;
-                if (HangUpSetModel.Instance.offlinePluginTime >= HangUpSetModel.Instance.maxOfflinePluginTime)
-                {
-                    isReach = false;
-                    return isReach;
-                }
-            }
-
             bool isBox = false;
             bool isCanOpen = ModelCenter.Instance.GetModel<BoxGetItemModel>().CheckOpenBoxCondition(itemModel.itemId,out isBox);
             if(isBox)
@@ -555,7 +545,47 @@
                     break;
             }
 
+            switch(itemModel.itemId)
+            {
+                case 951:
+                    if(!CheckIsExtendGrid(itemModel.itemId))
+                    {
+                        isReach = false;
+                        return isReach;
+                    }
+                    break;
+                case 952:
+                    int willTime = HangUpSetModel.Instance.offlinePluginTime + itemModel.chinItemModel.EffectValueA1;
+                    if (HangUpSetModel.Instance.offlinePluginTime >= HangUpSetModel.Instance.maxOfflinePluginTime)
+                    {
+                        isReach = false;
+                        return isReach;
+                    }
+                    break;
+            }
+
             return isReach;
+        }
+
+        private bool CheckIsExtendGrid(int itemId)
+        {
+            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
+            if (singlePack == null) return false;
+
+            int startLockIndex = singlePack.openGridCount - GetInitGridCount(PackType.rptItem);
+            FuncConfigConfig _tagFuncModel = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("OpenBagItem");
+            int haveCount = playerPack.GetItemCountByID(PackType.rptItem,itemId);
+            Equation.Instance.Clear();
+            Equation.Instance.AddKeyValue("index", startLockIndex + 1);
+            int needTool = Equation.Instance.Eval<int>(_tagFuncModel.Numerical2);
+            if (haveCount >= needTool)
+            {
+                return true;
+            }
+            else
+            {
+                return false;
+            }
         }
 
         public event Action<string> RefreshGetBetterEquipEvent; //寰楀埌鏇村ソ鐨勮澶� value 鐗╁搧鐨勫疄渚婭D
@@ -700,7 +730,7 @@
 
         #region 瑙i攣鏍煎瓙
 
-        private int GetInitGridCount(PackType type)
+        public int GetInitGridCount(PackType type)
         {
             FuncConfigConfig initGridCount = null;
             if (type == PackType.rptItem)

--
Gitblit v1.8.0