private void ShowInPanel(NetInfo info, List <NetworkSkinModifier> modifiers) { UIButton networkButton = FindComponentCached <UIButton>(info.name); if (networkButton != null) { TSCloseButton.SimulateClick(); // apply the skin data in the tool window NetworkSkinPanelController.Instance.OnPrefabWithModifiersSelected(info, modifiers); UITabstrip subMenuTabstrip = null; UIScrollablePanel scrollablePanel = null; UIComponent current = networkButton, parent = networkButton.parent; int subMenuTabstripIndex = -1, menuTabstripIndex = -1; while (parent != null) { if (current.name == "ScrollablePanel") { subMenuTabstripIndex = parent.zOrder; scrollablePanel = current as UIScrollablePanel; } if (current.name == "GTSContainer") { menuTabstripIndex = parent.zOrder; subMenuTabstrip = parent.Find <UITabstrip>("GroupToolstrip"); } current = parent; parent = parent.parent; } UITabstrip menuTabstrip = current.Find <UITabstrip>("MainToolstrip"); if (scrollablePanel == null || subMenuTabstrip == null || menuTabstrip == null || menuTabstripIndex == -1 || subMenuTabstripIndex == -1) { return; } menuTabstrip.selectedIndex = menuTabstripIndex; menuTabstrip.ShowTab(menuTabstrip.tabs[menuTabstripIndex].name); subMenuTabstrip.selectedIndex = subMenuTabstripIndex; subMenuTabstrip.ShowTab(subMenuTabstrip.tabs[subMenuTabstripIndex].name); networkButton.SimulateClick(); scrollablePanel.ScrollIntoView(networkButton); } SimulationManager.instance.AddAction(() => EventNetInfoPipetted?.Invoke(info)); }
private void ShowInPanel(NetInfo info, List <NetworkSkinModifier> modifiers) { UIButton networkButton = FindComponentCached <UIButton>(info.name); if (networkButton != null) { TSCloseButton.SimulateClick(); // apply the skin data in the tool window NetworkSkinPanelController.Instance.OnPrefabWithModifiersSelected(info, modifiers); UITabstrip subMenuTabstrip = null; UIScrollablePanel scrollablePanel = null; UIComponent current = networkButton, parent = networkButton.parent; int subMenuTabstripIndex = -1, menuTabstripIndex = -1; while (parent != null) { if (current.name == "ScrollablePanel") { subMenuTabstripIndex = parent.zOrder; scrollablePanel = current as UIScrollablePanel; } if (current.name == "GTSContainer") { menuTabstripIndex = parent.zOrder; subMenuTabstrip = parent.Find <UITabstrip>("GroupToolstrip"); } current = parent; parent = parent.parent; } UITabstrip menuTabstrip = current.Find <UITabstrip>("MainToolstrip"); if (scrollablePanel == null || subMenuTabstrip == null || menuTabstrip == null || menuTabstripIndex == -1 || subMenuTabstripIndex == -1) { return; } menuTabstrip.selectedIndex = menuTabstripIndex; menuTabstrip.ShowTab(menuTabstrip.tabs[menuTabstripIndex].name); subMenuTabstrip.selectedIndex = subMenuTabstripIndex; subMenuTabstrip.ShowTab(subMenuTabstrip.tabs[subMenuTabstripIndex].name); // Clear filters UIPanel filterPanel = scrollablePanel.parent.Find <UIPanel>("FilterPanel"); if (filterPanel != null) { foreach (UIMultiStateButton c in filterPanel.GetComponentsInChildren <UIMultiStateButton>()) { if (c.isVisible && c.activeStateIndex == 1) { c.activeStateIndex = 0; } } } StartCoroutine(DoClick(scrollablePanel, networkButton)); } SimulationManager.instance.AddAction(() => EventNetInfoPipetted?.Invoke(info)); }