コード例 #1
0
ファイル: Merchant.cs プロジェクト: ivcoder/Trollpants
        public void DowngradeSkill(Upgrade upgrade)
        {
            UpgradeViewModel upgradeViewModel;

            switch (upgrade)
            {
            case Upgrade.ManaAmount:
                upgradeViewModel = manaAmount;
                break;

            case Upgrade.VerticalSpeed:
                upgradeViewModel = verticalSpeed;
                break;

            case Upgrade.BoostSpeed:
                upgradeViewModel = boostSpeed;
                break;

            case Upgrade.ManaRegenRate:
                upgradeViewModel = manaRegen;
                break;

            default:
                throw new ArgumentOutOfRangeException("upgrade", upgrade, null);
            }

            if (upgradeViewModel.CurrentLevel == 1)
            {
                AudioClipPlayer.PlayIncorrect();
                return;
            }

            upgradeViewModel.SetCurrentLevel(upgradeViewModel.CurrentLevel - 1);
            UpdateGUI(upgrade);
        }
コード例 #2
0
ファイル: Merchant.cs プロジェクト: ivcoder/Trollpants
        public void BuyMidasPotion()
        {
            const int price = 100;

            if (Player.State.Coins < price)
            {
                AudioClipPlayer.PlayIncorrect();
                return;
            }

            Player.State.Coins -= price;
            Player.State.MidasPotions++;
            Cloud.Storage.Save();

            AudioClipPlayer.PlayPotion();
            midasCount.text = Player.State.MidasPotions.ToString();
        }
コード例 #3
0
ファイル: Merchant.cs プロジェクト: ivcoder/Trollpants
        public void UpgradeSkill(Upgrade upgrade)
        {
            UpgradeViewModel upgradeViewModel;
            int unlockedLevel;

            switch (upgrade)
            {
            case Upgrade.ManaAmount:
                upgradeViewModel = manaAmount;
                unlockedLevel    = CloudVariables.UnlockedManaAmountLevel;
                break;

            case Upgrade.VerticalSpeed:
                upgradeViewModel = verticalSpeed;
                unlockedLevel    = CloudVariables.UnlockedVerticalSpeedLevel;
                break;

            case Upgrade.BoostSpeed:
                upgradeViewModel = boostSpeed;
                unlockedLevel    = CloudVariables.UnlockedBoostSpeedLevel;
                break;

            case Upgrade.ManaRegenRate:
                upgradeViewModel = manaRegen;
                unlockedLevel    = CloudVariables.UnlockedManaRegenLevel;
                break;

            default:
                throw new ArgumentOutOfRangeException("upgrade", upgrade, null);
            }

            if (upgradeViewModel.CurrentLevel == UpgradeInfo.MaxUpgradeLevel)
            {
                AudioClipPlayer.PlayIncorrect();
                return;
            }

            if (upgradeViewModel.CurrentLevel < unlockedLevel)
            {
                upgradeViewModel.SetCurrentLevel(upgradeViewModel.CurrentLevel + 1);
                AudioClipPlayer.Instance.PlayClick();
                UpdateGUI(upgrade);
                return;
            }

            var price = UpgradeInfo.GetUpgradePrice(unlockedLevel + 1);

            if (Player.State.Coins < price)
            {
                AudioClipPlayer.PlayIncorrect();
                return;
            }

            Player.State.Coins -= price;
            upgradeViewModel.SetCurrentLevel(upgradeViewModel.CurrentLevel + 1);
            switch (upgrade)
            {
            case Upgrade.ManaAmount:
                CloudVariables.UnlockedManaAmountLevel++;
                break;

            case Upgrade.VerticalSpeed:
                CloudVariables.UnlockedVerticalSpeedLevel++;
                break;

            case Upgrade.BoostSpeed:
                CloudVariables.UnlockedBoostSpeedLevel++;
                break;

            case Upgrade.ManaRegenRate:
                CloudVariables.UnlockedManaRegenLevel++;
                break;

            default:
                throw new ArgumentOutOfRangeException("upgrade", upgrade, null);
            }

            Cloud.Storage.Save();
            AudioClipPlayer.PlayUpgrade();
            UpdateGUI(upgrade);
        }