public void ApplyAura(PersistentUpgrade aura) { if (hasAura) { return; } hasAura = true; UpgradeType type = aura.info.type; float effect = aura.GetCurrentEffect(); switch (type) { case UpgradeType.DRAGON_DAMAGE_AURA: ApplyDamageUpgrade(effect, true); break; case UpgradeType.DRAGON_ATTACKSPEED_AURA: ApplyAttackSpeedUpgrade(effect, true); break; case UpgradeType.DRAGON_RANGE_AURA: ApplyRangeUpgrade(effect, true); break; } }
public void RemoveAura(PersistentUpgrade aura) { if (!hasAura) { return; } hasAura = false; ChangeColor(Color.white); UpgradeType type = aura.info.type; float effect = aura.GetCurrentEffect(); switch (type) { case UpgradeType.DRAGON_DAMAGE_AURA: ApplyDamageUpgrade(effect, false); break; case UpgradeType.DRAGON_ATTACKSPEED_AURA: ApplyAttackSpeedUpgrade(effect, false); break; case UpgradeType.DRAGON_RANGE_AURA: ApplyRangeUpgrade(effect, false); break; } }
public void PurchaseUpgrade(PersistentUpgrade upgrade) { // Update player currency. persistentCurrencyManager.SubstractPersistentCurrency(upgrade.GetCurrentCost()); // Update upgrade level. upgrade.info.level += 1; // Save new state. UpdatePurchasedPersistentUpgrades(upgrade.info.type, upgrade.info.level); SaveLoad.Save(); }
void Start() { upgrade = persistentUpgradesManager.GetUpgrade(upgradeType); button = transform.Find("Button").GetComponent <Button> (); button.onClick.AddListener(OnClick); upgradeNameObject = transform.Find("UpgradeName"); costObject = transform.Find("Button").Find("Cost"); currentLevelObject = transform.Find("Button").Find("CurrentLevel"); currentEffectObject = transform.Find("CurrentEffect"); UpdateTexts(); }
public void SetPersistentUpgrades(List <PersistentUpgradeSerializable> newPersistentUpgrades) { if (newPersistentUpgrades != null) { purchasedPersistentUpgrades = newPersistentUpgrades; // Synchronize loaded ugrades with the main list. foreach (PersistentUpgradeSerializable loadedUpgrade in purchasedPersistentUpgrades) { PersistentUpgrade upgrade = GetUpgrade(loadedUpgrade.type); upgrade.info.level = loadedUpgrade.level; } } else { purchasedPersistentUpgrades = new List <PersistentUpgradeSerializable> (); // Reset the main list of upgrades. foreach (PersistentUpgrade upgrade in persistentUpgradesList) { upgrade.info.level = 0; } } }
public bool CanAfford(PersistentUpgrade upgrade) { return(persistentCurrencyManager.GetPersistentCurrency() > upgrade.GetCurrentCost()); }