Exemple #1
0
    /// <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);
            }
        }
    }
Exemple #2
0
    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();
    }