void ConfigureSlots() { var count = gridOfCurretDeck.transform.childCount; for (int i = 0; i < count; i++) { ShowCardInSlot(i); var slot = i; gridOfCurretDeck.transform.GetChild(i).GetComponent <Button>().onClick.AddListener(delegate() { if (IsShowing) { ScriptableCard c = deckEditView.GetCard(); if (c.element == dbHelper.GetActiveMage().element || c.rank < 3) { dbHelper.AddCardInSlot(c.UUID, slot); IsShowing = false; deckEditView.IsShowing = false; playerCardPanel.Populate(); } else { audioSource.PlayOneShot(lowLevelAudio); } ShowCardsForAllSlots(null); } else { deckEditView.gameObject.SetActive(true); deckEditView.SetCard(dbHelper.GetCardFromSlot(slot) as ScriptableCard); deckEditView.IsShowing = true; } }); } manaText.text = string.Format("Custo arcano médio: {0:0.0}", dbHelper.GetActiveDeck().CalculateMana(dbHelper)); }
private void GiveCards() { //var save = SaveManager.CreateNewSave(); //save. var slot = 0; var list = new List <ScriptableCard>(); var exclude = new List <ScriptableCard>(); var cards = new List <ScriptableCard>(); for (int i = 0; i < cardList.cards.Length; i++) { list.Add(cardList.cards[i]); } int c = 4; while (c > 0) { var idx = Random.Range(0, list.Count); var card = list[idx]; if (card.element == dbHelper.GetActiveMage().element || card.rank <= 2) { dbHelper.AddCard(card.UUID, card.title); dbHelper.AddCardInSlot(card.UUID, slot++); cards.Add(card); c--; } else { exclude.Add(card); } list.RemoveAt(idx); } list.AddRange(exclude); exclude.Clear(); c = 4; while (c > 0) { var idx = Random.Range(0, list.Count); var card = list[idx]; if (card.element == dbHelper.GetActiveMage().element) { dbHelper.AddCard(card.UUID, card.title); dbHelper.AddCardInSlot(card.UUID, slot++); cards.Add(card); c--; } else { exclude.Add(card); } list.RemoveAt(idx); } list.AddRange(exclude); c = 4; while (c > 0) { var idx = Random.Range(0, list.Count); var card = list[idx]; dbHelper.AddCard(card.UUID, card.title); cards.Add(card); c--; list.RemoveAt(idx); } }