예제 #1
0
        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));
        }
예제 #2
0
        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));
        }