using System.Collections.Generic; using UnityEngine; public partial class UIManager { /// /// 动静分离,Canvas分层 /// public enum ECanvasRoot { Dynamic0, Static1, Dynamic2, Static3, Dynamic4 } private LinkedList _GetLayerWindowList(UIWindowLayer layer) { LinkedList windowsL = new LinkedList(); foreach (var windowData in _layerList) { if (windowData.Key == (int)layer) { windowsL = windowData.Value; break; } } return windowsL; } private bool _CheckIsLayerListEmpty(UIWindowLayer enumType) { var normalWindowList = _GetLayerWindowList(enumType); if (normalWindowList.Count > 0) { return false; } return true; } public bool CheckIsLayerListEmpty(UIWindowLayer enumType) { return _CheckIsLayerListEmpty(enumType); } public UIWindow GetTopWindowInLayer(UIWindowLayer windowType) { if (_layerList.TryGetValue((int)windowType, out var windowList)) { if (windowList.Count > 0) { UIWindow window = windowList.Last.Value; return window; } } return null; } }