Ver código fonte

Merge branch 'master' of http://192.168.123.2:3000/fort23/XY001

李桃 3 meses atrás
pai
commit
109245975c

+ 55 - 6
Assets/Scripts/Core/UI/UTool/UITween/UITweenController.cs

@@ -30,8 +30,21 @@ namespace Core.UI.UTool.UITween
                 StartPlay(false);
             }
         }
+        void OnDrawGizmos()
+        {
+        
+ 
+#if UNITY_EDITOR
+    
+            if (!Application.isPlaying)
+            {
+                UnityEditor.EditorApplication.QueuePlayerLoopUpdate();
+                UnityEditor.SceneView.RepaintAll();
+            }
+#endif
+        }
 
-        public void Play(string animName,bool isChildren)
+        public void Play(string animName, bool isChildren)
         {
             _uiTweenControllers.Clear();
             maxDuration = 0;
@@ -55,8 +68,6 @@ namespace Core.UI.UTool.UITween
 
                     tweenAssetGrpupInfo.StartPlay();
                     _currPlay.Add(tweenAssetGrpupInfo);
-                    
-                    
                 }
             }
 
@@ -175,18 +186,56 @@ namespace Core.UI.UTool.UITween
 
         public void JumpToTime(float t)
         {
+            _currPlay.Clear();
+
             for (int i = 0; i < GrpupInfos.Count; i++)
             {
-                GrpupInfos[i].JumpToTime(t);
+                TweenAssetGrpupInfo tweenAssetGrpupInfo = GrpupInfos[i];
+                tweenAssetGrpupInfo.SetMaxTime();
+                if (tweenAssetGrpupInfo.isActive)
+                {
+                    if (tweenAssetGrpupInfo.maxDuration > maxDuration)
+                    {
+                        maxDuration = tweenAssetGrpupInfo.maxDuration;
+                    }
+                    //
+                    // if (tweenAssetGrpupInfo.isLoop)
+                    // {
+                    //     isLoop = true;
+                    // }
+
+                    tweenAssetGrpupInfo.StartPlay();
+                    _currPlay.Add(tweenAssetGrpupInfo);
+                }
+            }
+
+            for (int i = 0; i < _currPlay.Count; i++)
+            {
+                _currPlay[i].JumpToTime(t);
                 // allTweenInfo[i].Rest();
             }
 
+            for (int i = 0; i < _currPlay.Count; i++)
+            {
+                _currPlay[i].PlayTween(t, true);
+            }
+
+            UITweenController[] uiTweenControllers =
+                gameObject.transform.GetComponentsInChildren<UITweenController>();
+            _uiTweenControllers.AddRange(uiTweenControllers);
+            _uiTweenControllers.Remove(this);
             for (int i = 0; i < _uiTweenControllers.Count; i++)
             {
-                _uiTweenControllers[i].JumpToTime(t);
+                UITweenController uiTweenController = _uiTweenControllers[i];
+                uiTweenController.JumpToTime(t);
+                if (uiTweenController.maxDuration > maxDuration)
+                {
+                    maxDuration = uiTweenController.maxDuration;
+                }
             }
 
-            PlayTween(t, true);
+
+            // PlayTween(t, true);
         }
 
         private void PlayTween(float t, bool isFallBack)