Cleanup ApiManager.Register

This commit is contained in:
YoshiRulz 2019-12-09 20:11:12 +10:00
parent cfd6d7d83b
commit 4e381d944b
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
1 changed files with 4 additions and 22 deletions

View File

@ -17,28 +17,10 @@ namespace BizHawk.Client.EmuHawk
private static ApiContainer container;
private static void Register(IEmulatorServiceProvider serviceProvider)
{
// Register external apis
var apis = Assembly
.Load("BizHawk.Client.ApiHawk")
.GetTypes()
.Where(t => typeof(IExternalApi).IsAssignableFrom(t))
.Where(t => t.IsSealed)
.Where(t => ServiceInjector.IsAvailable(serviceProvider, t))
.Concat(Assembly
.GetAssembly(typeof(ApiContainer))
.GetTypes()
.Where(t => typeof(IExternalApi).IsAssignableFrom(t))
.Where(t => t.IsSealed)
.Where(t => ServiceInjector.IsAvailable(serviceProvider, t)))
.Concat(Assembly
.Load("BizHawk.Client.Common")
.GetTypes()
.Where(t => typeof(IExternalApi).IsAssignableFrom(t))
.Where(t => t.IsSealed)
.Where(t => ServiceInjector.IsAvailable(serviceProvider, t)));
foreach (var api in apis)
foreach (var api in Assembly.Load("BizHawk.Client.Common").GetTypes()
.Concat(Assembly.Load("BizHawk.Client.ApiHawk").GetTypes())
.Concat(Assembly.GetAssembly(typeof(ApiContainer)).GetTypes())
.Where(t => typeof(IExternalApi).IsAssignableFrom(t) && t.IsSealed && ServiceInjector.IsAvailable(serviceProvider, t)))
{
var instance = (IExternalApi)Activator.CreateInstance(api);
ServiceInjector.UpdateServices(serviceProvider, instance);