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