You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using System.Collections;
|
|
using Unity.Multiplayer.Samples.Utilities;
|
|
using UnityEngine;
|
|
using static TMPro.SpriteAssetUtilities.TexturePacker_JsonArray;
|
|
|
|
public class TimerScript : MonoBehaviour
|
|
{
|
|
[SerializeField] private SynchronizedTimer timer;
|
|
public ServerAdditiveSceneLoader serverAdditiveSceneLoader;
|
|
public int timeInSeconds=180;
|
|
void Start()
|
|
{
|
|
if (timer != null)
|
|
{
|
|
timer.OnTimerEnd += HandleTimerEnd; // Subscribe to the event
|
|
StartCoroutine(Starter());
|
|
}
|
|
}
|
|
IEnumerator Starter()
|
|
{
|
|
yield return new WaitUntil(() => serverAdditiveSceneLoader.m_SceneState == ServerAdditiveSceneLoader.SceneState.Loaded);
|
|
if (Unity.Netcode.NetworkManager.Singleton.IsServer)
|
|
{
|
|
timer.StartTimerServerRpc(timeInSeconds); // Start a 3-minute timer
|
|
}
|
|
}
|
|
private void HandleTimerEnd()
|
|
{
|
|
Debug.Log("Timer has ended!");
|
|
// Add logic for what happens when the timer ends
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
if (timer != null)
|
|
{
|
|
timer.OnTimerEnd -= HandleTimerEnd; // Unsubscribe to avoid memory leaks
|
|
}
|
|
}
|
|
}
|