diff options
Diffstat (limited to 'Assets/Scripts/Unit')
-rw-r--r-- | Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs | 2 | ||||
-rw-r--r-- | Assets/Scripts/Unit/TimelineEventProxy.cs | 38 |
2 files changed, 31 insertions, 9 deletions
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs index 48e8a083..d036c5b4 100644 --- a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs +++ b/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs @@ -187,7 +187,7 @@ public class AnimatorLayerInfo this.m_Animator = animator; this.layer = layer; m_CalcPlaybackTimeCoroutine = unitAnimation.StartCoroutine(CalcPlaybackRealTimeCoroutine()); - m_TimelineEventProxy = new TimelineEventProxy(unitAnimation.owner.transform, unitAnimation.owner); + m_TimelineEventProxy = new TimelineEventProxy(unitAnimation.owner); applySpeedCurve = true; } diff --git a/Assets/Scripts/Unit/TimelineEventProxy.cs b/Assets/Scripts/Unit/TimelineEventProxy.cs index 3310f6cd..6d4650fc 100644 --- a/Assets/Scripts/Unit/TimelineEventProxy.cs +++ b/Assets/Scripts/Unit/TimelineEventProxy.cs @@ -87,10 +87,16 @@ public partial class TimelineEventProxy private AnimationData m_PrevAnimationData;
- public TimelineEventProxy(Transform root, UnitController owner = null) - { - m_Root = root; - this.owner = owner; + public TimelineEventProxy( UnitController owner) + {
+ this.owner = owner;
+ m_Root = owner.transform; + m_PrevAnimationData = null; + } + + public TimelineEventProxy(Transform root)
+ {
+ m_Root = root;
m_PrevAnimationData = null; } @@ -173,13 +179,29 @@ public partial class TimelineEventProxy onClear.gameObject.name = prefab.name + "(Clone)";
if(owner != null)
{
- Quaternion rot = owner.transform.rotation * Quaternion.Euler(effect.rotation);
- Debug.Log(effect.rotation);
- onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, m_Root, effect.position, effect.rotation, effect.scale, 0, false));
+ PlayEffectInfo info = new PlayEffectInfo();
+ info.path = path;
+ info.playEffectType = EffectPlayTypes.Oneshot;
+ info.rootTr = m_Root;
+ info.posOffset = effect.position;
+ info.rot = effect.rotation;
+ info.scale = effect.scale;
+ info.bAttached = true;
+
+ onClear.Initialize(info);
}
else
{
- onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, m_Root, effect.position, effect.rotation, effect.scale, 0, false));
+ PlayEffectInfo info = new PlayEffectInfo();
+ info.path = path;
+ info.playEffectType = EffectPlayTypes.Oneshot;
+ info.rootTr = m_Root;
+ info.posOffset = effect.position;
+ info.rot = effect.rotation;
+ info.scale = effect.scale;
+ info.bAttached = true;
+
+ onClear.Initialize(info);
}
#if UNITY_EDITOR
if (isInEditMode && registerParticleSystem != null)
|