From 085f98d2a1eef26ddd35fb9641fbf031c14499ef Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 08 七月 2019 11:10:01 +0800
Subject: [PATCH] 3335 修改法宝副本图标动画

---
 System/Dungeon/TreasureDungeonMissionHintWin.cs |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/System/Dungeon/TreasureDungeonMissionHintWin.cs b/System/Dungeon/TreasureDungeonMissionHintWin.cs
index 0423f84..79a6049 100644
--- a/System/Dungeon/TreasureDungeonMissionHintWin.cs
+++ b/System/Dungeon/TreasureDungeonMissionHintWin.cs
@@ -32,6 +32,8 @@
         bool demonTreasureDungeon = false;
         int treasureId = 0;
 
+        Clock clock = null;
+
         TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
         DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
 
@@ -83,6 +85,12 @@
             BossShowModel.Instance.bossShowCompletedEvent -= BossShowCompletedEvent;
             model.demonDungeonChallengeNext -= ChallengeNextEvent;
             m_ContainerDisplay.gameObject.SetActive(true);
+
+            if (clock != null)
+            {
+                Clock.Stop(clock);
+                clock = null;
+            }
         }
 
         protected override void OnAfterClose()
@@ -94,7 +102,7 @@
             base.OnActived();
             if (!BossShowModel.Instance.BossShowing && !demonTreasureDungeon)
             {
-                StartCoroutine(Co_TreasureBehaviour());
+                Co_TreasureBehaviour();
             }
         }
 
@@ -120,21 +128,29 @@
         {
             if (!demonTreasureDungeon)
             {
-                StartCoroutine(Co_TreasureBehaviour());
+                Co_TreasureBehaviour();
             }
         }
 
-        IEnumerator Co_TreasureBehaviour()
+        void Co_TreasureBehaviour()
         {
             m_ScreenMoveTo.transform.SetParentEx(this.transform, Vector3.zero, Vector3.zero, Vector3.one);
             m_ScreenMoveTo.gameObject.SetActive(true);
             m_ScreenMoveTo.enabled = false;
 
-            yield return new WaitForSeconds(1.5f);
-            m_ScreenMoveTo.enabled = true;
-            m_ScreenMoveTo.transform.SetParent(m_ContainerTreasure);
-            m_ScreenMoveTo.destination = Vector2.zero;
-            m_ScreenMoveTo.Begin(false);
+            if (clock != null)
+            {
+                Clock.Stop(clock);
+                clock = null;
+            }
+
+            clock = Clock.AlarmAfter(1.5f, () =>
+              {
+                  m_ScreenMoveTo.enabled = true;
+                  m_ScreenMoveTo.transform.SetParent(m_ContainerTreasure);
+                  m_ScreenMoveTo.destination = Vector2.zero;
+                  m_ScreenMoveTo.Begin(false);
+              });
         }
 
         private void OnNotifyStateEvent(int _skillId, bool _state)

--
Gitblit v1.8.0