add support for userdev launch in ide
All checks were successful
Build / Compute Version (push) Successful in 8s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 4m5s
Build / Build Nuget package (NuGet) (push) Successful in 4m8s
Build / Build Nuget package (SharedCringe) (push) Successful in 4m9s
Build / Build Nuget package (CringePlugins) (push) Successful in 4m30s
Build / Build Launcher (push) Successful in 5m22s

add template for user plugins
This commit is contained in:
zznty
2025-07-07 02:44:02 +07:00
parent 7c236355d4
commit f238b52f95
16 changed files with 782 additions and 35 deletions

View File

@@ -1,5 +1,6 @@
using System.Diagnostics;
using System.Reflection;
using System.Reflection.Metadata;
using System.Runtime.Loader;
using CringeBootstrap;
using CringeBootstrap.Abstractions;
@@ -47,9 +48,20 @@ context.AddDependencyOverride("CringeLauncher");
context.AddDependencyOverride("CringePlugins");
context.AddDependencyOverride("EOSSDK");
var launcher = context.LoadFromAssemblyName(new AssemblyName("CringeLauncher"));
var entrypoint = Environment.GetEnvironmentVariable("DOTNET_BOOTSTRAP_ENTRYPOINT") ??
"CringeLauncher.Launcher, CringeLauncher";
if (!TypeName.TryParse(entrypoint, out var entrypointName) ||
entrypointName.AssemblyName is null)
{
Console.Error.WriteLine($"Invalid entrypoint name: {entrypoint}");
Console.Error.WriteLine("Bootstrap encountered a fatal error and will shutdown.");
Console.Read();
return;
}
using var corePlugin = (ICorePlugin) launcher.CreateInstance("CringeLauncher.Launcher")!;
var launcher = context.LoadFromAssemblyName(entrypointName.AssemblyName.ToAssemblyName());
using var corePlugin = (ICorePlugin) launcher.CreateInstance(entrypointName.FullName)!;
corePlugin.Initialize(args);
corePlugin.Run();