/// <summary> /// 展示气泡 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="popup"></param> /// <returns></returns> public T ShowPopup <T>(PopupBean popupData) where T : PopupShowView { if (manager.popupList.TryGetValue(popupData.PopupType, out PopupShowView popup)) { popup.ShowObj(true); return(popup as T); } else { T newPopup = manager.CreatePopup <T>(popupData); return(newPopup); } }
/// <summary> /// 创建气泡 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="popupName"></param> /// <returns></returns> public T CreatePopup <T>(PopupBean popopData) where T : PopupShowView { string popupName = popopData.PopupType.GetEnumName(); GameObject objModel = GetPopupModel(popupName); if (objModel == null) { LogUtil.LogError("没有找到指定popup:" + popupName); return(default(T)); } Transform objPopupContainer = GetUITypeContainer(UITypeEnum.Popup); GameObject objPopup = Instantiate(objPopupContainer.gameObject, objModel); T popup = objPopup.GetComponent <T>(); popupList.Add(popopData.PopupType, popup); return(popup); }