// Use this for initialization void Start() { player = 1; List <Card> cardDeck1 = new List <Card>(); List <Card> cardDeck2 = new List <Card>(); List <Card> tableDeck = new List <Card>(); int numDecks = 1; while (numDecks <= 2) { for (int i = 0; i < CardDeck.getCardDeck().Length; i++) { cardDeck1.Add(CardDeck.getCardDeck()[i]); } numDecks++; } Debug.Log(cardDeck1.Count); CardDeck.Shuffle <Card>(cardDeck1); CardDeck.Shuffle <Card>(cardDeck1); while (cardDeck2.Count < 48) { cardDeck2.Add(cardDeck1[0]); cardDeck1.RemoveAt(0); } while (tableDeck.Count < 8) { tableDeck.Add(cardDeck1[0]); cardDeck1.RemoveAt(0); } Debug.Log(cardDeck1.Count + ", " + cardDeck2.Count + ", " + tableDeck.Count); DeckScript deckScript1 = GameObject.Find("P1 Deck").GetComponent <DeckScript>(); DeckScript deckScript2 = GameObject.Find("P2 Deck").GetComponent <DeckScript>(); for (int i = 1; i < 9; i++) { HouseScript houseScript; if (i < 5) { houseScript = GameObject.Find("LH" + i + " MainC").GetComponent <HouseScript>(); } else { houseScript = GameObject.Find("RH" + i + " MainC").GetComponent <HouseScript>(); } houseScript.addFirstCardToPile(tableDeck[i - 1]); houseScript.loadCard(); } deckScript1.setDeck(cardDeck1); deckScript2.setDeck(cardDeck2); }