@@ -19,9 +19,6 @@ sealed class GDKVersionItem : VersionItem
1919 const string GameLaunchHelperUri = "https://cdn.flarial.xyz/launcher/gamelaunchhelper.dll" ;
2020 const string MSIXVCPackagesUri = "https://cdn.jsdelivr.net/gh/MinecraftBedrockArchiver/GdkLinks@latest/urls.json" ;
2121
22- static readonly JsonSerializer < Dictionary < string , Dictionary < string , string [ ] > > > s_serializer ;
23- static GDKVersionItem ( ) => s_serializer = JsonSerializer < Dictionary < string , Dictionary < string , string [ ] > > > . Get ( ) ;
24-
2522 readonly string [ ] _downloadUris ;
2623 readonly byte [ ] _gameLaunchHelper ;
2724
@@ -31,27 +28,26 @@ sealed class GDKVersionItem : VersionItem
3128 _gameLaunchHelper = gameLaunchHelper ;
3229 }
3330
34- internal static async Task QueryAsync ( SortedDictionary < string , VersionRegistry . VersionEntry > versionRegistry ) => await Task . Run ( async ( ) =>
31+ internal static async Task QueryAsync ( SortedDictionary < string , VersionRegistry . VersionEntry > registry )
3532 {
3633 var msixvcPackagesTask = HttpStack . GetStreamAsync ( MSIXVCPackagesUri ) ;
3734 var gameLaunchHelperTask = HttpStack . GetBytesAsync ( GameLaunchHelperUri ) ;
35+
3836 await Task . WhenAll ( msixvcPackagesTask , gameLaunchHelperTask ) ;
39-
4037 var gameLaunchHelper = await gameLaunchHelperTask ;
41- using var msixvcPackages = await msixvcPackagesTask ;
38+
39+ using var stream = await msixvcPackagesTask ;
40+ var json = await JsonSerializer . DeserializeAsync < Dictionary < string , Dictionary < string , string [ ] > > > ( stream ) ;
4241
43- foreach ( var item in s_serializer . Deserialize ( msixvcPackages ) [ "release" ] )
42+ foreach ( var item in json [ "release" ] )
4443 {
4544 var index = item . Key . LastIndexOf ( '.' ) ;
4645 var key = item . Key . Substring ( 0 , index ) ;
4746
48- lock ( ( ( ICollection ) versionRegistry ) . SyncRoot )
49- {
50- if ( ! versionRegistry . TryGetValue ( key , out var entry ) ) continue ;
51- entry . _item = new GDKVersionItem ( key , item . Value , gameLaunchHelper ) ;
52- }
47+ if ( ! registry . TryGetValue ( key , out var entry ) ) continue ;
48+ entry . _item = new GDKVersionItem ( key , item . Value , gameLaunchHelper ) ;
5349 }
54- } ) ;
50+ }
5551
5652 static async Task < string ? > PingAsync ( string uri , CancellationToken token )
5753 {
0 commit comments