From fcb50d2249d9b1ef41d2929db4bed6ce3c6db5ee Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 26 十月 2018 20:41:42 +0800
Subject: [PATCH] 3335 【1.2】法宝选择界面的特效同步

---
 System/Treasure/UI3DTreasureSelectStage.cs |   18 ++++++++++++++++++
 System/Treasure/TreasureComponent.cs       |    2 +-
 2 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/System/Treasure/TreasureComponent.cs b/System/Treasure/TreasureComponent.cs
index 7871490..e55d0b9 100644
--- a/System/Treasure/TreasureComponent.cs
+++ b/System/Treasure/TreasureComponent.cs
@@ -728,7 +728,7 @@
                     var animator = highestSfx.GetComponentInChildren<Animator>(true);
                     if (animator != null)
                     {
-                        animator.Play(HUMAN_HIGHEST_STAGE_1, 0, 0);
+                        animator.Play(HUMAN_HIGHEST_STAGE_1, 0, UI3DTreasureSelectStage.sync_normalizedTime);
                     }
                     highestSfx.duration = 0;
                     LayerUtility.SetLayer(highestSfx.gameObject, LayerUtility.UILayer, true);
diff --git a/System/Treasure/UI3DTreasureSelectStage.cs b/System/Treasure/UI3DTreasureSelectStage.cs
index 00ea3a4..9da5c32 100644
--- a/System/Treasure/UI3DTreasureSelectStage.cs
+++ b/System/Treasure/UI3DTreasureSelectStage.cs
@@ -220,6 +220,10 @@
         private Dictionary<TreasureCategory, bool> m_PreloadDict = new Dictionary<TreasureCategory, bool>();
 
         Coroutine preloadCoroutine = null;
+
+        public static float sync_normalizedTime = 0f;
+        const float effect_duration = 4f;
+        float sync_timer = 0f;
         private void InitTreasure()
         {
             Load(TreasureCategory.Human);
@@ -752,6 +756,7 @@
 
         private void LateUpdate()
         {
+            Tick();
             if (!IsOpen || Preloading)
             {
                 return;
@@ -788,6 +793,19 @@
             }
         }
 
+        private void Tick()
+        {
+            sync_normalizedTime = Mathf.Clamp01(sync_timer / effect_duration);
+            if (sync_timer >= effect_duration)
+            {
+                sync_timer = 0f;
+            }
+            else
+            {
+                sync_timer += Time.deltaTime;
+            }
+        }
+
         #region 婊戝姩
         private void CheckDisplay()
         {

--
Gitblit v1.8.0