/// <summary> /// 初始游戏下载文件 /// </summary> private void InitGameDownLoadFiles(int productId) { GameResConfig serverLobbyRes = serverTableResConfig.gameResConfig; BaseRes serverGameRes = serverLobbyRes.FindProductRes(productId); ComparisonFiles(serverGameRes, productId); }
public BaseRes FindGameRes(int productId) { if (localTableResConfig == null) { Debug.LogError("本地游戏资源配置数据异常!"); return(null); } GameResConfig gameResConfig = localTableResConfig.gameResConfig; return(gameResConfig.FindProductRes(productId)); }
/// <summary> /// 同步具体产品游戏资源配置数据 /// </summary> public void SyncGameResConfig(GameResConfig gameResConfig, int productId) { BaseRes newGameRes = gameResConfig.FindProductRes(productId); if (newGameRes == null) { return; } LocalTableResConfig.gameResConfig.RebuildGameRes(newGameRes, productId); ABAssetDataMgr.Instance.SyncGameAssetInfo(LocalTableResConfig, productId); string xmlPath = ABConfiger.GetSandboxFilePath(TableGameRes.FILE_NAME); XMLSerializer.Save <TableGameRes>(xmlPath, LocalTableResConfig); }
// 检查是否下载服务器资源配置表 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); }
/// <summary> /// 加载游戏资源配置 /// </summary> /// <param name="resConfig"></param> /// <param name="productId">产品ID</param> public void LoadGameAssetsInfo(TableGameRes resConfig, int productId) { GameResConfig gameResConfig = resConfig.gameResConfig; BaseRes gameRes = gameResConfig.FindProductRes(productId); if (gameRes == null) { return; } Dictionary <string, ResData> assetInfo = gameAssetsInfo.FindGameAsset(productId); if (assetInfo != null) { return; } assetInfo = gameAssetsInfo.CreateGameAsset(productId); LoadAssetsInfo(gameRes, assetInfo); }
public TableGameRes() { lobbyResConfig = new LobbyResConfig(); gameResConfig = new GameResConfig(); }