summaryrefslogtreecommitdiff
path: root/Assets/ActionTool/Editor/ActionData.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-08-31 19:07:21 +0800
committerchai <chaifix@163.com>2021-08-31 19:07:21 +0800
commitffd1d5af496e0a0eff343b27c4f0f965bbbf79eb (patch)
treec5a8ae2116040ce8c483454b2e82093f247db341 /Assets/ActionTool/Editor/ActionData.cs
parent476abf41a7357db0dd870f0d221f1a26481ab2bf (diff)
*projectile
Diffstat (limited to 'Assets/ActionTool/Editor/ActionData.cs')
-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);
+ }
+
}
}