Ejemplo n.º 1
0
    /*
     * Call this to make sure new powers or necessary resets occur.
     */
    public void InitializeStatsOnSpawn()
    {
        pickups = new List <GameObject> ();

        // Give player their upgrades
        // Charges Faster Upgrades
        if (inventory.HasItem(ItemNames.BLUE_FILLS_FASTER))
        {
            bluePower.UpgradeMaximumCharge();
        }
        if (inventory.HasItem(ItemNames.RED_FILLS_FASTER))
        {
            redPower.UpgradeMaximumCharge();
        }
        if (inventory.HasItem(ItemNames.GREEN_FILLS_FASTER))
        {
            greenPower.UpgradeMaximumCharge();
        }

        // Stronger Item Upgrades
        if (inventory.HasItem(ItemNames.RED_MORE_EFFECTIVE))
        {
            redPower.UpgradeLaser();
        }
        if (inventory.HasItem(ItemNames.GREEN_MORE_EFFECTIVE))
        {
            shieldStrength = UPGRADED_SHIELD_STRENGTH;
        }
        if (inventory.HasItem(ItemNames.BLUE_MORE_EFFECTIVE))
        {
            slowDownMovespeed = UPGRADED_MOVESPEED;
        }

        // Duration Upgrades
        if (inventory.HasItem(ItemNames.RED_LASTS_LONGER))
        {
            redPower.UpgradeDuration();
        }
        if (inventory.HasItem(ItemNames.GREEN_LASTS_LONGER))
        {
            greenPower.UpgradeDuration();
        }
        if (inventory.HasItem(ItemNames.BLUE_LASTS_LONGER))
        {
            bluePower.UpgradeDuration();
        }

        // Also reset the same stats that should be reset on revive
        InitializeStatsOnRevive();
    }