public void OpenWin(UIPanelType type, Vector3 pos, bool closeOther = false) { BasePanel panel = UIPanelRegister.GetPanel(type); if (panelStack.Count != 0) { BasePanel top = null; if (closeOther) { top = panelStack.Pop(); } else { top = panelStack.Peek(); } if (null != top) { top.OnExit(); } } panel.transform.localPosition = pos; panel.OnEnter(); panelStack.Push(panel); }
public void PushPanel(UIPanelType panelType) { if (panelStack == null) { panelStack = new Stack <BasePanel>(); } //停止上一个界面 if (panelStack.Count > 0) { BasePanel topPanel = panelStack.Peek(); topPanel.OnPause(); } BasePanel panel = GetPanel(panelType); panelStack.Push(panel); panel.OnEnter(); }