private void ActivateTab(UpgradeTabName tabName) { useCashToggle.onValueChanged.RemoveAllListeners(); useSecuritiesToggle.onValueChanged.RemoveAllListeners(); useCoinsToggle.onValueChanged.RemoveAllListeners(); shopToggle.onValueChanged.RemoveAllListeners(); var tabLists = GetListObjects(); foreach (var kvp in tabLists) { if (kvp.Key == tabName) { kvp.Value.Activate(); if (tabName == UpgradeTabName.CoinsUpgrades) { coinList.Setup(new CoinListData(GetUpgradeViewData()?.CoinUpgradeId ?? 0, Services.StoreService.GetNotPurchasedCoinUpgradeDataList())); } if (tabName == UpgradeTabName.Shop) { shopObjects.GetComponent <StoreItemsList>()?.Setup(GetUpgradeViewData()?.StoreSection ?? StoreItemSection.CompanyCash); } } else { kvp.Value.Deactivate(); } } var toggles = GetToggles(); toggles[tabName].isOn = true; toggles[tabName].OnPointerClick(new PointerEventData(EventSystem.current)); if (tabName == UpgradeTabName.CashUpgrades) { GameEvents.OnTutorialEvent(new TutorialEventData(TutorialEventName.CashUpgradesOpened)); } }
public override void Setup(ViewData data) { base.Setup(data); closeButton.SetListener(() => { Services.ViewService.Remove(ViewType.UpgradesView); Services.SoundService.PlayOneShot(SoundName.click); }); UpgradeTabName tabName = UpgradeTabName.CashUpgrades; if (ViewData != null && ViewData.UserData != null) { try { tabName = GetUpgradeViewData().TabName; } catch (System.Exception exception) { Debug.LogException(exception); tabName = UpgradeTabName.CashUpgrades; } } ActivateTab(tabName); SetToggleListeners(); }