예제 #1
0
 public void SelectTribe(Tribe tribe)
 {
     // TODO: Check so tribe exist in available tribes
     _active = tribe;
     _game.AvailableTribes.Remove(tribe);
     _tokens = tribe.StartingTokens;
 }
예제 #2
0
 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);
 }
예제 #3
0
        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;
        }
예제 #4
0
 public void PlayerSelectedTribe(IPlayer player, Tribe tribe)
 {
 }
예제 #5
0
 public void Remove(Tribe tribe)
 {
     _tmp.Remove(tribe);
 }