public void SelectTitle(ITabTitle title, bool sendMessage) { if (SelectedTitle == title) { return; } // Hide current page if (SelectedTitle != null && SelectedTitle.TitlePage.activeSelf && title.TitlePage != SelectedTitle.TitlePage) { SelectedTitle.TitlePage.SetActive(false); } UpdateTabTitles(title); // Show title's page if (title.TitlePage != null) { if (!title.TitlePage.activeSelf) { title.TitlePage.SetActive(true); } if (sendMessage) { title.TitlePage.SendMessage(SwitchTitleMessage, title, SendMessageOptions.DontRequireReceiver); } } }
private void UpdateTabTitles(ITabTitle selectedTitle) { SelectedTitle = selectedTitle; var selectedIndex = Titles.IndexOf(selectedTitle); for (var i = 0; i < Titles.Count; i++) { var t = Titles[i]; t.SetDepth(TopDepth - Math.Abs(selectedIndex - i)); t.OnSelected(t == selectedTitle); } }