Exemplo n.º 1
0
    public void BuyButtonClicked(bool fromCoin)
    {
        PlayerStatistics.Upgrade currentUpgrade = playerStats.upgradesList[selectedUpgradeIndexForPreview];
        if (currentUpgrade.IsUnlocked)
        {
            if (fromCoin)
            {
                PlayerStatistics.SkinColorStuff skinColorData = currentUpgrade.ColorStuff[currentUpgrade.ParticlesColor.ToString()];
                if (playerStats.playerCoins >= skinColorData.CoinCost)
                {
                    AudioSource.PlayClipAtPoint(buyUpgradesSFX, Camera.main.transform.position, playerStats.sfxVolume);
                    playerStats.playerCoins -= skinColorData.CoinCost;
                    numCoinsTMPro.text       = playerStats.playerCoins.ToString();
                    skinColorData.IsUnlocked = true;
                    currentUpgrade.ColorStuff[currentUpgrade.ParticlesColor.ToString()] = skinColorData;

                    taskHandlerClass.UpdateLevelTaskState(ObjectsDescription.Player, TaskTypes.UpdateSkin, TaskCategory.ImmediateActionTask, new List <string>()
                    {
                        skinColorData.CoinCost.ToString()
                    });
                }
            }
            else
            {
                // pay from credit card.
            }
            playerStats.upgradesList[selectedUpgradeIndexForPreview] = currentUpgrade;
        }
        else
        {
            if (fromCoin)
            {
                if (playerStats.playerCoins >= currentUpgrade.CoinCost)
                {
                    AudioSource.PlayClipAtPoint(buyUpgradesSFX, Camera.main.transform.position, playerStats.sfxVolume);

                    playerStats.playerCoins  -= currentUpgrade.CoinCost;
                    numCoinsTMPro.text        = playerStats.playerCoins.ToString();
                    currentUpgrade.IsUnlocked = true;

                    taskHandlerClass.UpdateLevelTaskState(ObjectsDescription.Player, TaskTypes.UpdateSkin, TaskCategory.ImmediateActionTask, new List <string>()
                    {
                        currentUpgrade.CoinCost.ToString()
                    });
                }
            }
            else
            {
                // pay from credit card.
            }
            playerStats.upgradesList[selectedUpgradeIndexForPreview] = currentUpgrade;
            upgradeScrollerClass.UpgradeUnlocked(selectedUpgradeIndexForPreview);
        }
        UpdateUiData(currentUpgrade);
    }
Exemplo n.º 2
0
 public void SelectButtonClicked()
 {
     PlayerStatistics.Upgrade currentUpgrade = playerStats.upgradesList[selectedUpgradeIndexForPreview];
     if (currentUpgrade.IsActive)
     {
         PlayerStatistics.SkinColorStuff skinColorData = currentUpgrade.ColorStuff[currentUpgrade.ParticlesColor.ToString()];
         List <string> keys = new List <string>(currentUpgrade.ColorStuff.Keys);
         foreach (string key in keys)
         {
             PlayerStatistics.SkinColorStuff colorData = currentUpgrade.ColorStuff[key];
             if (key == currentUpgrade.ParticlesColor.ToString())
             {
                 colorData.IsActive = true;
             }
             else
             {
                 colorData.IsActive = false;
             }
             currentUpgrade.ColorStuff[key] = colorData;
         }
     }
     else
     {
         int numUpgrades = playerStats.upgradesList.Count;
         for (int i = 0; i < numUpgrades; i++)
         {
             PlayerStatistics.Upgrade tempUpgrade = playerStats.upgradesList[i];
             if (tempUpgrade.ApplicableOn == currentUpgrade.ApplicableOn)
             {
                 tempUpgrade.IsActive        = false;
                 playerStats.upgradesList[i] = tempUpgrade;
             }
         }
         currentUpgrade.IsActive = true;
     }
     playerStats.upgradesList[selectedUpgradeIndexForPreview] = currentUpgrade;
     UpdateUiData(currentUpgrade);
 }