private ContentTab CreateTab(TabDisplayInfo tabDisplayInfo) { ContentTab tabInstance = GameObject.Instantiate(contentTabPrefab); tabInstance.transform.SetParent(contentTabContainer.transform, false); tabInstance.Initialize(tabDisplayInfo.TabName, tabDisplayInfo.TabIcon); return(tabInstance); }
public void Initialize(ContentTab tab) { if (!initialized) { LinkedTab = tab; LinkedTab.ContentTabSelectToggleEvent += OnContentTabSelectToggleEvent; initialized = true; InitializedAwake(); } }
private void ShowDisplayContentOfTab(ContentTab tab) { DestroyDisplayingContent(); TabDisplayInfo?tabInfo = currentDisplaySetting.GetInfoByName(tab.TabName); if (tabInfo.HasValue) { currentlyDisplayingContent = GameObject.Instantiate <TabContent>(tabInfo.Value.displayContentPrefab); currentlyDisplayingContent.transform.SetParent(contentContainer.transform, false); currentlyDisplayingContent.Initialize(tab); } }
private void OnContentTabSelectToggleEvent(ContentTab tab) { if (tab.IsSelected) { if (currentlySelectedTab != null) { currentlySelectedTab.ToggleSelected(false); } currentlySelectedTab = tab; ShowDisplayContentOfTab(currentlySelectedTab); } }
private void DestroyAllTabs() { ContentTab ct = null; for (int i = createdContentTabs.Count - 1; i >= 0; i--) { ct = createdContentTabs[i]; ct.ContentTabSelectToggleEvent -= OnContentTabSelectToggleEvent; Destroy(ct.gameObject); } createdContentTabs.Clear(); }
public void SetTabDisplaySetting(TabDisplaySetting setting) { UnsetTabDisplaySetting(); currentDisplaySetting = setting; for (int i = 0; i < setting.TabDisplayInfos.Length; i++) { ContentTab t = CreateTab(setting.TabDisplayInfos[i]); t.ContentTabSelectToggleEvent += OnContentTabSelectToggleEvent; if (i == 0) { t.ToggleSelected(true); } else { t.ToggleSelected(false); } } }
protected virtual void OnContentTabSelectToggleEvent(ContentTab tab) { }