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); } } }
// 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; }
public void UpdateUpgrades(PowerUpEnums.PowerEnum targetEnum, float upgrade) { upgradeTexts[(int)targetEnum].text = upgrade.ToString("F1"); }