summaryrefslogtreecommitdiff
path: root/Assets/ActionTool
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/ActionTool')
-rw-r--r--Assets/ActionTool/Editor/ActionData.cs17
1 files changed, 17 insertions, 0 deletions
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<Projectile> m_Projectiles = new List<Projectile>();
+
#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);
+ }
+
}
}