void LoadDeck(string deckName) { Dictionary <int, int>[] loadedDeck = DeckRW.loadDeck(deckName); foreach (int index in loadedDeck[0].Keys) { if (index != -1) { if (loadedDeck[0][index] == 0) { Debug.LogError("Saved count 0"); } //Debug.Log(loadedDeck[0][index]); addCard(index, deckCards.main[index].GetComponent <Cardmaker>(), deckType.main, loadedDeck[0][index]); } } if (loadedDeck.Length > 1) { foreach (int index in loadedDeck[1].Keys) { if (index != -1) { //Debug.Log(index); if (loadedDeck[1][index] == 0) { Debug.LogError("Saved count 0"); } addCard(index, deckCards.structures[index].GetComponent <Cardmaker>(), deckType.structure, loadedDeck[1][index]); } } } }
void createPlayableCards() { string[] decksMade = DeckRW.getDecks(); for (int i = 0; i < decksMade.Length; i++) { GameObject d = Instantiate(deckPre, decksMadeList.transform); DeckUI dui = d.GetComponent <DeckUI>(); dui.assignName(decksMade[i], this); } //foreach(GameObject c in deckCards.main) for (int i = 0; i < deckCards.main.Count; i++) { GameObject c = deckCards.main[i]; Cardmaker mkr = c.GetComponent <Cardmaker>(); GameObject card = Instantiate(buildCardPre, mainCardList.transform); card.GetComponent <BuildCard>().initalize(mkr, i, this, deckType.main); } for (int i = 0; i < deckCards.structures.Count; i++) { GameObject c = deckCards.structures[i]; Cardmaker mkr = c.GetComponent <Cardmaker>(); GameObject card = Instantiate(buildCardPre, strcCardList.transform); card.GetComponent <BuildCard>().initalize(mkr, i, this, deckType.structure); } mainCardScroll.GetComponent <ScrollRect>().verticalNormalizedPosition = 1; strcCardScroll.GetComponent <ScrollRect>().verticalNormalizedPosition = 1; decksMadeScroll.GetComponent <ScrollRect>().verticalNormalizedPosition = 1; }
void findClientDeck() { GameObject exp; exp = GameObject.FindGameObjectWithTag("DeckExport"); if (exp) { //exp.GetComponent<DeckExport>().printDeck(); Dictionary <int, int>[] deck = exp.GetComponent <DeckExport>().getDeck(); CmdSubmitDeck(DeckRW.writeDeck(deck[0], deck[1])); } }
public void exportDeck() { if (currentEditingDeck == "") { return; } GameObject exp; exp = GameObject.FindGameObjectWithTag("DeckExport"); if (!exp) { exp = Instantiate(deckExportPre); } exp.GetComponent <DeckExport>().holdDeck(DeckRW.loadDeck(currentEditingDeck)); }
//void CmdSubmitDeck(Dictionary<int, int> deckMaine, Dictionary<int, int> deckStrc ) void CmdSubmitDeck(string deckStr) { Dictionary <int, int>[] deck = DeckRW.readDeck(deckStr); bool checkDeck(Dictionary <int, int> deckL, bool isMain) { int totalCount = 0; foreach (int card in deckL.Keys) { if (card < 0) { return(false); } if ((isMain && card >= playableCards.main.Count) || (!isMain && card >= playableCards.structures.Count)) { return(false); } if (deckL[card] > GameConstants.maxCardDuplicateLimit) { return(false); } totalCount += deckL[card]; } if (totalCount != (isMain? GameConstants.mainDeckSize:GameConstants.structureDeckSize)) { return(false); } return(true); } if (!checkDeck(deck[0], true) || !checkDeck(deck[1], false)) { return; } loadedDeck = ScriptableObject.CreateInstance <Deck>(); loadedDeck.main = deckLookup(deck[0], true); loadedDeck.structures = deckLookup(deck[1], false); }
bool SaveDeck(string deckName) // true if new { Dictionary <int, int> finalMainDeck = new Dictionary <int, int>(); Dictionary <int, int> finalStrcDeck = new Dictionary <int, int>(); foreach (int index in currentMainDeckList.Keys) { if (currentMainDeckList[index]) { //Debug.Log(currentMainDeckList[index].count); finalMainDeck.Add(index, currentMainDeckList[index].count); } } foreach (int index in currentStrcDeckList.Keys) { if (currentStrcDeckList[index]) { finalStrcDeck.Add(index, currentStrcDeckList[index].count); } } return(DeckRW.saveDeck(deckName, finalMainDeck, finalStrcDeck)); }