Ejemplo n.º 1
0
        public void CheckModVersion()
        {
            Task.Run(async() =>
            {
                var queryURL = new HttpQueryBuilder(VersionCheck)
                {
                    { "protocol", VersionCheckProtocol },
                    { "engine", Game.EngineVersion },
                    { "mod", Game.ModData.Manifest.Id },
                    { "version", Game.ModData.Manifest.Metadata.Version }
                }.ToString();

                var client = HttpClientFactory.Create();

                var httpResponseMessage = await client.GetAsync(queryURL);
                var result = await httpResponseMessage.Content.ReadAsStringAsync();

                var status = ModVersionStatus.Latest;
                switch (result)
                {
                case "outdated": status = ModVersionStatus.Outdated; break;

                case "unknown": status = ModVersionStatus.Unknown; break;

                case "playtest": status = ModVersionStatus.PlaytestAvailable; break;
                }

                Game.RunAfterTick(() => ModVersionStatus = status);
            });
        }
Ejemplo n.º 2
0
        public void CheckModVersion()
        {
            Action <DownloadDataCompletedEventArgs> onComplete = i =>
            {
                if (i.Error != null)
                {
                    return;
                }
                try
                {
                    var data = Encoding.UTF8.GetString(i.Result);

                    var status = ModVersionStatus.Latest;
                    switch (data)
                    {
                    case "outdated": status = ModVersionStatus.Outdated; break;

                    case "unknown": status = ModVersionStatus.Unknown; break;

                    case "playtest": status = ModVersionStatus.PlaytestAvailable; break;
                    }

                    Game.RunAfterTick(() => ModVersionStatus = status);
                }
                catch { }
            };

            var queryURL = VersionCheck + "?protocol={0}&engine={1}&mod={2}&version={3}".F(
                VersionCheckProtocol,
                Uri.EscapeUriString(Game.EngineVersion),
                Uri.EscapeUriString(Game.ModData.Manifest.Id),
                Uri.EscapeUriString(Game.ModData.Manifest.Metadata.Version));

            new Download(queryURL, _ => { }, onComplete);
        }