public void LoadDeck(string deckName = "") { bool failed = false; // Get Deck Name if (deckName == "") { deckName = deckDropdown.options[deckDropdown.value].text; } // Reset counts on bankCards and destroy current deck ResetBankCounts(); ClearDeck(); // Load deck_entry list scr_Deck_Data.Save_Data savedDeck = Database.Instance.decks.LoadDeck(deckName); // Handle deck size and name deckSize = savedDeck.deckSize; //this.deckName = savedDeck.deckName; // Re-populate deckCards foreach (scr_Deck_Data.Card_Entry cardEntry in savedDeck.cardList) { //Get card from database Inventory_Item cardItem = Database.Instance.GetInventoryCard(cardEntry.ID); if (cardItem == null) { failed = true; break; } Card_Editor card = InstantiateCard(cardItem, GameObject.Find("DeckContent").transform, Card_Editor.enum_cardArea.Deck); card.AddUseCount(cardEntry.count); deckCards[card] = cardEntry.count; Card_Editor bankCard = GetOtherCard(Card_Editor.enum_cardArea.Deck, card.data.ID); if (bankCard != null) { bankCards[bankCard] -= cardEntry.count; bankCard.AddUseCount(cardEntry.count); } else { // Bank card does not exist. Hacking is afoot?! Debug.Log("Loading deck with cards player does not own!"); failed = true; break; } } if (failed) { //Cleanup, should go back to old state of Bank and Deck. But that's annoying. ResetBankCounts(); ClearDeck(); } SetCurrentDeckName(deckName); ReorganizeCards(); }
public void Init(string deckName) { Object masterCard = Resources.Load("Prefabs/Cards/Pf_Card_Game") as GameObject; scr_Deck_Data.Save_Data deckSave = Database.Instance.decks.LoadDeck(deckName); // Make cards foreach (scr_Deck_Data.Card_Entry card in deckSave.cardList) { //Get Card Data from ID in savefile Card_Data cardData = Database.Instance.GetInventoryCard(card.ID).card; //Create correct number of cards for (int i = 0; i < card.count; i++) { GameObject cardCopy = Instantiate(masterCard) as GameObject; cardCopy.GetComponent <Card_Game>().InitData(cardData); cardCopy.transform.SetParent(gameObject.transform); cardCopy.SetActive(false); cards.Add(cardCopy); } } }