Exemplo n.º 1
0
    public void PowerUp(PowerUpEnums.PowerEnum powerEnum)
    {
        Debug.Log("Powerup added by type: " + powerEnum.ToString());
        if (upgrades.ContainsKey(powerEnum))
        {
            int currentUppgrade = 0;

            if (powerEnum == PowerUpEnums.PowerEnum.DRONE)
            {
                currentUppgrade = upgrades[powerEnum]++;
                GameVariables.GameUI.UpdateUpgrades(powerEnum, upgrades[powerEnum]);
                foreach (PlayerDrone drone in drones)
                {
                    if (!drone.Active)
                    {
                        drone.ActivateDrone(true);
                        return;
                    }
                }
            }
            else
            {
                currentUppgrade = upgrades[powerEnum]++;
                GameVariables.GameUI.UpdateUpgrades(powerEnum, upgrades[powerEnum]);
            }

            if (multipleUpgradesAllowed == false)
            {
                foreach (PowerUpEnums.PowerEnum entry in Enum.GetValues(typeof(PowerUpEnums.PowerEnum)))
                {
                    if (upgrades.ContainsKey(entry))
                    {
                        if (entry == powerEnum)
                        {
                            upgrades[entry] = currentUppgrade;
                            GameVariables.GameUI.UpdateUpgrades(entry, upgrades[entry]);
                        }
                        else
                        {
                            upgrades[entry] = 0;
                            GameVariables.GameUI.UpdateUpgrades(entry, upgrades[entry]);
                        }
                    }
                }
            }
        }
        else
        {
            if (powerEnum == PowerUpEnums.PowerEnum.DAMAGE)
            {
                currentDamage += 0.1f * baseDamage;
                GameVariables.GameUI.UpdateUpgrades(powerEnum, currentDamage);
            }
            else if (powerEnum == PowerUpEnums.PowerEnum.FIRERATE)
            {
                currentFireRate -= 0.05f * fireRate;
                GameVariables.GameUI.UpdateUpgrades(powerEnum, currentDamage);
            }
        }
    }
Exemplo n.º 2
0
    // Start is called before the first frame update
    void Awake()
    {
        powerUpType = (PowerUpEnums.PowerEnum)Random.Range(0, 5);
        //Debug.Log("Power up is " + powerUpType.ToString());
        myCollider = GetComponent <CapsuleCollider>();
        GameObject obj = Instantiate(GameVariables.PowerUps[(int)powerUpType]);

        obj.transform.SetParent(transform);
        obj.transform.localPosition = Vector3.zero;
    }
Exemplo n.º 3
0
 public void UpdateUpgrades(PowerUpEnums.PowerEnum targetEnum, float upgrade)
 {
     upgradeTexts[(int)targetEnum].text = upgrade.ToString("F1");
 }