using Pixelplacement; using Pixelplacement.TweenSystem; using UnityEngine; public class soundBird_TakeOffBehaviour : MonoBehaviour { public Spline FlightSpline; public Transform SoundBirdObject; public float flightDuration; public float flightDelay; private StateMachine stateMachine; private Animator animator; private TweenBase objectTween; void Awake() { stateMachine = GetComponentInParent(); animator = GetComponentInParent(); } // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { //initiateTweenSpline(); } private void OnEnable() { animator.SetBool("isScared", true); objectTween = Tween.Spline(FlightSpline, SoundBirdObject, 0, 1, false, flightDuration, flightDelay, Tween.EaseIn, Tween.LoopType.None, HandleTweenStarted, HandleTweenFinished); } void HandleTweenStarted() { } void HandleTweenFinished() { if (SoundBirdObject != null) { objectTween.Cancel(); // Stop the spline tween for this object } //Logging.Debug("Tween finished!"); if (stateMachine != null) { stateMachine.ChangeState("SoundBirdFlyAround"); // Change to the desired state name } } }