| | |
| | | |
| | | return false; |
| | | } |
| | | |
| | | |
| | | // 检查是否存在任何全屏或遮罩窗口, 暂未定义全屏可以统一勾选openMask |
| | | public bool ExistAnyFullScreenOrMaskWin(string excludeUIName) |
| | | { |
| | |
| | | |
| | | return exist; |
| | | } |
| | | |
| | | //在此界面上有没任何全屏或遮罩窗口 |
| | | public bool ExistAnyFullScreenOrMaskWinAbove(string uiName) |
| | | { |
| | | var ui = GetUI(uiName); |
| | | if (ui == null || !ui.IsActive()) |
| | | { |
| | | // 如果UI不存在或未打开,默认为有被挡住 |
| | | return true; |
| | | } |
| | | |
| | | foreach (var uiBase in uiStack) |
| | | { |
| | | if (uiBase == null) |
| | | { |
| | | continue; |
| | | } |
| | | if (uiBase.name == uiName) |
| | | { |
| | | break; |
| | | } |
| | | if (uiBase.IsActive() && uiBase.openMask) |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | |
| | | // 获取指定类型的所有UI实例 |
| | | public List<T> GetAllUI<T>() where T : UIBase |
| | |
| | | { |
| | | tempStack.Push(tempUI); |
| | | } |
| | | else |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // 将临时栈中的UI重新压入栈中 |
| | |
| | | } |
| | | } |
| | | |
| | | public void ReturnMainUI() |
| | | { |
| | | List<UIBase> allUI = new List<UIBase>(uiStack); |
| | | |
| | | for (int i = 0; i < allUI.Count; i++) |
| | | { |
| | | UIBase uiBase = allUI[i]; |
| | | if (!uiBase.isMainUI && uiBase.uiLayer < UILayer.System) |
| | | { |
| | | CloseWindow(uiBase); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 关闭所有UI |