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)); }
private IEnumerator _OpenWindowInternal(UIWindow window, UIWindowSwitcher switcher) { window.gameObject.SetActive(true); window.TriggerOnOpeningStartEvent(); switcher.OnOpen(window); yield return(new WaitForSecondsRealtime(switcher.openingTime)); window.TriggerOnOpeningCompleteEvent(); }
private IEnumerator _CloseWindowInternal(UIWindow window, UIWindowSwitcher switcher) { window.TriggerOnClosingStartEvent(); switcher.OnClose(window); yield return(new WaitForSeconds(switcher.closingTime)); window.TriggerOnClosingCompleteEvent(); window.gameObject.SetActive(false); }
private IEnumerator _OpenRootWindow(UIWindow window, UIWindowSwitcher switcher) { yield return(_OpenWindowInternal(window, switcher)); }
public void OpenRootWindow(string windowID, UIWindowSwitcher openSwitcher) { WindowTree.SetCurrWindowNode(windowID); StartCoroutine(_OpenWindowInternal(GetWindow(windowID), openSwitcher)); }