Пример #1
0
    public WindowComponent SwitchWindow(WindowType type)
    {
        WindowComponent desiredWindow = FindWindowOfType(type);

        if (desiredWindow != null)
        {
            if (desiredWindow.gameObject.activeInHierarchy)
            {
                desiredWindow.CloseWindow();
                return(null);
            }
            else
            {
                CloseWindows();
                desiredWindow.gameObject.SetActive(true);
                return(desiredWindow);
            }
        }
        return(null);
    }
Пример #2
0
    public void SwitchSubWindow(WindowComponent parent, WindowType type)
    {
        WindowComponent desiredWindow = FindWindowOfType(type);

        if (desiredWindow != null)
        {
            if (parent.subWindows.Contains(desiredWindow))
            {
                desiredWindow.CloseWindow();
                parent.subWindows.Remove(desiredWindow);
            }
            else
            {
                foreach (WindowComponent w in parent.subWindows)
                {
                    w.CloseWindow();
                }
                parent.subWindows = new List <WindowComponent>();
                desiredWindow.gameObject.SetActive(true);
                parent.subWindows.Add(desiredWindow);
            }
        }
    }