using System; using Data.Abstractions; using Data.Models.Server; using Microsoft.Extensions.DependencyInjection; using SharedLibraryCore; using SharedLibraryCore.Configuration; using SharedLibraryCore.Interfaces; namespace IW4MAdmin.Application.Factories { /// /// implementation of IGameServerInstanceFactory /// /// /// /// internal class GameServerInstanceFactory( ITranslationLookup translationLookup, IMetaServiceV2 metaService, IServiceProvider serviceProvider) : IGameServerInstanceFactory { /// /// creates an IW4MServer instance /// /// server configuration /// application manager /// public Server CreateServer(ServerConfiguration config, IManager manager) { return new IW4MServer(config, serviceProvider.GetRequiredService(), translationLookup, metaService, serviceProvider, serviceProvider.GetRequiredService(), serviceProvider.GetRequiredService>()); } } }