using System.Collections; using Unity.Multiplayer.Samples.Utilities; using Unity.Netcode; using UnityEngine; public class TimerScript : MonoBehaviour { [SerializeField] private SynchronizedTimer timer; public ServerAdditiveSceneLoader serverAdditiveSceneLoader; public int timeInSeconds = 180; void Start() { if (timer != null) { timeInSeconds = 1200; timer.OnTimerEnd += HandleTimerEnd; Debug.Log("Timer started call sent"); StartCoroutine(Starter()); } } IEnumerator Starter() { yield return new WaitUntil(() => serverAdditiveSceneLoader.m_SceneState == ServerAdditiveSceneLoader.SceneState.Loaded); if (NetworkManager.Singleton.IsServer) { yield return new WaitForSeconds(2.5f); Debug.Log("Timer started call sent2"); timer.StartTimerServer(timeInSeconds); } } private void HandleTimerEnd() { Debug.Log("Timer has ended!"); Scoreboard.instance.FinalLeaderBoard(); } private void OnDestroy() { if (timer != null) { timer.OnTimerEnd -= HandleTimerEnd; } } }