@@ -18,13 +18,17 @@ sealed class GDKVersionItem : VersionItem
1818 const string GameLaunchHelperUri = "https://cdn.flarial.xyz/launcher/gamelaunchhelper.dll" ;
1919 const string MSIXVCPackagesUri = "https://cdn.jsdelivr.net/gh/MinecraftBedrockArchiver/GdkLinks@latest/urls.json" ;
2020
21- static readonly JsonService < Dictionary < string , Dictionary < string , string [ ] > > > s_json ;
22- static GDKVersionItem ( ) => s_json = JsonService < Dictionary < string , Dictionary < string , string [ ] > > > . GetJson ( ) ;
21+ static readonly JsonSerializer < Dictionary < string , Dictionary < string , string [ ] > > > s_serializer ;
22+ static GDKVersionItem ( ) => s_serializer = JsonSerializer < Dictionary < string , Dictionary < string , string [ ] > > > . Get ( ) ;
2323
24- readonly string [ ] _uris ;
24+ readonly string [ ] _downloadUris ;
2525 readonly byte [ ] _gameLaunchHelper ;
2626
27- GDKVersionItem ( string version , string [ ] uris , byte [ ] gameLaunchHelper ) : base ( version ) => ( _uris , _gameLaunchHelper ) = ( uris , gameLaunchHelper ) ;
27+ GDKVersionItem ( string version , string [ ] downloadUris , byte [ ] gameLaunchHelper ) : base ( version )
28+ {
29+ _downloadUris = downloadUris ;
30+ _gameLaunchHelper = gameLaunchHelper ;
31+ }
2832
2933 internal static async Task QueryAsync ( SortedDictionary < string , VersionRegistry . VersionEntry > registry ) => await Task . Run ( async ( ) =>
3034 {
@@ -35,7 +39,7 @@ internal static async Task QueryAsync(SortedDictionary<string, VersionRegistry.V
3539 var gameLaunchHelper = await gameLaunchHelperTask ;
3640 using var msixvcPackages = await msixvcPackagesTask ;
3741
38- foreach ( var item in s_json . ReadStream ( msixvcPackages ) [ "release" ] )
42+ foreach ( var item in s_serializer . Deserialize ( msixvcPackages ) [ "release" ] )
3943 {
4044 var index = item . Key . LastIndexOf ( '.' ) ;
4145 var key = item . Key . Substring ( 0 , index ) ;
@@ -64,7 +68,7 @@ internal static async Task QueryAsync(SortedDictionary<string, VersionRegistry.V
6468 protected override async Task < string > GetUriAsync ( )
6569 {
6670 using CancellationTokenSource source = new ( ) ;
67- HashSet < Task < string ? > > tasks = [ .. _uris . Select ( _ => PingAsync ( _ , source . Token ) ) ] ;
71+ HashSet < Task < string ? > > tasks = [ .. _downloadUris . Select ( _ => PingAsync ( _ , source . Token ) ) ] ;
6872
6973 while ( tasks . Count > 0 )
7074 {
0 commit comments