Пример #1
0
    /// <summary>
    /// Updates shown text
    /// </summary>
    public IEnumerator UpdateUITexts()
    {
        yield return(new WaitForSeconds(Time.deltaTime));

        ShopTextController.itemName = selectedItem.name.Replace("Content", "");
        ShopTextController.SetUpgradeLevel(selectedUpgradeLevel);
        ShopTextController.UpdateTexts();
    }
Пример #2
0
    /// <summary> When shop item is clicked, sets reference of selectedItem and make it active. </summary>
    /// <param name="item"></param>
    public void SelectItem(GameObject shopItem)
    {
        selectedUpgradeLevel = 1;
        ShopTextController.SetUpgradeLevel(selectedUpgradeLevel);

        foreach (var item in shopItems)
        {
            item.SetActive(false);
        }

        selectedItem = null;
        selectedItem = shopItem;
        StartCoroutine(UpdateUITexts());
        selectedItem.SetActive(true);
    }
Пример #3
0
    /// <summary>
    ///
    /// </summary>
    public void BuyUpgrade(string upgradeStatName)
    {
        string fullItemName = ShopTextController.itemName + ShopTextController.GetUpgradeLevel();

        int basicValue = 10;
        int level      = PlayerPrefs.GetInt(fullItemName + upgradeStatName + "Lvl", 1);

        int cost         = basicValue * level;
        int playerMoneys = PlayerPrefs.GetInt("Money", 0);

        if (playerMoneys < cost)
        {
            return;
        }

        switch (upgradeStatName)
        {
        case "Range":
        {
            PlayerPrefs.SetFloat(fullItemName + upgradeStatName, PlayerPrefs.GetFloat(fullItemName + upgradeStatName) + ShopTextController.RangeUpgradeTick);
            break;
        }

        case "FireRate":
        {
            PlayerPrefs.SetFloat(fullItemName + upgradeStatName, PlayerPrefs.GetFloat(fullItemName + upgradeStatName) + ShopTextController.FireRateUpgradeTick);
            break;
        }

        case "DamageOverTime":
        {
            PlayerPrefs.SetInt(fullItemName + upgradeStatName, PlayerPrefs.GetInt(fullItemName + upgradeStatName) + ShopTextController.DamageOverTimeUpgradeTick);
            break;
        }

        case "SlowPercentage":
        {
            PlayerPrefs.SetFloat(fullItemName + upgradeStatName, PlayerPrefs.GetFloat(fullItemName + upgradeStatName) + ShopTextController.SlowPercentageUpgradeTick);
            break;
        }

        case "Damage":
        {
            PlayerPrefs.SetInt(fullItemName + upgradeStatName, PlayerPrefs.GetInt(fullItemName + upgradeStatName) + ShopTextController.DamageUpgradeTick);
            break;
        }

        case "Speed":
        {
            PlayerPrefs.SetFloat(fullItemName + upgradeStatName, PlayerPrefs.GetFloat(fullItemName + upgradeStatName) + ShopTextController.SpeedUpgradeTick);
            break;
        }

        case "ExplosionRadius":
        {
            PlayerPrefs.SetFloat(fullItemName + upgradeStatName, PlayerPrefs.GetFloat(fullItemName + upgradeStatName) + ShopTextController.ExplosionRadiusUpgradeTick);
            break;
        }
        }

        PlayerPrefs.SetInt(fullItemName + upgradeStatName + "Lvl", level + 1);
        PlayerPrefs.SetInt("Money", playerMoneys - cost);

        UpdateMoneyText();
        //ShopTextController.UpdateTexts();
        StartCoroutine(UpdateUITexts());
    }