/// <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); }