public void SelectTribe(Tribe tribe) { // TODO: Check so tribe exist in available tribes _active = tribe; _game.AvailableTribes.Remove(tribe); _tokens = tribe.StartingTokens; }
public void SelectNewIfNeeded() { if (HasActiveTribe) { return; } // TODO: Pay for the selected tribe _active = _player.SelectTribe(_availableTribes.Tribes); _availableTribes.Remove(_active); _tokensInHand = _active.StartingTokens; _listener.PlayerSelectedTribe(_player, _active); }
public void Decline() { if (HasDecliningTribe) { // 1. Remove all declining tribe tokens foreach (var region in _board.Regions.Where(OccupiedByDecliningRace)) { region.Extinct(); } } // 2. Remove all but one active tribe tokens foreach (var region in RegionsOccupiedByActiveRace) { region.PickUpAllButOne(); } // 3. Let the active become the declining _declining = _active; _active = null; }
public void PlayerSelectedTribe(IPlayer player, Tribe tribe) { }
public void Remove(Tribe tribe) { _tmp.Remove(tribe); }