| Main/Manager/UIManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/BattleWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/NewBieGuidance/NewBieCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Manager/UIManager.cs
@@ -325,7 +325,7 @@ return false; } // 检查是否存在任何全屏或遮罩窗口, 暂未定义全屏可以统一勾选openMask public bool ExistAnyFullScreenOrMaskWin(string excludeUIName) { @@ -349,6 +349,36 @@ 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 @@ -842,6 +872,10 @@ { tempStack.Push(tempUI); } else { break; } } // 将临时栈中的UI重新压入栈中 @@ -926,19 +960,6 @@ } } 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 Main/System/Battle/BattleWin.cs
@@ -125,7 +125,7 @@ // 新手期 玩家未做任何操作下,在主线战斗中提醒点击战锤 void LateUpdate() { if (!needGuide) Main/System/NewBieGuidance/NewBieCenter.cs
@@ -217,9 +217,7 @@ { var config = GuideConfig.Get(_id); //要引导的界面上有其他界面盖住,加入队列等待其他界面关闭的时候再触发该界面引导 // if (UIManager.Instance.ExistAnyFullScreenOrMaskWin(config.WinName)) var ui = UIManager.Instance.GetUI(config.WinName); if (ui.IsActive() && ui.childrenUI != null && ui.childrenUI.Count > 0) if (UIManager.Instance.ExistAnyFullScreenOrMaskWinAbove(config.WinName)) { //如果子界面是必须挂在该界面上切且没有蒙版盖住的可以增加判断 if (!waitGuideWinNames.Contains(config.WinName))