Ejemplo n.º 1
0
    /// <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);
    }
Ejemplo n.º 2
0
    /// <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);
    }
Ejemplo n.º 3
0
    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;
    }
Ejemplo n.º 4
0
    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;
        }
        }
    }