/// <summary> /// 关闭界面。 /// </summary> /// <param name="uiKey"></param> public void CloseUI(UIPanleID uiKey) { GameObject uiObject = null; if (!allOpenUIDic.TryGetValue(uiKey, out uiObject)) { return; } if (uiObject == null) { if (allOpenUIDic.ContainsKey(uiKey)) { allOpenUIDic.Remove(uiKey); } } else { GUIBase baseUI = uiObject.GetComponent <GUIBase>(); if (baseUI != null) { baseUI.StateChanged += CloseHandler; baseUI.Release(); } else { GameObject.Destroy(uiObject); allOpenUIDic.Remove(uiKey); } } }
public void CloseAllUI() { List <UIPanleID> keyList = new List <UIPanleID>(allOpenUIDic.Keys); foreach (UIPanleID uiKey in keyList) { GameObject obj = allOpenUIDic[uiKey]; GUIBase baseUI = obj.GetComponent <GUIBase>(); if (baseUI != null) { baseUI.StateChanged += CloseHandler; baseUI.Release(); } else { GameObject.Destroy(obj); allOpenUIDic.Remove(uiKey); } } allOpenUIDic.Clear(); mutexUIList.Clear(); }