42 lines
1.2 KiB
C#

using UnityEngine;
public class TimerManager : MonoBehaviour
{
[SerializeField] Timer player1Timer, player2Timer;
[SerializeField] float vsBotTime = 180;
[SerializeField] float pvpTime = 90;
public void Init()
{
player1Timer.OnTimerEnded.AddListener(EndOfTurnHandler.WinByTimerHandling);
player2Timer.OnTimerEnded.AddListener(EndOfTurnHandler.WinByTimerHandling);
}
public void SetupTimers(GameMode gameMode)
{
player1Timer.SetupTimer(gameMode == GameMode.pve ? vsBotTime : pvpTime);
if (gameMode == GameMode.pvp)
player2Timer.SetupTimer(pvpTime);
SetTimersActivity(gameMode);
}
public void SetTimersActivity(GameMode gameMode)
{
bool activateSecondTimer = gameMode == GameMode.pvp;
player1Timer.gameObject.SetActive(true);
player2Timer.gameObject.SetActive(activateSecondTimer);
}
public void StopAllTimers()
{
player1Timer.StopTimer();
player2Timer.StopTimer();
}
public void SetActiveTimer(CellState currentPlayer)
{
(currentPlayer == CellState.Player1 ? player1Timer : player2Timer).StartTimer();
(currentPlayer == CellState.Player1 ? player2Timer : player1Timer).StopTimer();
}
}