diff options
author | chai <chaifix@163.com> | 2021-08-31 19:07:21 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-08-31 19:07:21 +0800 |
commit | ffd1d5af496e0a0eff343b27c4f0f965bbbf79eb (patch) | |
tree | c5a8ae2116040ce8c483454b2e82093f247db341 /Assets/ActionTool/Editor/ActionData.cs | |
parent | 476abf41a7357db0dd870f0d221f1a26481ab2bf (diff) |
*projectile
Diffstat (limited to 'Assets/ActionTool/Editor/ActionData.cs')
-rw-r--r-- | Assets/ActionTool/Editor/ActionData.cs | 17 |
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);
+ }
+
}
}
|