IEnumerator PlayCutsceneCo() { Player.Freeze(); if (BossTitle) { BossTitle.text = Boss.Name; } GUI.SetActive(false); playableDirector.Play(); yield return(new WaitForSeconds(TimeBeforeAnimation)); if (CutSceneStartAnimationSignal) { CutSceneStartAnimationSignal.Raise(); } yield return(new WaitForSeconds((float)playableDirector.duration - TimeBeforeAnimation)); GUI.SetActive(true); if (CutsceneFinishedSignal) { CutsceneFinishedSignal.Raise(); } if (BossHealthManager) { BossHealthManager.Initialize(Boss.GetEnemyHealth().MaxHealth, Boss.Name); } Player.Unfreeze(); //TODO: disable data this.gameObject.SetActive(false); yield return(null); }