示例#1
0
    /// <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);
        }
    }
示例#2
0
    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);
            }
        }
    }
示例#3
0
    /// <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);
    }
示例#4
0
    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);
    }
示例#5
0
    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);
    }
示例#6
0
 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));
     }
 }
示例#7
0
    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);
    }
示例#8
0
    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);
    }