From ffd1d5af496e0a0eff343b27c4f0f965bbbf79eb Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 31 Aug 2021 19:07:21 +0800 Subject: *projectile --- Assets/ActionTool/Editor/ActionData.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'Assets/ActionTool/Editor/ActionData.cs') diff --git a/Assets/ActionTool/Editor/ActionData.cs b/Assets/ActionTool/Editor/ActionData.cs index 03dc6b86..2c75ad92 100644 --- a/Assets/ActionTool/Editor/ActionData.cs +++ b/Assets/ActionTool/Editor/ActionData.cs @@ -22,6 +22,8 @@ namespace ActionTool private TimelineEventProxy m_TimelineEventProxy; + private static List m_Projectiles = new List(); + #region metadata private float m_TotalFrame; //timeline采样的总帧数 public float totalFrame { get { return m_TotalFrame; } } @@ -84,7 +86,10 @@ namespace ActionTool m_PrevLocalTime = 0; m_Animator.Play(kStateName, 0, 0); m_RootMotion = rootmotion; + m_TimelineEventProxy = new TimelineEventProxy(animator.gameObject.transform); + m_TimelineEventProxy.isInEditMode = true; + m_TimelineEventProxy.registerProjectile = RegisterProjectile; } public void SetCurrentAnimTime(float time) @@ -179,6 +184,13 @@ namespace ActionTool m_CurAnimFrame %= m_TotalFrame; } + for (int i = 0; i < m_Projectiles.Count; ++i) + { + if (m_Projectiles[i] == null) + continue; + m_Projectiles[i].Update((float)(EditorApplication.timeSinceStartup - m_PrevLocalTime)); + } + ActionManager.gizmos.SetCurAnimFrame(m_CurAnimFrame); SampleFrame(); @@ -287,6 +299,11 @@ namespace ActionTool m_SampleRate = 0; } + public static void RegisterProjectile(Projectile projectile) + { + m_Projectiles.Add(projectile); + } + } } -- cgit v1.1-26-g67d0