Пример #1
0
    /// <summary>
    /// 初始游戏下载文件
    /// </summary>
    private void InitGameDownLoadFiles(int productId)
    {
        GameResConfig serverLobbyRes = serverTableResConfig.gameResConfig;
        BaseRes       serverGameRes  = serverLobbyRes.FindProductRes(productId);

        ComparisonFiles(serverGameRes, productId);
    }
Пример #2
0
    public BaseRes FindGameRes(int productId)
    {
        if (localTableResConfig == null)
        {
            Debug.LogError("本地游戏资源配置数据异常!");
            return(null);
        }

        GameResConfig gameResConfig = localTableResConfig.gameResConfig;

        return(gameResConfig.FindProductRes(productId));
    }
Пример #3
0
    /// <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);
    }
Пример #4
0
    // 检查是否下载服务器资源配置表
    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);
    }
Пример #5
0
    /// <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);
    }
Пример #6
0
 public TableGameRes()
 {
     lobbyResConfig = new LobbyResConfig();
     gameResConfig  = new GameResConfig();
 }