/// <summary> /// 创建界面 /// </summary> /// <param name="winPath">加载资源路径</param> /// <param name="winName">打开界面的名字</param> private static LAUIBehaviour CreatePage(string winName, string winPath) { if (string.IsNullOrEmpty(winName)) { LCSConsole.WriteError("打开的界面名字为空! pageName = " + winName); return(null); } if (string.IsNullOrEmpty(winPath)) { LCSConsole.WriteError("加载资源 AssetBundle 文件路径为空! bundlePath = " + winPath); return(null); } GameObject ui = LCSManageSource.LoadSource(winName, winPath); if (ui == null) { LCSConsole.WriteError("加载的资源不存在!"); return(null); } GameObject go = GameObject.Instantiate(ui) as GameObject; if (go == null) { return(null); } LCSCompHelper.InitTransform(go, UIRoot); return(LCSCompHelper.GetComponent <LAUIBehaviour>(go)); }
/// <summary> /// 异步打开界面 /// </summary> /// <param name="winName"></param> /// <param name="winPath"></param> public static void AsyncOpenWindow(string winName, string winPath) { LAUIBehaviour win = null; if (TryFind <LCSUIManage>(winName, out win)) { return; } // 当前最高的界面失去焦点 LAUIBehaviour topWin = TopWindow(); if (topWin != null) { topWin.OnLostFocus(); } LCSManageSource.AsyncLoadSource(winName, winPath, AsyncOpenWindowCallback); }