private void CheckUnderLayerWindowHide(BaseWindow baseWindow) { if (gameObject != null && gameObject.activeSelf && mIsShow) { mOverWindow = baseWindow; gameObject.SetActive(false); } }
private void CheckUnderLayerWindowShow(BaseWindow baseWindow) { if (gameObject != null && gameObject.activeSelf == false && mIsShow && mOverWindow == baseWindow) { mOverWindow = null; BeforeOnUnderLayerWindowShow(); gameObject.SetActive(true); OnUnderLayerWindowShow(); } }
protected override void InternalOnViewShow() { base.InternalOnViewShow(); // sUIManager.OnLayerShow(mViewParam.ParentLayer, this); sUIManager.OnLayerShow(this); if (CheckHideUnderLayer()) { mUnderLayerWindowList = sUIManager.GetUnderNormalLayerWindows(mViewParam.ParentLayer); for (int i = 0, count = mUnderLayerWindowList.Count; i < count; i++) { BaseWindow baseWindow = mUnderLayerWindowList[i]; baseWindow.CheckUnderLayerWindowHide(this); } } }
protected override void InternalOnViewHide() { base.InternalOnViewHide(); sUIManager.OnLayerHide(mViewParam.ParentLayer, this); if (CheckHideUnderLayer()) { if (mUnderLayerWindowList == null) { return; } for (int i = 0, count = mUnderLayerWindowList.Count; i < count; i++) { BaseWindow baseWindow = mUnderLayerWindowList[i]; baseWindow.CheckUnderLayerWindowShow(this); } mUnderLayerWindowList.Clear(); } }