/// <summary> /// 同步大厅资源配置数据 /// </summary> /// <param name="lobbyResConfig"></param> public void SyncLobbyResConfig(LobbyResConfig lobbyResConfig) { LocalTableResConfig.lobbyResConfig = lobbyResConfig; ABAssetDataMgr.Instance.SyncLobbyAssetInfo(LocalTableResConfig); string xmlPath = ABConfiger.GetSandboxFilePath(TableGameRes.FILE_NAME); XMLSerializer.Save <TableGameRes>(xmlPath, LocalTableResConfig); }
/// <summary> /// 初始大厅下载文件 /// </summary> private void InitLobbyDownLoadFiles() { ABAssetDataMgr abAssetMgr = ABAssetDataMgr.Instance; // 比对lua文件 LobbyResConfig serverLobbyRes = serverTableResConfig.lobbyResConfig; List <ResData> sLuaDatas = serverLobbyRes.scripts.luaFiles; foreach (ResData sLuaData in sLuaDatas) { string abName = sLuaData.name; ResData luaData = abAssetMgr.FindResData(abName, ResourceType.RES_LUA); if (luaData != null && sLuaData.md5 == luaData.md5) { continue; } downLoadMgr.AddDownLoadFile(sLuaData); } // 比对shader文件 ResData ssData = serverLobbyRes.shader; ResData lsData = abAssetMgr.FindResData(ssData.name); if (lsData != null && ssData.md5 != lsData.md5) { downLoadMgr.AddDownLoadFile(ssData); } // 比对数据文件 ResData sData = serverLobbyRes.datas; ResData lData = abAssetMgr.FindResData(sData.name); if (lData != null && sData.md5 != lData.md5) { downLoadMgr.AddDownLoadFile(sData); } // 比对公有资源 ComparisonFiles(serverLobbyRes.common); // 比热更新资源 ComparisonFiles(serverLobbyRes.hotUpdate); // 比对登录资源 ComparisonFiles(serverLobbyRes.login); // 比对大厅资源 ComparisonFiles(serverLobbyRes.lobby); // 比对游戏资源 ComparisonFiles(serverLobbyRes.game); }
private bool CheckLobbyHotUpdate() { if (!TableGameConfig.openHotUpdate || !TableGameConfig.openLobbyHp) { return(false); } LobbyResConfig lobbyResConfig = LocalResConfigMgr.Instance.LocalLobbyResConfig; if (string.IsNullOrEmpty(TableGameConfig.version) || string.IsNullOrEmpty(lobbyResConfig.version) || CheckVersion(TableGameConfig.version, lobbyResConfig.version) <= 0) { Debug.Log("Lobby Version code is same!"); return(false); } return(true); }
// 检查是否下载服务器资源配置表 private bool CheckDownLoadResConfig() { // 检查是否需要热更新 if (!TableGameConfig.openHotUpdate) { return(false); } LocalResConfigMgr localResConfigMgr = LocalResConfigMgr.Instance; // 比对大厅资源版本 LobbyResConfig lobbyResConfig = localResConfigMgr.LocalLobbyResConfig; if (TableGameConfig.openLobbyHp && CheckVersion(TableGameConfig.version, lobbyResConfig.version) > 0) { return(true); } // 判断是否游戏是否需要更新 if (!TableGameConfig.openGameHp) { return(false); } // 比对游戏资源版本 GameResConfig gameResConfig = localResConfigMgr.LocalGameResConfig; var enumerator = TableGameConfig.gameVersion.GetEnumerator(); while (enumerator.MoveNext()) { int productId = enumerator.Current.Key; string gameVer = enumerator.Current.Value; BaseRes gameRes = gameResConfig.FindProductRes(productId); if (gameRes == null || CheckVersion(gameVer, gameRes.version) > 0) { return(true); } } return(false); }
private void LoadLobbyAssetsInfo(TableGameRes resConfig) { LobbyResConfig lobbyResConfig = resConfig.lobbyResConfig; ResData data = lobbyResConfig.shader; if (data != null) { lobbyAssetsInfo.Add(data.name, data); } data = lobbyResConfig.datas; if (data != null) { lobbyAssetsInfo.Add(data.name, data); } LoadAssetsInfo(lobbyResConfig.common, lobbyAssetsInfo); LoadAssetsInfo(lobbyResConfig.hotUpdate, lobbyAssetsInfo); LoadAssetsInfo(lobbyResConfig.login, lobbyAssetsInfo); LoadAssetsInfo(lobbyResConfig.lobby, lobbyAssetsInfo); LoadAssetsInfo(lobbyResConfig.game, lobbyAssetsInfo); }
public TableGameRes() { lobbyResConfig = new LobbyResConfig(); gameResConfig = new GameResConfig(); }