//-------------------------------------------------------------------------------------------- // 测试版游戏打包: 启动程序/资源包/场景包 void OnBuildGameTest(Rect rct) { if (GUI.Button(rct, @"临时版本")) { string szMsg = ""; List <TglItem> selGms = mGameLst.GetSelItems(); if (selGms.Count <= 0) { szMsg = @"请选择要构建的游戏"; EditorUtility.DisplayDialog(@"操作提示", szMsg, "Ok"); return; } szMsg = @"确定要构建选中的游戏吗? 这个过程会很漫长,请耐心等待直到弹出结果窗口."; if (EditorUtility.DisplayDialog(@"游戏发布", szMsg, "Ok", "Cancel")) { int nCount = 0; GamePackUI gm = null; foreach (TglItem itm in selGms) { string sGm = ArchiveUtil.GetLastPath(itm.mName); if (mGameRes.TryGetValue(sGm.ToLower(), out gm)) { if (gm.BuildTempGame(mTgtCtrl.GetSelTarget())) { ++nCount; } } } szMsg = @"消息: 成功打包 ["; szMsg += (nCount.ToString() + @"] 个游戏, 有 ["); szMsg += ((selGms.Count - nCount).ToString() + @"] 个游戏打包失败"); EditorUtility.DisplayDialog(@"操作已结束", szMsg, "Ok"); } } }
//-------------------------------------------------------------------------------------------- // 点击游戏列表 void OnClickGameList(TglItem itm, UIToggleCtrl frm) { //if (itm.mbSel) { GamePackUI gm = null; string sGm = ArchiveUtil.GetLastPath(itm.mName); mGameRes.TryGetValue(sGm.ToLower(), out gm); if (gm != mpSelGM) { mpSelGM = gm; } } }
//-------------------------------------------------------------------------------------------- void OnFirstGame() { List <TglItem> itms = mGameLst.GetItems(); if (itms.Count > 0) { itms[0].mbSel = true; GamePackUI gm = null; string sGm = ArchiveUtil.GetLastPath(itms[0].mName); mGameRes.TryGetValue(sGm.ToLower(), out gm); if (gm != mpSelGM) { mpSelGM = gm; } } }
//-------------------------------------------------------------------------------------------- // 刷新游戏列表 void NtfRefreshGames() { mpSelGM = null; mGameRes.Clear(); mGameLst.ResetCtrl(); List <string> pths = ArchiveUtil.NtfGetDirs(Application.dataPath, false, ArchiveUtil.mSkips); foreach (string sPth in pths) { string sl = sPth.ToLower(); if (sl.Contains("package") || sl.Contains("resources") || sl.Contains("extends")) { mGameLst.AddItem(new TglItem(sPth)); string sGm = ArchiveUtil.GetLastPath(sPth); string sPt = ArchiveUtil.NtfPathAfterAssets(sPth); GamePackUI gpu = new GamePackUI(sGm, sPt, this); mGameRes.Add(sGm.ToLower(), gpu); } } OnFirstGame(); }