Files
AppleHillsProduction/Assets/Scripts/Cinematics/LevelIntroDirector.cs

43 lines
1.1 KiB
C#
Raw Normal View History

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