using UnityEngine; using UnityEngine.Playables; using UnityEngine.UI; public class IntroCinematicsPlayer : MonoBehaviour { public bool ShouldPlayIntro; private Image introRenderer; private PlayableDirector director; private Animator animation; void OnEnable() { // Get the director and subscribe to when it stops playing director = GetComponent(); introRenderer = GetComponent(); director.stopped += OnPlayableDirectorStopped; animation = GetComponent(); } // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { //Play the intro and unhide the Canvas object if intro is enabled if (ShouldPlayIntro) { introRenderer.enabled = true; director.Play(); animation.enabled = true; } ; //Disable the intro Canvas object if intro is disabled if (!ShouldPlayIntro) { director.Stop(); introRenderer.enabled = false; animation.enabled = false; } ; } void OnPlayableDirectorStopped(PlayableDirector aDirector) { // Disable the introsequence gameobject when intro is finished playing introRenderer.enabled = false; } // Update is called once per frame void Update() { } }