Ejemplo n.º 1
0
        public ExhibitionDisplay Clone(Action <ICard> discardCard)
        {
            ExhibitionDisplay newED = new ExhibitionDisplay(discardCard);

            newED.Exhibitions = (IExhibitionCard[])Exhibitions.Clone();
            return(newED);
        }
Ejemplo n.º 2
0
        public Game(int playerCount)
        {
            this.Deck = new Deck(GameSettings.Cards, playerCount);

            AvailableCards    = new CardDisplay(DrawCard, Deck.Discard);
            ActiveExhibitions = new ExhibitionDisplay(Deck.Discard);

            DigsiteInventory = new Dictionary <IDigSite, List <IToken> >();
            BonusTokens      = new Dictionary <IDigSite, IToken>();
            foreach (IPlace place in GameSettings.Places)
            {
                if (place is IDigSite)
                {
                    IDigSite digSite = (IDigSite)place;
                    DigsiteInventory.Add(digSite, new List <IToken>());

                    bool bonusTokenAdded = false;
                    foreach (IToken token in digSite.Tokens)
                    {
                        if (!bonusTokenAdded && token is IArtifactToken && ((IArtifactToken)token).Points == 1)
                        {
                            BonusTokens[digSite] = token;
                            bonusTokenAdded      = true;
                        }
                        else
                        {
                            DigsiteInventory[digSite].Add(token);
                        }
                    }
                }
            }

            Time.Configure(playerCount);
        }