예제 #1
0
        /// <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));
        }
예제 #2
0
        /// <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);
        }