Exemplo n.º 1
0
    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;
        }
    }
Exemplo n.º 2
0
    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();
    }
Exemplo n.º 4
0
    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());
 }