Exemple #1
0
        public bool TrySwitchTurn(GameObject entity)
        {
            if (!entity.IsOwnedByPlayer() || !CanSwitchTurns(Acting, entity))
            {
                return(false);
            }

            AnyCombatTurnEnded?.Invoke(Acting);

            StartTurn(entity);

            return(true);
        }
Exemple #2
0
        public void EndTurn(GameObject entity)
        {
            if (!IsEntityTurn(entity))
            {
                return;
            }

            Queue.Remove(entity);
            Acting = null;

            AnyCombatTurnEnded?.Invoke(entity);

            if (Queue.Count == 0)
            {
                AnyCombatTeamTurnEnded?.Invoke(this);
                NextRound();
                return;
            }

            StartTurn(Queue.First());
        }