using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClockEvent : MonoBehaviour { [SerializeField] EventTrigger eventTrigger; private bool isCheckingForClockSolution; public void UpdateClockSolution() { isCheckingForClockSolution = true; StartCoroutine(UpdateClockEvent()); } IEnumerator UpdateClockEvent() { while (isCheckingForClockSolution) { if (ClockController.GetInstance().IsCorrectTime()) { CorrectClockEvent(); } yield return null; } } public void CorrectClockEvent() { ClockController.GetInstance().isInPresent = !ClockController.GetInstance().isInPresent; if (ClockController.GetInstance().isInPresent) { ClockController.GetInstance().timeTravelVfxAnimator.SetBool("IsTravelingToPast", false); } else { ClockController.GetInstance().timeTravelVfxAnimator.SetBool("IsTravelingToPast", true); } eventTrigger.Invoke(); print("Time Puzzle solved"); isCheckingForClockSolution = false; } public void ForceCorrectTime() { CorrectClockEvent(); ClockController.GetInstance().CorrectTime(); } }