public virtual void ChangeTurn() { teamEndTurn(teamsList[CurrentTeamIndex]); CurrentTeamIndex++; CurrentTeamIndex = CurrentTeamIndex < teamsList.Count ? CurrentTeamIndex : 0; teamStartTurn(teamsList[CurrentTeamIndex]); OnTurnChanged.Dispatch(CurrentTeamIndex); }
public void SetTurn(Team team) { if (!turns.ContainsKey(team)) { return; } CurrentTurn?.StopTurn(); CurrentTurn = turns[team]; CurrentTurn?.StartTurn(); OnTurnChanged?.Invoke(CurrentTurn); }
private void HandleMatchUpdated(Match match) { if (match == null) { return; } this.match = match; // If the game is no longer active, don't run any events or game logic if (!match.isActive) { // Run the game over conditions GameOver(); return; } SetupPlayerInsignias(); // Call events OnMarksUpdated?.Invoke(match.marks); OnTurnChanged?.Invoke(match.turn); }
public void SetCurrentTurn(TurnTypes.Turn newTurn) { _currentTurn = newTurn; OnTurnChanged?.Invoke(_currentTurn); }