// Methods protected void Finish() { OnStop(); if (m_AnimCompletedCallback != null) { m_AnimCompletedCallback(); m_AnimCompletedCallback = null; } m_IsPlaying = false; }
public void Play(AnimCompletedCallback i_AnimCompletedCallback = null, AnimEventCallback i_AnimEventCallback = null) { if (m_IsPlaying) { return; } m_IsPlaying = true; m_AnimCompletedCallback = i_AnimCompletedCallback; OnPlay(i_AnimEventCallback); NotifyPlay(i_AnimEventCallback); }
void OnDisable() { if (!m_IsPlaying) { return; } OnStop(); m_TargetTransform = null; m_FollowTransform = false; m_AnimCompletedCallback = null; m_IsPlaying = false; }
public void Stop() { if (!m_IsPlaying) { return; } NotifyStop(); OnStop(); m_TargetTransform = null; m_FollowTransform = false; m_AnimCompletedCallback = null; m_IsPlaying = false; }
public static Effect PlayEffect2D(Effect i_Prefab, Vector2 i_WorldPosition, float i_WorldRotation, AnimCompletedCallback i_CompletedCallback = null) { return(PlayEffect2D(i_Prefab, i_WorldPosition, i_WorldRotation, null, i_CompletedCallback)); }
public static ParticleEffect PlayParticleEffect(ParticleEffect i_Prefab, uint i_Seed, Vector3 i_WorldPosition, Quaternion i_WorldRotation, AnimCompletedCallback i_CompletedCallback = null) { return(PlayParticleEffect(i_Prefab, i_Seed, i_WorldPosition, i_WorldRotation, null, i_CompletedCallback)); }
public static ParticleEffect PlayParticleEffect(ParticleEffect i_Prefab, uint i_Seed, Vector3 i_WorldPosition, Quaternion i_WorldRotation, Transform i_Anchor, AnimCompletedCallback i_CompletedCallback = null) { if (i_Prefab == null) { if (i_CompletedCallback != null) { i_CompletedCallback(); } return(null); } ParticleEffect instance = ObjectPool.SpawnMain <ParticleEffect>(i_Prefab); instance.SetParticleSeed(i_Seed); instance.SetTargetTransform(i_WorldPosition, i_WorldRotation, i_Anchor); instance.Play(i_CompletedCallback); return(instance); }
public static Effect PlayEffect(Effect i_Prefab, Vector3 i_WorldPosition, Quaternion i_WorldRotation, AnimCompletedCallback i_CompletedCallback = null) { return(PlayEffect(i_Prefab, i_WorldPosition, i_WorldRotation, null, i_CompletedCallback)); }
public static Effect PlayEffect(Effect i_Prefab, Vector3 i_WorldPostion, Quaternion i_WorldRotation, Transform i_Anchor, AnimCompletedCallback i_CompletedCallback = null) { if (i_Prefab == null) { if (i_CompletedCallback != null) { i_CompletedCallback(); } return(null); } Effect instance = ObjectPool.SpawnMain <Effect>(i_Prefab); instance.SetTargetTransform(i_WorldPostion, i_WorldRotation, i_Anchor); instance.Play(i_CompletedCallback); return(instance); }
public static Effect PlayRadialEffect2D(Effect i_Prefab, Vector2 i_WorldCenter, Vector2 i_Direction, float i_Radius, Transform i_Anchor, AnimCompletedCallback i_CompletedCallback = null) { if (i_Direction.sqrMagnitude > Mathf.Epsilon) { i_Direction.Normalize(); } else { i_Direction = Vector2.up; } Vector2 worldPosition = i_WorldCenter + i_Direction * i_Radius; Quaternion worldRotation = Quaternion.FromToRotation(Vector2.up, i_Direction); return(PlayEffect(i_Prefab, worldPosition, worldRotation, i_Anchor, i_CompletedCallback)); }
public static ParticleEffect PlayParticleEffect2D(ParticleEffect i_Prefab, uint i_Seed, Vector2 i_WorldPosition, float i_WorldRotation, Transform i_Anchor, AnimCompletedCallback i_CompletedCallback = null) { Vector3 worldPosition = new Vector3(i_WorldPosition.x, i_WorldPosition.y, 0f); Quaternion worldRotation = Quaternion.AngleAxis(i_WorldRotation, Vector3.up); return(PlayParticleEffect(i_Prefab, i_Seed, worldPosition, worldRotation, i_Anchor, i_CompletedCallback)); }
public static Effect PlayRadialEffect2D(Effect i_Prefab, Vector2 i_WorldCenter, Vector2 i_Direction, float i_Radius, AnimCompletedCallback i_CompletedCallback = null) { return(PlayRadialEffect2D(i_Prefab, i_WorldCenter, i_Direction, i_Radius, null, i_CompletedCallback)); }
// INTERNALS private void InternalPlayEffect(Transform i_Parent, Vector3 i_Position, Quaternion i_Rotation, AnimCompletedCallback i_AnimCompletedCallback = null, AnimEventCallback i_AnimEventCallback = null) { if (effect == null) { return; } Effect currentEffect = effect.Spawn <Effect>(i_Parent, i_Position, i_Rotation); spawnedEffect.Add(currentEffect); currentEffect.Play(i_AnimCompletedCallback, i_AnimEventCallback); }
public void PlayEffect(AnimCompletedCallback i_AnimCompletedCallback = null, AnimEventCallback i_AnimEventCallback = null) { InternalPlayEffect(null, Vector3.zero, Quaternion.identity, i_AnimCompletedCallback, i_AnimEventCallback); }
public void PlayEffect(Transform i_Parent, Vector3 i_Position, AnimCompletedCallback i_AnimCompletedCallback = null, AnimEventCallback i_AnimEventCallback = null) { InternalPlayEffect(i_Parent, i_Position, Quaternion.identity, i_AnimCompletedCallback, i_AnimEventCallback); }
public void PlayEffect(Vector3 i_Position, Quaternion i_Rotation, AnimCompletedCallback i_AnimCompletedCallback = null, AnimEventCallback i_AnimEventCallback = null) { InternalPlayEffect(null, i_Position, i_Rotation, i_AnimCompletedCallback, i_AnimEventCallback); }