using UnityEngine; using Core; using Core.Lifecycle; using UnityEngine.Playables; using Input; public class LevelIntroDirector : ManagedBehaviour { public bool playOnSceneReady; [HideInInspector] public PlayableDirector introPlayableDirector; internal override void OnSceneReady() { base.OnSceneReady(); introPlayableDirector = GetComponent(); introPlayableDirector.stopped += IntroTimelineStopped; if (playOnSceneReady) { PlayIntroTimeline(); } } private void IntroTimelineStopped(PlayableDirector director) { InputManager.Instance.SetInputMode(InputMode.Game); } public void PlayIntroTimeline() { introPlayableDirector.Play(); InputManager.Instance.SetInputMode(InputMode.InputDisabled); } }