public ExhibitionDisplay Clone(Action <ICard> discardCard) { ExhibitionDisplay newED = new ExhibitionDisplay(discardCard); newED.Exhibitions = (IExhibitionCard[])Exhibitions.Clone(); return(newED); }
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); }