// updates the icon panel with correct levels using playerUpgrader
 private void UpdateIconPanel()
 {
     foreach (GameObject obj in upgradeIcons)
     {
         Slider slider = obj.transform.Find("Bar").GetComponent <Slider>();
         slider.value = PlayerUpgrader.GetUpgradeLevel(obj.name);
     }
 }
 void Start()
 {
     MusicManager.instance.PlayGameMusic();
     GameManager.instance.InitialSetup();
     PlayerUpgrader.ApplyPlayerUpgrades(ref player);
     jetpackBar.SetupBars(player.actionChargesMax, player.actionChargeTime);
     GameManager.instance.StartGameLoop();
 }
    public void PurchaseUpgrade()
    {
        GameManager.instance.SpendTotalCoins(selectedUpgradeCost);
        UpdateTotalCoinAmount();

        PlayerUpgrader.IncreaseUpgradeLevel(selectedUpgrade.name);
        UpdateIconPanel();
        UpdateDetailPanel();
        myAudiosource.PlayOneShot(purchaseSound);
    }
Exemple #4
0
    private IEnumerator _WinEffect()
    {
        if (ActualLevel.LastLevel)
        {
            GameWin();
            yield break;
        }

        yield return(SceneManager.LoadSceneAsync("Map"));

        yield return(null);

        // Apply upgrade to player
        PlayerUpgrader upgrader = GameConfiguration.Instance.Player.GetComponent <PlayerUpgrader>();

        if (ActualLevel.ArmorUpgrade != 0)
        {
            for (int i = 0; i < ActualLevel.ArmorUpgrade; i++)
            {
                upgrader.AddArmor();
            }
        }

        if (ActualLevel.PowerUpgrade != 0)
        {
            for (int i = 0; i < ActualLevel.PowerUpgrade; i++)
            {
                upgrader.AddPower();
            }
        }

        if (ActualLevel.SpeedUpgrade != 0)
        {
            for (int i = 0; i < ActualLevel.SpeedUpgrade; i++)
            {
                upgrader.AddSpeed();
            }
        }

        FinishedLevels.Add(ActualLevel);
        Day++;
        OnLevelCleared?.Invoke(ActualLevel);
    }
    // updates the detail panel with info about the currently selected icon
    private void UpdateDetailPanel()
    {
        if (selectedUpgrade == null)
        {
            // if nothing is selected, don't show any details
            detailIcon.SetActive(false);
            detailCost.gameObject.SetActive(false);
            detailText.gameObject.SetActive(false);
            purchaseButton.gameObject.SetActive(false);
        }
        else
        {
            // show the detail gameobjects and update their values accordingly
            detailIcon.SetActive(true);
            detailCost.gameObject.SetActive(true);
            detailText.gameObject.SetActive(true);
            purchaseButton.gameObject.SetActive(true);

            selectedUpgradeLevel    = PlayerUpgrader.GetUpgradeLevel(selectedUpgrade.name);
            selectedUpgradeMaxLevel = (int)selectedUpgrade.transform.Find("Bar").GetComponent <Slider>().maxValue;
            selectedUpgradeCost     = PlayerUpgrader.GetUpgradeCost(selectedUpgrade.name, selectedUpgradeLevel);

            detailIcon.transform.localScale          = selectedUpgrade.transform.Find("Icon").localScale;
            detailIcon.GetComponent <Image>().sprite = selectedUpgrade.transform.Find("Icon").GetComponent <Image>().sprite;
            detailText.text             = PlayerUpgrader.GetUpgradeDescription(selectedUpgrade.name, selectedUpgradeLevel);
            purchaseButton.interactable = false;
            purchaseButton.transform.Find("Text").GetComponent <Text>().text = "Not Enough";
            if (selectedUpgradeLevel < selectedUpgradeMaxLevel)
            {
                detailCost.text = "Cost: " + selectedUpgradeCost;
                if (selectedUpgradeCost <= GameManager.instance.GetTotalCoins())
                {
                    purchaseButton.interactable = true;
                    purchaseButton.transform.Find("Text").GetComponent <Text>().text = "Purchase";
                }
            }
            else
            {
                detailCost.text = "";
            }
        }
    }
Exemple #6
0
 public void SetPlayer(GameObject p_player)
 {
     m_player         = p_player;
     m_playerRenderer = m_player.GetComponent <PlayerRenderer>();
     m_playerUpgrader = m_player.GetComponent <PlayerUpgrader>();
 }
 public void ClearData()
 {
     PlayerPrefs.SetFloat("HighScore", 0f);
     PlayerPrefs.SetInt("TotalCoins", 0);
     PlayerUpgrader.ClearUpgrades();
 }
Exemple #8
0
 void Awake()
 {
     instance = this;
 }