public void AddPowerUp(HeroPowerUp powerUp)
 {
     powerUp.Activate(hero);
     numActivePowerUps++;
     // Send event
     if (OnPowerUpAdded != null)
     {
         OnPowerUpAdded();
     }
 }
    private void InitPowerUpList(int level)
    {
        HeroPowerUpListData powerUpListData = DataManager.GetPowerUpListData(hero.heroType);
        int numPowerUpsUnlocked             = HeroPowerUpListData.GetNumPowerUpsUnlocked(level);

        for (int i = 0; i < numPowerUpsUnlocked; i++)
        {
            // Instantiate
            GameObject  o       = Instantiate(powerUpListData.powerUps[i]);
            HeroPowerUp powerUp = o.GetComponent <HeroPowerUp>();
            powerUps.Add(powerUp);
            o.transform.SetParent(transform);
            o.transform.localPosition = Vector3.zero;
            AddPowerUp(powerUp);
        }
    }
    public void AddPowerUp(string name)
    {
        HeroPowerUp selectedPowerUp = GetPowerUp(name).GetComponent <HeroPowerUp> ();

        //print("Got power up:" + selectedPowerUp.gameObject);
        // test if this hero already has the selected power up
        if (selectedPowerUp.isActive)
        {
            //print("Stacking...");
            selectedPowerUp.Stack();
        }
        else
        {
            //print("Power up not active. Activating...");
            selectedPowerUp.gameObject.SetActive(true);
            selectedPowerUp.Activate(hero);
            numActivePowerUps++;
        }
        // send event
        if (OnPowerUpAdded != null)
        {
            OnPowerUpAdded();
        }
    }
Beispiel #4
0
 public void Init(HeroPowerUp powerUp)
 {
     this.powerUp = powerUp;
     icon.sprite  = powerUp.data.icon;
 }