public void Start() { if (Application.GameSeed != null) { Seed = Application.GameSeed.Value; } Debug.Log(String.Format("[Game] Starting (Seed: {0})", Seed)); random = new System.Random(Seed); Stack <Card> cardStack = new Stack <Card>(CreateDeck()); for (int foundationPileIndex = 0; foundationPileIndex < Configuration.CardTypes.Count; foundationPileIndex++) { CreateFoundationPile(); } foreach (int pileCardSize in Configuration.Tableau) { TableauCardPile tableauPile = CreateTableauPile(); for (int pileCardIndex = 0; pileCardIndex < pileCardSize; pileCardIndex++) { tableauPile.Push(cardStack.Pop()); } Card topCard = tableauPile.Peek(); if (topCard != null) { topCard.Visible = true; } } foreach (Card card in cardStack) { stock.Push(card); } }
private TableauCardPile CreateTableauPile() { TableauCardPile tableauPile = Instantiate(tableauPilePrefab).GetComponent <TableauCardPile>(); tableauPile.CardMaxNumber = Configuration.CardMaxNumber; tableauPile.transform.SetParent(tableau); return(tableauPile); }