* update GenerateGuidFromString to resolve to a stable hash code. fix bots not showing up on live radar * add 0.0.0.0 as internal "ip" even though it's not actually a valid IP but for cod4x * implement pm admins command for issue #170 * implement service resolver for script plugins
32 lines
964 B
C#
32 lines
964 B
C#
using SharedLibraryCore.Interfaces;
|
|
using System;
|
|
using System.Linq;
|
|
|
|
namespace IW4MAdmin.Application.Misc
|
|
{
|
|
/// <summary>
|
|
/// implementation of IScriptPluginServiceResolver
|
|
/// </summary>
|
|
public class ScriptPluginServiceResolver : IScriptPluginServiceResolver
|
|
{
|
|
private readonly IServiceProvider _serviceProvider;
|
|
|
|
public ScriptPluginServiceResolver(IServiceProvider serviceProvider)
|
|
{
|
|
_serviceProvider = serviceProvider;
|
|
}
|
|
|
|
public object ResolveService(string serviceName)
|
|
{
|
|
var serviceType = typeof(IScriptPluginServiceResolver).Assembly.GetTypes().FirstOrDefault(_type => _type.Name == serviceName);
|
|
|
|
if (serviceType == null)
|
|
{
|
|
throw new InvalidOperationException($"No service type '{serviceName}' defined in IW4MAdmin assembly");
|
|
}
|
|
|
|
return _serviceProvider.GetService(serviceType);
|
|
}
|
|
}
|
|
}
|