diff options
Diffstat (limited to 'Assets/Scripts/Unit/TimelineEventProxy.cs')
-rw-r--r-- | Assets/Scripts/Unit/TimelineEventProxy.cs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/Assets/Scripts/Unit/TimelineEventProxy.cs b/Assets/Scripts/Unit/TimelineEventProxy.cs index 2c5bf608..a8918e39 100644 --- a/Assets/Scripts/Unit/TimelineEventProxy.cs +++ b/Assets/Scripts/Unit/TimelineEventProxy.cs @@ -169,7 +169,15 @@ public partial class TimelineEventProxy go.transform.SetParent(root.transform); FxClear onClear = root.AddComponent<FxClear>();
onClear.gameObject.name = prefab.name + "(Clone)";
- onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, m_Root, effect.position, effect.rotation, effect.scale, 0, false));
+ if(owner != null)
+ {
+ Quaternion rot = owner.transform.rotation * Quaternion.Euler(effect.rotation);
+ onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, m_Root, effect.position, rot.eulerAngles, effect.scale, 0, false));
+ }
+ else
+ {
+ onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, m_Root, effect.position, effect.rotation, effect.scale, 0, false));
+ }
#if UNITY_EDITOR
if (isInEditMode && registerParticleSystem != null)
{
@@ -214,8 +222,15 @@ public partial class TimelineEventProxy info.position = m_Root.transform.position + e.posOffset;
info.rotation = e.rotation;
info.scale = e.scale;
- info.velocity = e.velocity;
- info.acceleration = e.acceleration;
+ if (owner)
+ {
+ info.velocity = owner.transform.rotation * e.velocity;
+ }
+ else
+ {
+ info.velocity = e.velocity;
+ }
+ info.acceleration = e.acceleration;
info.lifetime = e.lifeTime;
info.sparkPath = e.sparkPath;
projectile.Initialize(info);
|