示例#1
0
 // 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));
 }
示例#2
0
    /* 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());
    }
示例#3
0
 // 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);
 }
示例#4
0
 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;
         }
     }
 }