void StartTimer() { Debug.Assert(_timerCoroutine == null, $"[{GetType()}] Timer is already working", this); TimeStarted?.Invoke(_gameDurationSeconds); _timerCoroutine = StartCoroutine(TimerProgress(_gameDurationSeconds)); }