private void SelectTab(UpgradeButton button, bool useSound = true) { selectedButton = button; button.image.sprite = selectedTabSprite; infoPanel.gameObject.SetActive(true); var upgradeType = button.GetUpgradeType(); var upgradeData = GameManager.Instance.upgradeTextData; var data = upgradeData.GetUpgradeTextData(upgradeType); upgradeDescription.text = data.descrptionText; itemImage.sprite = data.sprite; //int index = infoPanel.transform.GetSiblingIndex(); button.transform.SetAsLastSibling(); itemImage.transform.SetAsLastSibling(); var pos = button.transform.localPosition; pos.y = selectedPosY; LeanTween.moveLocal(button.gameObject, pos, 0.15f).setIgnoreTimeScale(true).setEaseOutBack(); if (useSound) { EventManager.UI.onTapButton?.Invoke(true); } }
public void OnPressUnlockUpgradeButton() { unlockInfoPanel.gameObject.SetActive(true); selectedButton = unlockUpgradeButton; var upgradeType = selectedButton.GetUpgradeType(); var upgradeData = GameManager.Instance.upgradeTextData; var data = upgradeData.GetUpgradeTextData(upgradeType); unlockDescription.text = data.descrptionText; unlockItemImage.sprite = data.sprite; }
public void OnPressPurchaseUpgradeButton() { var upgradeType = selectedButton.GetUpgradeType(); var levelType = LevelInfo.current.levelType; var levelUpgrades = Util.upgradeTree.GetUpgradesForLevel(levelType); var upgradeVarIndex = Util.upgradeTree.GetUpgradeVarName(levelUpgrades, upgradeType); var gameData = GameManager.Instance.saveManager.Load(); var currLevel = (int)levelType; var chosenUpgrade = new ChosenUpgrade(currLevel, upgradeVarIndex); bool hasUpgrade = false; // Check if an upgrade the current level already exists, overwrite if it does foreach (ChosenUpgrade upgrade in gameData.chosenUpgrades) { if (upgrade.level == currLevel) { hasUpgrade = true; upgrade.varIndex = upgradeVarIndex; } } // Otherwise if it doesn't add it to the list if (!hasUpgrade) { gameData.chosenUpgrades.Add(chosenUpgrade); } Util.gameSettings.upgradeSettings = gameData.settings; Util.gameSettings.upgradeLogicMap[upgradeType](); gameData.settings = Util.gameSettings.upgradeSettings; gameData.settings.currLevel = ++currLevel; GameManager.Instance.saveManager.Save(gameData); BootController.levelToLoadInstantly = gameData.settings.currLevel; EventManager.UI.onTapButton?.Invoke(true); LeanTween.delayedCall(0.2f, () => { Hide(true); LeanTween.delayedCall(1.0f, () => { SceneManager.LoadScene(0); }).setIgnoreTimeScale(true); }).setIgnoreTimeScale(true); }