public void CloseWindow(string winId, BaseCloseWindowParams param = null) { WindowController theWinCtrl; if (_openedWindowDict.TryGetValue(winId, out theWinCtrl)) { foreach (var p in _plugins) { p.OnWillCloseWindow(theWinCtrl, theWinCtrl.Window); } //这里抽象不同打开/关闭策略 theWinCtrl.Window.gameObject.SetActive(false); theWinCtrl.OnWindowClosed(param); _openedWindowDict.Remove(winId); foreach (var p in _plugins) { p.OnDidCloseWindow(theWinCtrl, theWinCtrl.Window); } } else { Debug.LogWarning("window not open state:" + winId); } }
public virtual void OnWindowClosed(BaseCloseWindowParams param) { }
public override void OnWindowClosed(BaseCloseWindowParams param) { base.OnWindowClosed(param); Debug.Log("main window created"); }