private void GiveCharacters(List <Character> characters, CharacterOwner characterOwner) { foreach (Character character in characters) { characterOwner.AddOwnedCharacter(character); } }
private void Start() { players.Clear(); InitializePlayersAndCharacters(); currentPlayer = players[0]; players[0].OnTurnGiven(); }
public void CheckForComputerTurnSkip() { if (Input.GetKeyDown(Constants.SKIP_COMPUTER_TURN_KEY)) { currentPlayer = players.Find(player => player is HumanPlayer); currentPlayer.OnTurnGiven(); } }
public void CheckForCurrentPlayerLoss() { if (currentPlayer.HaveAllCharactersDied()) { currentPlayer.Lose(); CharacterOwner playerWhoLost = currentPlayer; GiveTurnToNextPlayer(); players.Remove(playerWhoLost); } }
public void GiveTurnToNextPlayer() { currentPlayer.MakeOwnedCharactersUnplayable(); int nextPlayerIndex = players.IndexOf(currentPlayer) + 1; if (nextPlayerIndex >= players.Count) { nextPlayerIndex = 0; } if (players.ElementAt(nextPlayerIndex) != null) { currentPlayer = players.ElementAt(nextPlayerIndex); } }
public bool HasWon(CharacterOwner characterOwner) { return(players.Contains(characterOwner) && players.Count <= 1); }