Beispiel #1
0
        public virtual void ChangeTurn()
        {
            teamEndTurn(teamsList[CurrentTeamIndex]);

            CurrentTeamIndex++;
            CurrentTeamIndex = CurrentTeamIndex < teamsList.Count ? CurrentTeamIndex : 0;

            teamStartTurn(teamsList[CurrentTeamIndex]);

            OnTurnChanged.Dispatch(CurrentTeamIndex);
        }
Beispiel #2
0
    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);
    }
Beispiel #4
0
 public void SetCurrentTurn(TurnTypes.Turn newTurn)
 {
     _currentTurn = newTurn;
     OnTurnChanged?.Invoke(_currentTurn);
 }