using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Playables; namespace InfallibleCode { public class UseFuseBoxLever : MonoBehaviour, IInteractable { [Header("Cutscene ending")] [SerializeField] private PlayableDirector _cutsceneEnding; [Header("Lever")] private Animator _leverAnimator; public bool _leverIsDown; //Accesible from other scripts for events. private void Awake() { _leverAnimator = GetComponent(); } public void UseLever() { if (!_leverIsDown) { _leverAnimator.Play("FuseBoxLeverDown"); StartCoroutine(PlayEndingCutscene()); _leverIsDown = true; } //else //{ // _leverAnimator.Play(""); // _leverIsDown = false; //} } IEnumerator PlayEndingCutscene() { _cutsceneEnding.Play(); PlayerManager.GetInstance().DisablePlayerMovement(); PlayerManager.GetInstance().DisablePlayerMovement(); yield return new WaitForSeconds(5.30f); PlayerDeath.GetInstance().LowSanityGhostKillsPlayer(); } public void Interact() { UseLever(); } } }