// Can a given chip be selected? private bool canSelect(AChip c) { return // check quantity (selected.Count < 5 && // check code (c.code == selectedCode || '*' == selectedCode || ('*' == c.code && selectedCode != '\0') || // code did not pass, check name c.chipName == selectedName)); }
/* TODO * Modify Chip() for chip-charging abilities */ // Initialization not requiring other objects (except those set in editor) void Awake() { // HP curHP = maxHP; // instantiate buster b_nocharge = Instantiate(busterUncharged).GetComponent <LineChip>(); b_charge = Instantiate(busterCharged).GetComponent <AChip>(); // animation animationSetup(); StartCoroutine(animateReset()); }
// draw n new chips from the front of unused into new array, after shuffling unused // chips are removed from unused AChip[] Draw(int n) { n = Math.Min(n, unused.Count); AChip[] c = new AChip[n]; if (0 == n) { return(c); } unused.Shuffle(); for (int i = 0; i < n; ++i) { c[i] = unused[i]; unused.RemoveAt(i); n = Math.Min(n, unused.Count); } return(c); }
private void updateActiveRenderers() { if (activeIndex < hand.Count && hand[activeIndex] != null) // first frame of turn sometimes renders before all chips are non-null { // if active chip is an actual chip, all the displays show it AChip active = hand[activeIndex]; activeName.text = active.chipName; activeName.enabled = true; activeCard.sprite = active.largeImg; activeCard.enabled = true; activeCode.sprite = Controller.UI.getSprite(active.code); activeCode.enabled = true; activeElement.sprite = Controller.UI.getSprite(active.element); activeElement.enabled = true; Sprite[] dmg = Controller.UI.getSprite(active.damageBase); for (int i = 0; i < dmg.Length; ++i) { activeDamage[i].sprite = dmg[i]; activeDamage[i].enabled = true; }// anything past that is a blank space for (int i = dmg.Length; i < 3; ++i) { activeDamage[i].enabled = false; } } else {// if not, all the displays are blanked activeName.enabled = false; activeCard.enabled = false; activeCode.enabled = false; activeElement.enabled = false; for (int i = 0; i < activeDamage.Length; ++i) { activeDamage[i].enabled = false; } } }