private void ShowUnlockPopup() { unlockPopup.SetActive(true); buyButton.onClick.AddListener(OnBuyButtonPressed); cancelBuyButton.onClick.AddListener(OnCancelBuyButtonPressed); unlockSkinStoreView.Show(playerSkinConfigToUnlock, false, true); skinNameText.SetText(playerSkinConfigToUnlock.Name); if (playerSkinConfigToUnlock.Price <= coinsTracker.TotalCoinsCollected) { buyButton.gameObject.SetActive(true); unlockText.gameObject.SetActive(true); notEnoughCurrencyText.gameObject.SetActive(false); unlockText.SetText(string.Format(defaultUnlockText, playerSkinConfigToUnlock.Price)); } else { buyButton.gameObject.SetActive(false); unlockText.gameObject.SetActive(false); notEnoughCurrencyText.gameObject.SetActive(true); int currencyAmountNeeded = playerSkinConfigToUnlock.Price - coinsTracker.TotalCoinsCollected; notEnoughCurrencyText.SetText(string.Format(defaultNotEnoughCurrencyText, currencyAmountNeeded)); } }
protected override void OnShow() { // Make sure unlock popup isn't showing... HideUnlockPopup(); backButton.onClick.AddListener(OnBackButtonPressed); for (int i = 0; i < playerSkinController.PlayerSkinConfigs.Length; i++) { PlayerSkinStoreView playerSkinStoreView = Instantiate(playerSkinStoreViewPrefab, skinRectTransform); playerSkinStoreView.Show(playerSkinController.PlayerSkinConfigs[i], playerSkinController.SelectedSkinIndex == i); playerSkinStoreView.SelectEvent += OnPlayerSkinSelect; playerSkinStoreView.TryUnlockEvent += OnTryUnlockSkin; playerSkinStoreViews.Add(playerSkinStoreView); } }