예제 #1
0
        /// <summary>
        ///     Toggles between panels
        /// </summary>
        /// <param name="panelName"></param>
        public void TogglePanel(string panelName)
        {
            MainMenuPanel panel = GetMenuPanel(panelName);

            if (panel == null)
            {
                Logger.Error("No such panel with the name of {@PanelName}!", name);
                return;
            }

            //There is a panel that is currently active, so close it
            if (GetActivePanel() != null && panel != GetActivePanel())
            {
                Logger.Debug($"{GetActivePanel().name} is currently active, switching...");

                ClosePanel(GetActivePanel(), true);
                OpenPanel(panel, true);

                return;
            }

            if (!panel.isOpen)
            {
                OpenPanel(panel);
            }
            else
            {
                ClosePanel(panel);
            }
        }
예제 #2
0
        private void OpenPanel(MainMenuPanel panel, bool isSwitching = false)
        {
            Logger.Debug($"Opening {panel.name}");

            if (!isSwitching)
            {
                if (panel.showTopBlackBar)
                {
                    ActivateTopBlackBar();
                }

                if (panel.darkenScreen)
                {
                    ActivateBlackBackground();
                }
            }

            panel.activePanel.SetActive(true);
            panel.isOpen = true;
        }