public void Edit() { for (int i = SC_DeckBuilder.deckCards.Count; i > 0; i--) { SC_DeckBuilder.TryAddRemove(SC_DeckBuilder.deckCards.Keys.ElementAt(0), false); } foreach (SC_BaseCard c in SC_Global.CodeToCardsList(SelectedDeck.Deck)) { SC_DeckBuilder.TryAddRemove(c, true); } gameObject.SetActive(false); deckBuilder.Show(true); }
public void Setup() { Instance = this; deckCards = new Dictionary <SC_BaseCard, SC_DeckBuilder_DeckCard> (); size = Resources.Load <RectTransform> ("Prefabs/Cards/P_UI_Card").sizeDelta *searchCardSize; dropdownFilters = transform.GetComponentsInChildren <TMP_Dropdown> (); minMaxFilters = new MinMaxFilter[] { matchHeatFilter, attackCardStaminaCost, attackCardBodyPartsCostValue, attackCardBodyPartsDamageValue, offensiveMoveHealthCost, offensiveMoveStaminaDamage, offensiveMoveHealthDamage, submissionStaminaReduction, submissionBreakCost }; #region Setup Min Max Filters for (int i = 1; i < minMaxFilters.Length; i++) { minMaxFilters[i].min = 50; minMaxFilters[i].max = 0; } #region Set minimum and maximum attack filter values foreach (SC_BaseCard c in allCards) { SC_AttackCard a = c as SC_AttackCard; if (a) { attackCardStaminaCost.min = Mathf.Min(attackCardStaminaCost.min, a.cost.stamina); attackCardStaminaCost.max = Mathf.Max(attackCardStaminaCost.max, a.cost.stamina); attackCardBodyPartsCostValue.min = Mathf.Min(attackCardBodyPartsCostValue.min, a.cost.bodyPartDamage.damage); attackCardBodyPartsCostValue.max = Mathf.Max(attackCardBodyPartsCostValue.max, a.cost.bodyPartDamage.damage); int bpDamage = ((a as SC_OffensiveMove)?.effect.bodyPartDamage ?? (a as SC_Submission).effect.bodyPartDamage).damage; attackCardBodyPartsDamageValue.min = Mathf.Min(attackCardBodyPartsDamageValue.min, bpDamage); attackCardBodyPartsDamageValue.max = Mathf.Max(attackCardBodyPartsDamageValue.max, bpDamage); SC_OffensiveMove o = c as SC_OffensiveMove; if (o) { offensiveMoveHealthCost.min = Mathf.Min(offensiveMoveHealthCost.min, o.cost.health); offensiveMoveHealthCost.max = Mathf.Max(offensiveMoveHealthCost.max, o.cost.health); offensiveMoveStaminaDamage.min = Mathf.Min(offensiveMoveStaminaDamage.min, o.effect.stamina); offensiveMoveStaminaDamage.max = Mathf.Max(offensiveMoveStaminaDamage.max, o.effect.stamina); offensiveMoveHealthDamage.min = Mathf.Min(offensiveMoveHealthDamage.min, o.effect.health); offensiveMoveHealthDamage.max = Mathf.Max(offensiveMoveHealthDamage.max, o.effect.health); } else { SC_Submission s = c as SC_Submission; submissionStaminaReduction.min = Mathf.Min(submissionStaminaReduction.min, s.effect.stamina); submissionStaminaReduction.max = Mathf.Max(submissionStaminaReduction.max, s.effect.stamina); submissionBreakCost.min = Mathf.Min(submissionBreakCost.min, s.effect.breakCost); submissionBreakCost.max = Mathf.Max(submissionBreakCost.max, s.effect.breakCost); } } } #endregion foreach (MinMaxFilter m in minMaxFilters) { m.minInput.text = m.min.ToString(); m.maxInput.text = m.max.ToString(); m.minInput.onEndEdit.AddListener((s) => { int clamped = Mathf.Clamp(m.Min, m.min, m.Max); if (m.Min != clamped) { m.minInput.text = clamped.ToString(); } }); m.maxInput.onEndEdit.AddListener((s) => { int clamped = Mathf.Clamp(m.Max, m.Min, m.max); if (m.Max != clamped) { m.maxInput.text = clamped.ToString(); } }); } #endregion commonEffects = commonEffectsParent.GetComponentsInChildren <Toggle> (); typeToggles = new Toggle[] { mainTypeToggle, firstSubTypeToggle, secondSubTypeToggle }; }
public void OnPointerClick(PointerEventData eventData) { OnPointerExit(eventData); SC_DeckBuilder.TryAddRemove(Card, false); }