From cdfc038f08288e20958526880d50ba5a00721337 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期五, 24 八月 2018 17:36:32 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Treasure/TreasureModel.cs |   62 +++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 19 deletions(-)

diff --git a/System/Treasure/TreasureModel.cs b/System/Treasure/TreasureModel.cs
index b832be8..1a27740 100644
--- a/System/Treasure/TreasureModel.cs
+++ b/System/Treasure/TreasureModel.cs
@@ -245,6 +245,7 @@
             FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionStateChange;
             packageModel.RefreshItemCountAct += OnPackageItemChange;
             WindowCenter.Instance.windowAfterOpenEvent += OnWindowOpen;
+            NewBieCenter.Instance.guideCompletedEvent += GuideComplete;
         }
 
         public override void UnInit()
@@ -252,6 +253,7 @@
             achievementModel.achievementProgressUpdateEvent -= OnAchievementProgressUpdate;
             achievementModel.achievementAwardableEvent -= OnAchievementAwardable;
             achievementModel.achievementCompletedEvent -= OnAchievementCompleted;
+            NewBieCenter.Instance.guideCompletedEvent -= GuideComplete;
 
             DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= OnGetSkillLevelUpResult;
             PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= OnTreasurePotentialSPChange;
@@ -392,7 +394,7 @@
             LocalSave.SetInt(StringUtility.Contact(_playerId, _type, "_TreasureUnlockShow"), _id);
         }
 
-        public void SetTreasureStageShow(int _id,int _stage)
+        public void SetTreasureStageShow(int _id, int _stage)
         {
             LocalSave.SetInt(StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID,
                 "_TreasureStageShow_", _id), _stage);
@@ -525,17 +527,7 @@
                             newGotTreasureId = id;
                             treasureEntranceShowId = id;
 
-                            var mapConfig = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID);
-                            if (mapConfig.MapFBType == (int)MapType.OpenCountry)
-                            {
-                                if (WindowCenter.Instance.CheckOpen<MainInterfaceWin>())
-                                {
-                                    if (PreFightMission.Instance.IsFinished())
-                                    {
-                                        WindowCenter.Instance.Open<TreasureNewGotWin>();
-                                    }
-                                }
-                            }
+                            OpenTreasureNewGot();
                         }
 
                         if (treasureCollectingShowId == id)
@@ -845,13 +837,7 @@
         {
             if (_window is MainInterfaceWin)
             {
-                if (newGotTreasureId != 0)
-                {
-                    if (PreFightMission.Instance.IsFinished())
-                    {
-                        WindowCenter.Instance.Open<TreasureNewGotWin>();
-                    }
-                }
+                SnxxzGame.Instance.StartCoroutine(Co_OpenTreasureNewGot());
                 if (needDisplayReguluLevelUp)
                 {
                     CheckReguluPop();
@@ -859,6 +845,44 @@
             }
         }
 
+        void GuideComplete(int _id)
+        {
+            SnxxzGame.Instance.StartCoroutine(Co_OpenTreasureNewGot());
+        }
+
+        IEnumerator Co_OpenTreasureNewGot()
+        {
+            yield return WaitingForSecondConst.WaitMS600;
+            OpenTreasureNewGot();
+        }
+
+        public void CheckOpenTreasureNewGot()
+        {
+            SnxxzGame.Instance.StartCoroutine(Co_OpenTreasureNewGot());
+        }
+
+        private void OpenTreasureNewGot()
+        {
+            if (!(StageManager.Instance.CurrentStage is DungeonStage) || !serverInited)
+            {
+                return;
+            }
+            if (!PreFightMission.Instance.IsFinished() || newGotTreasureId == 0
+                || NewBieCenter.Instance.inGuiding || !WindowCenter.Instance.CheckOpen<MainInterfaceWin>()
+                || WindowCenter.Instance.ExitAnyFullScreenOrMaskWinLEqual(WindowType.Base)
+                || WindowCenter.Instance.CheckOpen<TreasureNewGotWin>())
+            {
+                return;
+            }
+            var dungeonModel = ModelCenter.Instance.GetModel<DungeonModel>();
+            var mapId = dungeonModel.GetDungeonDataIdByMapId(PlayerDatas.Instance.baseData.MapID);
+            if (mapId == 41110)
+            {
+                return;
+            }
+            WindowCenter.Instance.Open<TreasureNewGotWin>();
+        }
+
         private void UpdateSkillLevelUpRedpoint(int _treasureId)
         {
             if (treasures.ContainsKey(_treasureId))

--
Gitblit v1.8.0