From 85ea0c104fae8c41965a5bc160ed0490e274a6c6 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期三, 31 十月 2018 14:22:33 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Treasure/TreasureModel.cs |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/System/Treasure/TreasureModel.cs b/System/Treasure/TreasureModel.cs
index e3c61a2..6034281 100644
--- a/System/Treasure/TreasureModel.cs
+++ b/System/Treasure/TreasureModel.cs
@@ -213,6 +213,7 @@
         public float treasureBackPercent { get; private set; }
         public int treasureExitLvLimit { get; private set; }
         public int exitRecord { get; set; }
+        public int entranceOpenCondition { get; private set; }
 
         public List<int> cacheGotAchievements {
             get { return m_CacheGotAchievements; }
@@ -1448,6 +1449,9 @@
 
             funcConfig = Config.Instance.Get<FuncConfigConfig>("TreasureNoOpen");
             treasureUnOpens.AddRange(ConfigParse.GetMultipleStr<int>(funcConfig.Numerical1));
+
+            funcConfig = Config.Instance.Get<FuncConfigConfig>("OpenFabao");
+            entranceOpenCondition = int.Parse(funcConfig.Numerical1);
         }
 
         const string pattern = "\\\"[0-9]+\\\":\\[[0-9|,]*\\]";
@@ -1573,6 +1577,48 @@
             }
             return 0;
         }
+
+        public bool SatisfyEntranceOpen()
+        {
+            var list = GetTreasureCategory(TreasureCategory.Human);
+            if (list != null && list.Count > 1)
+            {
+                if (treasures.ContainsKey(list[1]))
+                {
+                    if (treasures[list[1]].state != TreasureState.Locked)
+                    {
+                        return true;
+                    }
+                }
+            }
+            var taskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>();
+            var missions = taskModel.MainTaskDic;
+            if (missions != null)
+            {
+                foreach (var missionId in missions.Keys)
+                {
+                    if (missionId > entranceOpenCondition)
+                    {
+                        return true;
+                    }
+                    else if (missionId == entranceOpenCondition)
+                    {
+                        return missions[missionId].MissionState == 3;
+                    }
+                }
+                return false;
+            }
+            return true;
+        }
+
+        public void DisplayEntranceLimitHint()
+        {
+            var taskConfig = Config.Instance.Get<PyTaskConfig>(entranceOpenCondition);
+            if (taskConfig != null)
+            {
+                SysNotifyMgr.Instance.ShowTip("OpenFabaoHint", taskConfig.lv);
+            }
+        }
     }
 
 }

--
Gitblit v1.8.0