/// <summary> /// 比较版本号确定是否需要下载。 /// </summary> /// <param name="gameName"></param> /// <returns></returns> public GameVersionState GetGameResVersionState(string gameName) { if (!_gameResfileInfoDict.ContainsKey(gameName)) { return(GameVersionState.NewestVersion); } if (_gameVersionStateDict.ContainsKey(gameName)) { return(_gameVersionStateDict[gameName]); } GameResFileInfo gameResFileInfo = _gameResfileInfoDict[gameName]; GameVersionState totalState = GameVersionState.NewestVersion; foreach (DownLoadFileInfo info in gameResFileInfo.infoList) { GameVersionState state = CheckOnceFileInfo(info); if (state == GameVersionState.UnLoad) { return(GameVersionState.UnLoad); } else if (state == GameVersionState.OldVersion) { totalState = state; } } return(totalState); }
/// <summary> /// 文件夹是否是最新版本 /// </summary> /// <param name="gameName">文件夹</param> /// <returns></returns> public bool IsNewestVersion(string gameName) { if (gameName.EndsWith(".zip")) { int index = gameName.LastIndexOf(".zip"); gameName = gameName.Remove(index); } GameVersionState state = GetGameResVersionState(gameName); return(state == GameVersionState.NewestVersion); }
private void InitGameResFileInfo() { StreamReader streamReader = new StreamReader(Path.Combine(URLFactory.DownLoadHotFilePath, "AssetList.txt")); string str = null; while (!streamReader.EndOfStream) { str = streamReader.ReadLine(); if (str.Contains("//")) { continue; } if (str.Contains("ApplicationVersion")) { URLFactory.NewAppVersion = str.Split('~')[0]; continue; } else if (str.Contains("ApkUrl")) { URLFactory.NewAppVersion = str.Split('~')[0]; continue; } DownLoadFileInfo info = new DownLoadFileInfo(str); if (info.IsInvalid) { continue; } if (!_gameResfileInfoDict.ContainsKey(info.GameName)) { _gameResfileInfoDict[info.GameName] = new GameResFileInfo(info.GameName); } _gameResfileInfoDict[info.GameName].AddFileInfo(info); } streamReader.Close(); foreach (string gameName in _gameResfileInfoDict.Keys) { GameVersionState state = GetGameResVersionState(gameName); _gameVersionStateDict[gameName] = state; } IsInited = true; }
private void Awake() { Screen.showCursor = false; m_GameLogo = m_GameLogoInfo; m_GameVersionState = m_GameVersionType; XKGlobalData.m_GameVersionHddServer = m_GameVersionHddServer; switch (m_GameVersionHddServer) { case GameVersionHddServer.CeShiBan: { //设置游戏为红点点测试服务器版本信息. XKGameVersionCtrl.SetTestGameVersion(); break; } case GameVersionHddServer.ZhengShiBan: { //设置红点点正式服务器版本信息. XKGameVersionCtrl.SetReleaseGameVersion(); break; } } }