/// <summary> /// 关闭UI /// </summary> /// <param name="UI">目标UI</param> /// <param name="isPlayAnim">是否播放关闭动画</param> /// <param name="callback">动画播放完毕回调</param> /// <param name="objs">回调传参</param> public static void CloseUIWindow(UIWindowBase UI, bool isPlayAnim = true, UICallBack callback = null, params object[] objs) { RemoveUI(UI); //移除UI引用 UI.RemoveAllListener(); //s_UILayerManager.RemoveUI(UI); if (isPlayAnim) { //动画播放完毕删除UI if (callback != null) { callback += CloseUIWindowCallBack; } else { callback = CloseUIWindowCallBack; } UI.windowStatus = UIWindowBase.WindowStatus.CloseAnim; UIAnimManager.StartExitAnim(UI, callback, objs); } else { CloseUIWindowCallBack(UI, objs); } }
public static void Init() { if (!isInit) { isInit = true; GameObject instance = GameObject.Find("UIManager"); if (instance == null) { instance = GameObjectManager.CreateGameObject("UIManager"); } UIManagerGo = instance; s_UILayerManager = instance.GetComponent <UILayerManager>(); s_UIAnimManager = instance.GetComponent <UIAnimManager>(); s_UIStackManager = instance.GetComponent <UIStackManager>(); s_EventSystem = instance.GetComponentInChildren <EventSystem>(); if (Application.isPlaying) { DontDestroyOnLoad(instance); } } }
/// <summary> /// 打开UI /// </summary> /// <param name="UIName">UI名</param> /// <param name="callback">动画播放完毕回调</param> /// <param name="objs">回调传参</param>` /// <returns>返回打开的UI</returns> public static UIWindowBase OpenUIWindow(string UIName, UICallBack callback = null, params object[] objs) { UIWindowBase UIbase = GetHideUI(UIName); if (UIbase == null) { UIbase = CreateUIWindow(UIName); } RemoveHideUI(UIbase); AddUI(UIbase); UIStackManager.OnUIOpen(UIbase); UILayerManager.SetLayer(UIbase); //设置层级 UIbase.windowStatus = UIWindowBase.WindowStatus.OpenAnim; UISystemEvent.Dispatch(UIbase, UIEvent.OnOpen); //派发OnOpen事件 try { UIbase.OnOpen(); } catch (Exception e) { Debug.LogError(UIName + " OnOpen Exception: " + e.ToString()); } UISystemEvent.Dispatch(UIbase, UIEvent.OnOpened); //派发OnOpened事件 UIAnimManager.StartEnterAnim(UIbase, callback, objs); //播放动画 return(UIbase); }
static void SetUIManager(GameObject instance) { s_UIManagerGo = instance; s_UILayerManager = instance.GetComponent <UILayerManager>(); s_UIAnimManager = instance.GetComponent <UIAnimManager>(); s_UIcamera = instance.GetComponentInChildren <Camera>(); DontDestroyOnLoad(instance); }
public static void Init() { GameObject l_instance = GameObjectManager.CreatGameObject("UIManager"); s_instance = l_instance.GetComponent <UIManager>(); s_UILayerManager = l_instance.GetComponent <UILayerManager>(); s_UIAnimManager = l_instance.GetComponent <UIAnimManager>(); s_UIcamera = l_instance.GetComponentInChildren <Camera>(); DontDestroyOnLoad(l_instance); }
static int set_s_UIAnimManager(IntPtr L) { try { UIAnimManager arg0 = (UIAnimManager)ToLua.CheckUnityObject(L, 2, typeof(UIAnimManager)); UIManager.s_UIAnimManager = arg0; return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static public Dictionary <string, List <UIWindowBase> > s_hideUIs = new Dictionary <string, List <UIWindowBase> >(); //隐藏的UI #region 初始化 public static void Init() { GameObject instance = GameObject.Find("UIManager"); if (instance == null) { instance = GameObjectManager.CreateGameObject("UIManager"); } s_UIManagerGo = instance; s_UILayerManager = instance.GetComponent <UILayerManager>(); s_UIAnimManager = instance.GetComponent <UIAnimManager>(); s_UIcamera = instance.GetComponentInChildren <Camera>(); DontDestroyOnLoad(instance); }
public static void Init() { var instance = GameObject.Find("UIManager"); if (instance == null) { instance = GameObjectManager.Instance.CreatePoolObject("UIManager"); } m_instance = instance; m_uiLayerManager = instance.GetComponent <UILayerManager>(); m_uiAnimManager = instance.GetComponent <UIAnimManager>(); m_uiCamera = instance.GetComponentInChildren <Camera>(); DontDestroyOnLoad(instance); }