예제 #1
0
        private async Task _checkAssets(string gameDirectory)
        {
            var assetIndex = _jsonManager.DownloadJson(_minecraftVersion.AssetIndex.Url);

            var objects = assetIndex["objects"];
            var assets  = objects.Values <JProperty>().ToArray();

            var progressForEach = 4 / assets.Count();

            foreach (var asset in assets)
            {
                if (_minecraftVersion.Assets == "legacy")
                {
                    _addLegacyAsset(gameDirectory, asset);
                }
                else
                {
                    _addAsset(gameDirectory, asset);
                }

                _addProgressAndSend(progressForEach);
            }

            _sendProgressText(UIResource.DownloadAssetsStatus);
            await _downloadFromQueue(50);
        }
예제 #2
0
        public AllVersions DownloadAllVersions()
        {
            var versions = new AllVersions();

            var json      = _jsonManager.DownloadJson(ModelResource.VersionsUrl);
            var jVersions = json["versions"].ToObject <Version[]>();

            versions.Release.AddRange(jVersions.Where(_ => _.Type == ModelResource.release).Select(_ => _.Id));
            versions.Snapshot.AddRange(jVersions.Where(_ => _.Type == ModelResource.snapshot).Select(_ => _.Id));
            versions.Beta.AddRange(jVersions.Where(_ => _.Type == ModelResource.beta).Select(_ => _.Id));
            versions.Alpha.AddRange(jVersions.Where(_ => _.Type == ModelResource.alpha).Select(_ => _.Id));

            return(versions);
        }