image loader for imgui and optional nuget icons for plugins in browse tab
All checks were successful
Build / Compute Version (push) Successful in 6s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 4m13s
Build / Build Nuget package (NuGet) (push) Successful in 4m12s
Build / Build Nuget package (CringePlugins) (push) Successful in 4m16s
Build / Build Nuget package (SharedCringe) (push) Successful in 4m11s
Build / Build Launcher (push) Successful in 5m13s

This commit is contained in:
zznty
2025-06-05 00:10:27 +07:00
parent db73daf8a9
commit 05556c7841
9 changed files with 338 additions and 9 deletions

View File

@@ -1,4 +1,5 @@
using System.Reflection;
using System.Net;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Loader;
@@ -161,15 +162,26 @@ public class Launcher : ICorePlugin
{
var services = new ServiceCollection();
var retryPolicy = HttpPolicyExtensions.HandleTransientHttpError()
.WaitAndRetryAsync(5, _ => TimeSpan.FromSeconds(1));
services.AddHttpClient<PluginsLifetime>()
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
AutomaticDecompression = System.Net.DecompressionMethods.All
AutomaticDecompression = DecompressionMethods.All
})
.AddPolicyHandler(HttpPolicyExtensions.HandleTransientHttpError().WaitAndRetryAsync(5, _ => TimeSpan.FromSeconds(1)));
.AddPolicyHandler(retryPolicy);
services.AddHttpClient<ImGuiImageService>()
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
AutomaticDecompression = DecompressionMethods.All
})
.AddPolicyHandler(retryPolicy);
services.AddSingleton(_ => RenderHandler.Current)
.AddSingleton<IPluginsLifetime>(s => s.GetRequiredService<PluginsLifetime>())
.AddSingleton<IImGuiImageService>(s => s.GetRequiredService<ImGuiImageService>())
.AddSingleton(_ => new ConfigHandler(_configDir));
return GameServicesExtension.GameServices = services.BuildServiceProvider();