Пример #1
0
    /// <summary>
    /// 协同打开UI。
    /// </summary>
    /// <returns>The callback open UI.</returns>
    private IEnumerator <int> AyncCallbackOpenUI()
    {
        UIInfoData uiInfoData = null;

        UnityEngine.Object prefab   = null;
        GameObject         uiObject = null;

        if (stackOpenUI != null && stackOpenUI.Count > 0)
        {
            do
            {
                uiInfoData = stackOpenUI.Pop();
                prefab     = Singleton <ResourceManager> .Instance.LoadPrefab(uiInfoData.Path);

                if (prefab != null)
                {
                    uiObject = NGUITools.AddChild(Game.Instance.UiRoot, prefab as GameObject);
                    GUIBase baseUi = uiObject.GetComponent <GUIBase>();
                    if (baseUi != null)
                    {
                        baseUi.SetUIWhenOpening(uiInfoData.UIObjParams);
                    }
                    allOpenUIDic.Add(uiInfoData.UIKey, uiObject);
                }
            } while (stackOpenUI.Count > 0);
        }
        yield return(0);
    }