public void HideUIFromStack(UIInfo uiInfo) { UIBase curUI = this.activeUIStack.Peek(); if (curUI.UiInfo != uiInfo) { Debug.LogError(uiInfo.uiName + "Already Hide"); } else { curUI = this.activeUIStack.Pop(); curUI.gameObject.SetActive(false); curUI.OnHide(); this._AddToDeactiveList(curUI); } if (this.activeUIStack.Count > 0) { curUI = this.activeUIStack.Peek(); curUI.gameObject.SetActive(true); } }