Пример #1
0
    private IEnumerator _ChangeWindow(UIWindow currWindow, UIWindowSwitcher closeSwitcher, UIWindow nextWindow, UIWindowSwitcher openSwitcher, UIWindowTreeNode nextNode)
    {
        yield return(_CloseWindowInternal(currWindow, closeSwitcher));

        WindowTree.CurrNode = nextNode;

        yield return(_OpenWindowInternal(nextWindow, openSwitcher));
    }
Пример #2
0
    private IEnumerator _OpenWindowInternal(UIWindow window, UIWindowSwitcher switcher)
    {
        window.gameObject.SetActive(true);
        window.TriggerOnOpeningStartEvent();
        switcher.OnOpen(window);
        yield return(new WaitForSecondsRealtime(switcher.openingTime));

        window.TriggerOnOpeningCompleteEvent();
    }
Пример #3
0
    private IEnumerator _CloseWindowInternal(UIWindow window, UIWindowSwitcher switcher)
    {
        window.TriggerOnClosingStartEvent();
        switcher.OnClose(window);
        yield return(new WaitForSeconds(switcher.closingTime));

        window.TriggerOnClosingCompleteEvent();
        window.gameObject.SetActive(false);
    }
Пример #4
0
 private IEnumerator _OpenRootWindow(UIWindow window, UIWindowSwitcher switcher)
 {
     yield return(_OpenWindowInternal(window, switcher));
 }
Пример #5
0
 public void OpenRootWindow(string windowID, UIWindowSwitcher openSwitcher)
 {
     WindowTree.SetCurrWindowNode(windowID);
     StartCoroutine(_OpenWindowInternal(GetWindow(windowID), openSwitcher));
 }