Remove static IoC from client & server EntryPoint (#40562)
* Remove static IoC from client & server EntryPoint * Fix missing log manager initialization * file namespace
This commit is contained in:
@@ -77,18 +77,21 @@ namespace Content.Client.Entry
|
|||||||
[Dependency] private readonly IEntitySystemManager _entitySystemManager = default!;
|
[Dependency] private readonly IEntitySystemManager _entitySystemManager = default!;
|
||||||
[Dependency] private readonly ClientsidePlaytimeTrackingManager _clientsidePlaytimeManager = default!;
|
[Dependency] private readonly ClientsidePlaytimeTrackingManager _clientsidePlaytimeManager = default!;
|
||||||
|
|
||||||
public override void Init()
|
public override void PreInit()
|
||||||
{
|
{
|
||||||
ClientContentIoC.Register();
|
ClientContentIoC.Register(Dependencies);
|
||||||
|
|
||||||
foreach (var callback in TestingCallbacks)
|
foreach (var callback in TestingCallbacks)
|
||||||
{
|
{
|
||||||
var cast = (ClientModuleTestingCallbacks) callback;
|
var cast = (ClientModuleTestingCallbacks) callback;
|
||||||
cast.ClientBeforeIoC?.Invoke();
|
cast.ClientBeforeIoC?.Invoke();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
IoCManager.BuildGraph();
|
public override void Init()
|
||||||
IoCManager.InjectDependencies(this);
|
{
|
||||||
|
Dependencies.BuildGraph();
|
||||||
|
Dependencies.InjectDependencies(this);
|
||||||
|
|
||||||
_contentLoc.Initialize();
|
_contentLoc.Initialize();
|
||||||
_componentFactory.DoAutoRegistrations();
|
_componentFactory.DoAutoRegistrations();
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ using Content.Client.Lobby;
|
|||||||
using Content.Client.Players.RateLimiting;
|
using Content.Client.Players.RateLimiting;
|
||||||
using Content.Shared.Administration.Managers;
|
using Content.Shared.Administration.Managers;
|
||||||
using Content.Shared.Chat;
|
using Content.Shared.Chat;
|
||||||
|
using Content.Shared.IoC;
|
||||||
using Content.Shared.Players.PlayTimeTracking;
|
using Content.Shared.Players.PlayTimeTracking;
|
||||||
using Content.Shared.Players.RateLimiting;
|
using Content.Shared.Players.RateLimiting;
|
||||||
|
|
||||||
@@ -30,10 +31,9 @@ namespace Content.Client.IoC
|
|||||||
{
|
{
|
||||||
internal static class ClientContentIoC
|
internal static class ClientContentIoC
|
||||||
{
|
{
|
||||||
public static void Register()
|
public static void Register(IDependencyCollection collection)
|
||||||
{
|
{
|
||||||
var collection = IoCManager.Instance!;
|
SharedContentIoC.Register(collection);
|
||||||
|
|
||||||
collection.Register<IParallaxManager, ParallaxManager>();
|
collection.Register<IParallaxManager, ParallaxManager>();
|
||||||
collection.Register<GeneratedParallaxCache>();
|
collection.Register<GeneratedParallaxCache>();
|
||||||
collection.Register<IChatManager, ChatManager>();
|
collection.Register<IChatManager, ChatManager>();
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ using Content.Server.Info;
|
|||||||
using Content.Server.IoC;
|
using Content.Server.IoC;
|
||||||
using Content.Server.Maps;
|
using Content.Server.Maps;
|
||||||
using Content.Server.NodeContainer.NodeGroups;
|
using Content.Server.NodeContainer.NodeGroups;
|
||||||
using Content.Server.Objectives;
|
|
||||||
using Content.Server.Players;
|
|
||||||
using Content.Server.Players.JobWhitelist;
|
using Content.Server.Players.JobWhitelist;
|
||||||
using Content.Server.Players.PlayTimeTracking;
|
using Content.Server.Players.PlayTimeTracking;
|
||||||
using Content.Server.Players.RateLimiting;
|
using Content.Server.Players.RateLimiting;
|
||||||
@@ -42,124 +40,131 @@ namespace Content.Server.Entry
|
|||||||
internal const string ConfigPresetsDir = "/ConfigPresets/";
|
internal const string ConfigPresetsDir = "/ConfigPresets/";
|
||||||
private const string ConfigPresetsDirBuild = $"{ConfigPresetsDir}Build/";
|
private const string ConfigPresetsDirBuild = $"{ConfigPresetsDir}Build/";
|
||||||
|
|
||||||
private EuiManager _euiManager = default!;
|
[Dependency] private readonly CVarControlManager _cvarCtrl = default!;
|
||||||
private IVoteManager _voteManager = default!;
|
[Dependency] private readonly ContentLocalizationManager _loc = default!;
|
||||||
private ServerUpdateManager _updateManager = default!;
|
[Dependency] private readonly ContentNetworkResourceManager _netResMan = default!;
|
||||||
private PlayTimeTrackingManager? _playTimeTracking;
|
[Dependency] private readonly DiscordChatLink _discordChatLink = default!;
|
||||||
private IEntitySystemManager? _sysMan;
|
[Dependency] private readonly DiscordLink _discordLink = default!;
|
||||||
private IServerDbManager? _dbManager;
|
[Dependency] private readonly EuiManager _euiManager = default!;
|
||||||
private IWatchlistWebhookManager _watchlistWebhookManager = default!;
|
[Dependency] private readonly GhostKickManager _ghostKick = default!;
|
||||||
private IConnectionManager? _connectionManager;
|
[Dependency] private readonly IAdminManager _admin = default!;
|
||||||
|
[Dependency] private readonly IAdminLogManager _adminLog = default!;
|
||||||
|
[Dependency] private readonly IAfkManager _afk = default!;
|
||||||
|
[Dependency] private readonly IBanManager _ban = default!;
|
||||||
|
[Dependency] private readonly IChatManager _chatSan = default!;
|
||||||
|
[Dependency] private readonly IChatSanitizationManager _chat = default!;
|
||||||
|
[Dependency] private readonly IComponentFactory _factory = default!;
|
||||||
|
[Dependency] private readonly IConfigurationManager _cfg = default!;
|
||||||
|
[Dependency] private readonly IConnectionManager _connection = default!;
|
||||||
|
[Dependency] private readonly IEntitySystemManager _entSys = default!;
|
||||||
|
[Dependency] private readonly IGameMapManager _gameMap = default!;
|
||||||
|
[Dependency] private readonly ILogManager _log = default!;
|
||||||
|
[Dependency] private readonly INodeGroupFactory _nodeFactory = default!;
|
||||||
|
[Dependency] private readonly IPrototypeManager _proto = default!;
|
||||||
|
[Dependency] private readonly IResourceManager _res = default!;
|
||||||
|
[Dependency] private readonly IServerDbManager _dbManager = default!;
|
||||||
|
[Dependency] private readonly IServerPreferencesManager _preferences = default!;
|
||||||
|
[Dependency] private readonly IStatusHost _host = default!;
|
||||||
|
[Dependency] private readonly IVoteManager _voteManager = default!;
|
||||||
|
[Dependency] private readonly IWatchlistWebhookManager _watchlistWebhookManager = default!;
|
||||||
|
[Dependency] private readonly JobWhitelistManager _job = default!;
|
||||||
|
[Dependency] private readonly MultiServerKickManager _multiServerKick = default!;
|
||||||
|
[Dependency] private readonly PlayTimeTrackingManager _playTimeTracking = default!;
|
||||||
|
[Dependency] private readonly PlayerRateLimitManager _rateLimit = default!;
|
||||||
|
[Dependency] private readonly RecipeManager _recipe = default!;
|
||||||
|
[Dependency] private readonly RulesManager _rules = default!;
|
||||||
|
[Dependency] private readonly ServerApi _serverApi = default!;
|
||||||
|
[Dependency] private readonly ServerInfoManager _serverInfo = default!;
|
||||||
|
[Dependency] private readonly ServerUpdateManager _updateManager = default!;
|
||||||
|
|
||||||
|
public override void PreInit()
|
||||||
|
{
|
||||||
|
ServerContentIoC.Register(Dependencies);
|
||||||
|
foreach (var callback in TestingCallbacks)
|
||||||
|
{
|
||||||
|
var cast = (ServerModuleTestingCallbacks)callback;
|
||||||
|
cast.ServerBeforeIoC?.Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public override void Init()
|
public override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
Dependencies.BuildGraph();
|
||||||
|
Dependencies.InjectDependencies(this);
|
||||||
|
|
||||||
var cfg = IoCManager.Resolve<IConfigurationManager>();
|
LoadConfigPresets(_cfg, _res, _log.GetSawmill("configpreset"));
|
||||||
var res = IoCManager.Resolve<IResourceManager>();
|
|
||||||
var logManager = IoCManager.Resolve<ILogManager>();
|
|
||||||
|
|
||||||
LoadConfigPresets(cfg, res, logManager.GetSawmill("configpreset"));
|
var aczProvider = new ContentMagicAczProvider(Dependencies);
|
||||||
|
_host.SetMagicAczProvider(aczProvider);
|
||||||
|
|
||||||
var aczProvider = new ContentMagicAczProvider(IoCManager.Resolve<IDependencyCollection>());
|
_factory.DoAutoRegistrations();
|
||||||
IoCManager.Resolve<IStatusHost>().SetMagicAczProvider(aczProvider);
|
_factory.IgnoreMissingComponents("Visuals");
|
||||||
|
_factory.RegisterIgnore(IgnoredComponents.List);
|
||||||
|
_factory.GenerateNetIds();
|
||||||
|
|
||||||
var factory = IoCManager.Resolve<IComponentFactory>();
|
_proto.RegisterIgnore("parallax");
|
||||||
var prototypes = IoCManager.Resolve<IPrototypeManager>();
|
|
||||||
|
|
||||||
factory.DoAutoRegistrations();
|
_loc.Initialize();
|
||||||
factory.IgnoreMissingComponents("Visuals");
|
|
||||||
|
|
||||||
factory.RegisterIgnore(IgnoredComponents.List);
|
var dest = _cfg.GetCVar(CCVars.DestinationFile);
|
||||||
|
if (!string.IsNullOrEmpty(dest))
|
||||||
|
return; //hacky but it keeps load times for the generator down.
|
||||||
|
|
||||||
prototypes.RegisterIgnore("parallax");
|
_log.GetSawmill("Storage").Level = LogLevel.Info;
|
||||||
|
_log.GetSawmill("db.ef").Level = LogLevel.Info;
|
||||||
|
|
||||||
ServerContentIoC.Register();
|
_adminLog.Initialize();
|
||||||
|
_connection.Initialize();
|
||||||
foreach (var callback in TestingCallbacks)
|
_dbManager.Init();
|
||||||
{
|
_preferences.Init();
|
||||||
var cast = (ServerModuleTestingCallbacks) callback;
|
_nodeFactory.Initialize();
|
||||||
cast.ServerBeforeIoC?.Invoke();
|
_netResMan.Initialize();
|
||||||
}
|
_ghostKick.Initialize();
|
||||||
|
_serverInfo.Initialize();
|
||||||
IoCManager.BuildGraph();
|
_serverApi.Initialize();
|
||||||
factory.GenerateNetIds();
|
_voteManager.Initialize();
|
||||||
var configManager = IoCManager.Resolve<IConfigurationManager>();
|
_updateManager.Initialize();
|
||||||
var dest = configManager.GetCVar(CCVars.DestinationFile);
|
_playTimeTracking.Initialize();
|
||||||
IoCManager.Resolve<ContentLocalizationManager>().Initialize();
|
_watchlistWebhookManager.Initialize();
|
||||||
if (string.IsNullOrEmpty(dest)) //hacky but it keeps load times for the generator down.
|
_job.Initialize();
|
||||||
{
|
_rateLimit.Initialize();
|
||||||
_euiManager = IoCManager.Resolve<EuiManager>();
|
|
||||||
_voteManager = IoCManager.Resolve<IVoteManager>();
|
|
||||||
_updateManager = IoCManager.Resolve<ServerUpdateManager>();
|
|
||||||
_playTimeTracking = IoCManager.Resolve<PlayTimeTrackingManager>();
|
|
||||||
_connectionManager = IoCManager.Resolve<IConnectionManager>();
|
|
||||||
_sysMan = IoCManager.Resolve<IEntitySystemManager>();
|
|
||||||
_dbManager = IoCManager.Resolve<IServerDbManager>();
|
|
||||||
_watchlistWebhookManager = IoCManager.Resolve<IWatchlistWebhookManager>();
|
|
||||||
|
|
||||||
logManager.GetSawmill("Storage").Level = LogLevel.Info;
|
|
||||||
logManager.GetSawmill("db.ef").Level = LogLevel.Info;
|
|
||||||
|
|
||||||
IoCManager.Resolve<IAdminLogManager>().Initialize();
|
|
||||||
IoCManager.Resolve<IConnectionManager>().Initialize();
|
|
||||||
_dbManager.Init();
|
|
||||||
IoCManager.Resolve<IServerPreferencesManager>().Init();
|
|
||||||
IoCManager.Resolve<INodeGroupFactory>().Initialize();
|
|
||||||
IoCManager.Resolve<ContentNetworkResourceManager>().Initialize();
|
|
||||||
IoCManager.Resolve<GhostKickManager>().Initialize();
|
|
||||||
IoCManager.Resolve<ServerInfoManager>().Initialize();
|
|
||||||
IoCManager.Resolve<ServerApi>().Initialize();
|
|
||||||
|
|
||||||
_voteManager.Initialize();
|
|
||||||
_updateManager.Initialize();
|
|
||||||
_playTimeTracking.Initialize();
|
|
||||||
_watchlistWebhookManager.Initialize();
|
|
||||||
IoCManager.Resolve<JobWhitelistManager>().Initialize();
|
|
||||||
IoCManager.Resolve<PlayerRateLimitManager>().Initialize();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostInit()
|
public override void PostInit()
|
||||||
{
|
{
|
||||||
base.PostInit();
|
base.PostInit();
|
||||||
|
|
||||||
IoCManager.Resolve<IChatSanitizationManager>().Initialize();
|
_chatSan.Initialize();
|
||||||
IoCManager.Resolve<IChatManager>().Initialize();
|
_chat.Initialize();
|
||||||
var configManager = IoCManager.Resolve<IConfigurationManager>();
|
var dest = _cfg.GetCVar(CCVars.DestinationFile);
|
||||||
var resourceManager = IoCManager.Resolve<IResourceManager>();
|
|
||||||
var dest = configManager.GetCVar(CCVars.DestinationFile);
|
|
||||||
if (!string.IsNullOrEmpty(dest))
|
if (!string.IsNullOrEmpty(dest))
|
||||||
{
|
{
|
||||||
var resPath = new ResPath(dest).ToRootedPath();
|
var resPath = new ResPath(dest).ToRootedPath();
|
||||||
var file = resourceManager.UserData.OpenWriteText(resPath.WithName("chem_" + dest));
|
var file = _res.UserData.OpenWriteText(resPath.WithName("chem_" + dest));
|
||||||
ChemistryJsonGenerator.PublishJson(file);
|
ChemistryJsonGenerator.PublishJson(file);
|
||||||
file.Flush();
|
file.Flush();
|
||||||
file = resourceManager.UserData.OpenWriteText(resPath.WithName("react_" + dest));
|
file = _res.UserData.OpenWriteText(resPath.WithName("react_" + dest));
|
||||||
ReactionJsonGenerator.PublishJson(file);
|
ReactionJsonGenerator.PublishJson(file);
|
||||||
file.Flush();
|
file.Flush();
|
||||||
IoCManager.Resolve<IBaseServer>().Shutdown("Data generation done");
|
Dependencies.Resolve<IBaseServer>().Shutdown("Data generation done");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
IoCManager.Resolve<RecipeManager>().Initialize();
|
|
||||||
IoCManager.Resolve<IAdminManager>().Initialize();
|
|
||||||
IoCManager.Resolve<IAfkManager>().Initialize();
|
|
||||||
IoCManager.Resolve<RulesManager>().Initialize();
|
|
||||||
|
|
||||||
IoCManager.Resolve<DiscordLink>().Initialize();
|
_recipe.Initialize();
|
||||||
IoCManager.Resolve<DiscordChatLink>().Initialize();
|
_admin.Initialize();
|
||||||
|
_afk.Initialize();
|
||||||
_euiManager.Initialize();
|
_rules.Initialize();
|
||||||
|
_discordLink.Initialize();
|
||||||
IoCManager.Resolve<IGameMapManager>().Initialize();
|
_discordChatLink.Initialize();
|
||||||
IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<GameTicker>().PostInitialize();
|
_euiManager.Initialize();
|
||||||
IoCManager.Resolve<IBanManager>().Initialize();
|
_gameMap.Initialize();
|
||||||
IoCManager.Resolve<IConnectionManager>().PostInit();
|
_entSys.GetEntitySystem<GameTicker>().PostInitialize();
|
||||||
IoCManager.Resolve<MultiServerKickManager>().Initialize();
|
_ban.Initialize();
|
||||||
IoCManager.Resolve<CVarControlManager>().Initialize();
|
_connection.PostInit();
|
||||||
}
|
_multiServerKick.Initialize();
|
||||||
|
_cvarCtrl.Initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Update(ModUpdateLevel level, FrameEventArgs frameEventArgs)
|
public override void Update(ModUpdateLevel level, FrameEventArgs frameEventArgs)
|
||||||
@@ -177,21 +182,27 @@ namespace Content.Server.Entry
|
|||||||
|
|
||||||
case ModUpdateLevel.FramePostEngine:
|
case ModUpdateLevel.FramePostEngine:
|
||||||
_updateManager.Update();
|
_updateManager.Update();
|
||||||
_playTimeTracking?.Update();
|
_playTimeTracking.Update();
|
||||||
_watchlistWebhookManager.Update();
|
_watchlistWebhookManager.Update();
|
||||||
_connectionManager?.Update();
|
_connection.Update();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Dispose(bool disposing)
|
protected override void Dispose(bool disposing)
|
||||||
{
|
{
|
||||||
_playTimeTracking?.Shutdown();
|
var dest = _cfg.GetCVar(CCVars.DestinationFile);
|
||||||
_dbManager?.Shutdown();
|
if (!string.IsNullOrEmpty(dest))
|
||||||
IoCManager.Resolve<ServerApi>().Shutdown();
|
{
|
||||||
|
_playTimeTracking.Shutdown();
|
||||||
|
_dbManager.Shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
IoCManager.Resolve<DiscordLink>().Shutdown();
|
_serverApi.Shutdown();
|
||||||
IoCManager.Resolve<DiscordChatLink>().Shutdown();
|
|
||||||
|
// TODO Should this be awaited?
|
||||||
|
_discordLink.Shutdown();
|
||||||
|
_discordChatLink.Shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void LoadConfigPresets(IConfigurationManager cfg, IResourceManager res, ISawmill sawmill)
|
private static void LoadConfigPresets(IConfigurationManager cfg, IResourceManager res, ISawmill sawmill)
|
||||||
|
|||||||
@@ -26,59 +26,59 @@ using Content.Server.Worldgen.Tools;
|
|||||||
using Content.Shared.Administration.Logs;
|
using Content.Shared.Administration.Logs;
|
||||||
using Content.Shared.Administration.Managers;
|
using Content.Shared.Administration.Managers;
|
||||||
using Content.Shared.Chat;
|
using Content.Shared.Chat;
|
||||||
|
using Content.Shared.IoC;
|
||||||
using Content.Shared.Kitchen;
|
using Content.Shared.Kitchen;
|
||||||
using Content.Shared.Players.PlayTimeTracking;
|
using Content.Shared.Players.PlayTimeTracking;
|
||||||
using Content.Shared.Players.RateLimiting;
|
using Content.Shared.Players.RateLimiting;
|
||||||
|
|
||||||
namespace Content.Server.IoC
|
namespace Content.Server.IoC;
|
||||||
{
|
|
||||||
internal static class ServerContentIoC
|
|
||||||
{
|
|
||||||
public static void Register()
|
|
||||||
{
|
|
||||||
IoCManager.Register<IChatManager, ChatManager>();
|
|
||||||
IoCManager.Register<ISharedChatManager, ChatManager>();
|
|
||||||
IoCManager.Register<IChatSanitizationManager, ChatSanitizationManager>();
|
|
||||||
IoCManager.Register<IServerPreferencesManager, ServerPreferencesManager>();
|
|
||||||
IoCManager.Register<IServerDbManager, ServerDbManager>();
|
|
||||||
IoCManager.Register<RecipeManager, RecipeManager>();
|
|
||||||
IoCManager.Register<INodeGroupFactory, NodeGroupFactory>();
|
|
||||||
IoCManager.Register<IConnectionManager, ConnectionManager>();
|
|
||||||
IoCManager.Register<ServerUpdateManager>();
|
|
||||||
IoCManager.Register<IAdminManager, AdminManager>();
|
|
||||||
IoCManager.Register<ISharedAdminManager, AdminManager>();
|
|
||||||
IoCManager.Register<EuiManager, EuiManager>();
|
|
||||||
IoCManager.Register<IVoteManager, VoteManager>();
|
|
||||||
IoCManager.Register<IPlayerLocator, PlayerLocator>();
|
|
||||||
IoCManager.Register<IAfkManager, AfkManager>();
|
|
||||||
IoCManager.Register<IGameMapManager, GameMapManager>();
|
|
||||||
IoCManager.Register<RulesManager, RulesManager>();
|
|
||||||
IoCManager.Register<IBanManager, BanManager>();
|
|
||||||
IoCManager.Register<ContentNetworkResourceManager>();
|
|
||||||
IoCManager.Register<IAdminNotesManager, AdminNotesManager>();
|
|
||||||
IoCManager.Register<GhostKickManager>();
|
|
||||||
IoCManager.Register<ISharedAdminLogManager, AdminLogManager>();
|
|
||||||
IoCManager.Register<IAdminLogManager, AdminLogManager>();
|
|
||||||
IoCManager.Register<PlayTimeTrackingManager>();
|
|
||||||
IoCManager.Register<UserDbDataManager>();
|
|
||||||
IoCManager.Register<ServerInfoManager>();
|
|
||||||
IoCManager.Register<PoissonDiskSampler>();
|
|
||||||
IoCManager.Register<DiscordWebhook>();
|
|
||||||
IoCManager.Register<VoteWebhooks>();
|
|
||||||
IoCManager.Register<ServerDbEntryManager>();
|
|
||||||
IoCManager.Register<ISharedPlaytimeManager, PlayTimeTrackingManager>();
|
|
||||||
IoCManager.Register<ServerApi>();
|
|
||||||
IoCManager.Register<JobWhitelistManager>();
|
|
||||||
IoCManager.Register<PlayerRateLimitManager>();
|
|
||||||
IoCManager.Register<SharedPlayerRateLimitManager, PlayerRateLimitManager>();
|
|
||||||
IoCManager.Register<MappingManager>();
|
|
||||||
IoCManager.Register<IWatchlistWebhookManager, WatchlistWebhookManager>();
|
|
||||||
IoCManager.Register<ConnectionManager>();
|
|
||||||
IoCManager.Register<MultiServerKickManager>();
|
|
||||||
IoCManager.Register<CVarControlManager>();
|
|
||||||
|
|
||||||
IoCManager.Register<DiscordLink>();
|
internal static class ServerContentIoC
|
||||||
IoCManager.Register<DiscordChatLink>();
|
{
|
||||||
}
|
public static void Register(IDependencyCollection deps)
|
||||||
|
{
|
||||||
|
SharedContentIoC.Register(deps);
|
||||||
|
deps.Register<IChatManager, ChatManager>();
|
||||||
|
deps.Register<ISharedChatManager, ChatManager>();
|
||||||
|
deps.Register<IChatSanitizationManager, ChatSanitizationManager>();
|
||||||
|
deps.Register<IServerPreferencesManager, ServerPreferencesManager>();
|
||||||
|
deps.Register<IServerDbManager, ServerDbManager>();
|
||||||
|
deps.Register<RecipeManager, RecipeManager>();
|
||||||
|
deps.Register<INodeGroupFactory, NodeGroupFactory>();
|
||||||
|
deps.Register<IConnectionManager, ConnectionManager>();
|
||||||
|
deps.Register<ServerUpdateManager>();
|
||||||
|
deps.Register<IAdminManager, AdminManager>();
|
||||||
|
deps.Register<ISharedAdminManager, AdminManager>();
|
||||||
|
deps.Register<EuiManager, EuiManager>();
|
||||||
|
deps.Register<IVoteManager, VoteManager>();
|
||||||
|
deps.Register<IPlayerLocator, PlayerLocator>();
|
||||||
|
deps.Register<IAfkManager, AfkManager>();
|
||||||
|
deps.Register<IGameMapManager, GameMapManager>();
|
||||||
|
deps.Register<RulesManager, RulesManager>();
|
||||||
|
deps.Register<IBanManager, BanManager>();
|
||||||
|
deps.Register<ContentNetworkResourceManager>();
|
||||||
|
deps.Register<IAdminNotesManager, AdminNotesManager>();
|
||||||
|
deps.Register<GhostKickManager>();
|
||||||
|
deps.Register<ISharedAdminLogManager, AdminLogManager>();
|
||||||
|
deps.Register<IAdminLogManager, AdminLogManager>();
|
||||||
|
deps.Register<PlayTimeTrackingManager>();
|
||||||
|
deps.Register<UserDbDataManager>();
|
||||||
|
deps.Register<ServerInfoManager>();
|
||||||
|
deps.Register<PoissonDiskSampler>();
|
||||||
|
deps.Register<DiscordWebhook>();
|
||||||
|
deps.Register<VoteWebhooks>();
|
||||||
|
deps.Register<ServerDbEntryManager>();
|
||||||
|
deps.Register<ISharedPlaytimeManager, PlayTimeTrackingManager>();
|
||||||
|
deps.Register<ServerApi>();
|
||||||
|
deps.Register<JobWhitelistManager>();
|
||||||
|
deps.Register<PlayerRateLimitManager>();
|
||||||
|
deps.Register<SharedPlayerRateLimitManager, PlayerRateLimitManager>();
|
||||||
|
deps.Register<MappingManager>();
|
||||||
|
deps.Register<IWatchlistWebhookManager, WatchlistWebhookManager>();
|
||||||
|
deps.Register<ConnectionManager>();
|
||||||
|
deps.Register<MultiServerKickManager>();
|
||||||
|
deps.Register<CVarControlManager>();
|
||||||
|
deps.Register<DiscordLink>();
|
||||||
|
deps.Register<DiscordChatLink>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ namespace Content.Shared.Entry
|
|||||||
public override void PreInit()
|
public override void PreInit()
|
||||||
{
|
{
|
||||||
IoCManager.InjectDependencies(this);
|
IoCManager.InjectDependencies(this);
|
||||||
SharedContentIoC.Register();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Shutdown()
|
public override void Shutdown()
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ namespace Content.Shared.IoC
|
|||||||
{
|
{
|
||||||
public static class SharedContentIoC
|
public static class SharedContentIoC
|
||||||
{
|
{
|
||||||
public static void Register()
|
public static void Register(IDependencyCollection deps)
|
||||||
{
|
{
|
||||||
IoCManager.Register<MarkingManager, MarkingManager>();
|
deps.Register<MarkingManager, MarkingManager>();
|
||||||
IoCManager.Register<ContentLocalizationManager, ContentLocalizationManager>();
|
deps.Register<ContentLocalizationManager, ContentLocalizationManager>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ using System.Collections.Generic;
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Content.Client.IoC;
|
using Content.Client.IoC;
|
||||||
using Content.Server.IoC;
|
using Content.Server.IoC;
|
||||||
using Content.Shared.IoC;
|
|
||||||
using Robust.Shared.Analyzers;
|
using Robust.Shared.Analyzers;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
using Robust.UnitTesting;
|
using Robust.UnitTesting;
|
||||||
using EntryPoint = Content.Server.Entry.EntryPoint;
|
using EntryPoint = Content.Server.Entry.EntryPoint;
|
||||||
|
|
||||||
@@ -15,16 +15,15 @@ namespace Content.Tests
|
|||||||
protected override void OverrideIoC()
|
protected override void OverrideIoC()
|
||||||
{
|
{
|
||||||
base.OverrideIoC();
|
base.OverrideIoC();
|
||||||
|
var dependencies = IoCManager.Instance!;
|
||||||
SharedContentIoC.Register();
|
|
||||||
|
|
||||||
if (Project == UnitTestProject.Server)
|
if (Project == UnitTestProject.Server)
|
||||||
{
|
{
|
||||||
ServerContentIoC.Register();
|
ServerContentIoC.Register(dependencies);
|
||||||
}
|
}
|
||||||
else if (Project == UnitTestProject.Client)
|
else if (Project == UnitTestProject.Client)
|
||||||
{
|
{
|
||||||
ClientContentIoC.Register();
|
ClientContentIoC.Register(dependencies);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user