Пример #1
0
    public void CreateWindow(Window win, WindowFactory.VoidHandle handle, bool isShow = true, params object[] param)
    {
        // SimpleFramework.Util.Log("Create Window name:{0},resType:{1}", win.Name, win.resType);
        if (WindowManager.instance.IsCloseingAll)
        {
            return;
        }
        if (win.IsLoad)
        {
            if (isShow)
            {
                win.Show(param);
            }
            else
            {
                win.Hide();
            }
            return;
        }

        PanelManager.instance.CreatePanel(win, win.bundle, handle, isShow, param);

        //switch (win.resType)
        //{
        //    case ResourceType.Resource:

        //        break;
        //    case ResourceType.AssetBundle:
        //        // SimpleFramework.LuaHelper.GetPanelManager().CreatePanel();
        //        break;
        //}
    }
Пример #2
0
    public void CreateWindow(Window win, WindowFactory.VoidHandle handle, bool isShow = true)
    {
        Logger.DebugFormat("Create Window name:{0},resType:{1}", win.Name, win.resType);
        if (WindowManager.instance.IsCloseingAll)
        {
            return;
        }
        if (win.IsLoad)
        {
            win.Show();
            return;
        }

        switch (win.resType)
        {
        case ResourceType.Resource:
            ResourceCenter.instance.LoadWindow(ResourceType.Resource, win.resUrl, delegate(object obj)
            {
                win.m_gameObject = obj as GameObject;
                WindowManager.instance.InsertWindow(win);
                win.OnLoad();
                if (handle != null)
                {
                    handle();
                }
                if (isShow)
                {
                    win.Show();
                }
            });
            break;

        case ResourceType.AssetBundle:
            ResourceCenter.instance.LoadWindow(ResourceType.AssetBundle, win.bundle, delegate(object obj)
            {
                win.m_gameObject = obj as GameObject;
                WindowManager.instance.InsertWindow(win);
                win.OnLoad();
                if (handle != null)
                {
                    handle();
                }
                if (isShow)
                {
                    win.Show();
                }
            });
            break;
        }
    }
Пример #3
0
    public void CreatePanel(Window win, string name, WindowFactory.VoidHandle func = null, bool isShow = true, params object[] param)
    {
        try
        {
            //string abName = Util.Upper2LowerAnd_(name) + AppConst.ExtName;
            string abName    = name.ToLower() + AppConst.ExtName;
            string assetName = name;
            string objName   = assetName.Replace("_pad", "") + "Panel";
            Util.Log("CreatePanel::>>name-->" + name + "--abName-->" + abName + "====DataPath=========" + Util.DataPath);

#if UNITY_EDITOR
            UnityEngine.Object obj    = UnityEditor.AssetDatabase.LoadAssetAtPath(m_windowPrefabPath[name.ToLower()], typeof(GameObject));
            GameObject         prefab = obj as GameObject;
            if (prefab == null)
            {
                WindowFactory.instance.OnStopLoad(win.m_winEnumType);
                return;
            }
            if (Parent.Find(name) != null)
            {
                Util.Log("��һ�������Ԥ����====" + name);
                GameObject.Destroy(Parent.Find(name).gameObject);
            }
            if (Parent.Find(objName) != null)
            {
                Util.Log("�Ѿ�������====" + objName);
                GameObject.Destroy(Parent.Find(objName).gameObject);
            }
            GameObject go = GameObject.Instantiate(prefab) as GameObject;
            Vector3    anchoredPosition3D = go.GetComponent <RectTransform>().anchoredPosition3D;
            go.name  = assetName + "Panel";
            go.layer = LayerMask.NameToLayer("UI");
            go.transform.SetParent(Parent);
            go.transform.localScale    = Vector3.one;
            go.transform.localPosition = Vector3.zero;
            RectTransform rtf = go.GetComponent <RectTransform>();
            rtf.sizeDelta          = Vector2.zero;
            rtf.anchoredPosition3D = anchoredPosition3D;

            win.m_gameObject = go;
            WindowManager.instance.InsertWindow(win);
            WindowFactory.instance.OnCreateWindow(win);
            Util.Log("finishLoad:{0},show:{1}", win.ToString(), isShow);
            win.OnLoad();
            if (isShow)
            {
                win.Show(param);
            }
            else
            {
                win.Hide();
            }

            if (func != null)
            {
                func();
            }
#else
            Main.ResManager.LoadPrefab(abName, assetName, delegate(UnityEngine.Object[] objs)
            {
                if (objs.Length > 0)
                {
                    if (objs[0] != null)
                    {
                        GameObject prefab = objs[0] as GameObject;
                        if (prefab == null)
                        {
                            WindowFactory.instance.OnStopLoad(win.m_winEnumType);
                            return;
                        }
                        if (Parent.Find(name) != null)
                        {
                            Util.Log("��һ�������Ԥ����====" + name);
                            GameObject.Destroy(Parent.Find(name).gameObject);
                        }
                        if (Parent.Find(objName) != null)
                        {
                            Util.Log("�Ѿ�������====" + objName);
                            GameObject.Destroy(Parent.Find(objName).gameObject);
                        }
                        GameObject go = GameObject.Instantiate(prefab) as GameObject;
                        Vector3 anchoredPosition3D = go.GetComponent <RectTransform>().anchoredPosition3D;
                        go.name  = assetName + "Panel";
                        go.layer = LayerMask.NameToLayer("UI");
                        go.transform.SetParent(Parent);
                        go.transform.localScale    = Vector3.one;
                        go.transform.localPosition = Vector3.zero;
                        RectTransform rtf          = go.GetComponent <RectTransform>();
                        rtf.sizeDelta          = Vector2.zero;
                        rtf.anchoredPosition3D = anchoredPosition3D;

                        win.m_gameObject = go;
                        WindowManager.instance.InsertWindow(win);
                        WindowFactory.instance.OnCreateWindow(win);
                        Util.Log("finishLoad:{0},show:{1}", win.ToString(), isShow);
                        win.OnLoad();
                        if (isShow)
                        {
                            win.Show(param);
                        }
                        else
                        {
                            win.Hide();
                        }

                        if (func != null)
                        {
                            func();
                        }
                    }
                    else
                    {
                        WindowFactory.instance.OnStopLoad(win.m_winEnumType);
                    }
                }
                else
                {
                    WindowFactory.instance.OnStopLoad(win.m_winEnumType);
                }
            });
#endif
        }
        catch (System.Exception e)
        {
            Util.Log(e.Message + " " + e.StackTrace);
        }
    }