mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-15 03:30:53 +01:00
Remove most static IoCManager. accesses from engine. (#3466)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
committed by
GitHub
parent
c26c8fb81e
commit
1646297039
@@ -19,12 +19,12 @@ namespace Robust.UnitTesting.Client.UserInterface.Controls
|
||||
var uiMgr = new Mock<IUserInterfaceManagerInternal>();
|
||||
var clyde = new ClydeHeadless();
|
||||
|
||||
IoCManager.InitThread();
|
||||
IoCManager.Clear();
|
||||
IoCManager.RegisterInstance<IUserInterfaceManagerInternal>(uiMgr.Object);
|
||||
IoCManager.RegisterInstance<IUserInterfaceManager>(uiMgr.Object);
|
||||
IoCManager.RegisterInstance<IClyde>(clyde);
|
||||
IoCManager.BuildGraph();
|
||||
var deps = IoCManager.InitThread();
|
||||
deps.Clear();
|
||||
deps.RegisterInstance<IUserInterfaceManagerInternal>(uiMgr.Object);
|
||||
deps.RegisterInstance<IUserInterfaceManager>(uiMgr.Object);
|
||||
deps.RegisterInstance<IClyde>(clyde);
|
||||
deps.BuildGraph();
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -165,7 +165,7 @@ namespace Robust.UnitTesting
|
||||
{
|
||||
await instance.WaitPost(() =>
|
||||
{
|
||||
var config = IoCManager.Resolve<IConfigurationManagerInternal>();
|
||||
var config = instance.InstanceDependencyCollection.Resolve<IConfigurationManagerInternal>();
|
||||
var overrides = new[]
|
||||
{
|
||||
(RTCVars.FailureLogLevel.Name, (instance.Options?.FailureLogLevel ?? RTCVars.FailureLogLevel.DefaultValue).ToString())
|
||||
@@ -589,21 +589,22 @@ namespace Robust.UnitTesting
|
||||
|
||||
private BaseServer Init()
|
||||
{
|
||||
IoCManager.InitThread(DependencyCollection, replaceExisting: true);
|
||||
ServerIoC.RegisterIoC();
|
||||
IoCManager.Register<INetManager, IntegrationNetManager>(true);
|
||||
IoCManager.Register<IServerNetManager, IntegrationNetManager>(true);
|
||||
IoCManager.Register<IntegrationNetManager, IntegrationNetManager>(true);
|
||||
IoCManager.Register<ISystemConsoleManager, SystemConsoleManagerDummy>(true);
|
||||
IoCManager.Register<IModLoader, TestingModLoader>(true);
|
||||
IoCManager.Register<IModLoaderInternal, TestingModLoader>(true);
|
||||
IoCManager.Register<TestingModLoader, TestingModLoader>(true);
|
||||
IoCManager.RegisterInstance<IStatusHost>(new Mock<IStatusHost>().Object, true);
|
||||
IoCManager.Register<IRobustMappedStringSerializer, IntegrationMappedStringSerializer>(true);
|
||||
var deps = DependencyCollection;
|
||||
IoCManager.InitThread(deps, replaceExisting: true);
|
||||
ServerIoC.RegisterIoC(deps);
|
||||
deps.Register<INetManager, IntegrationNetManager>(true);
|
||||
deps.Register<IServerNetManager, IntegrationNetManager>(true);
|
||||
deps.Register<IntegrationNetManager, IntegrationNetManager>(true);
|
||||
deps.Register<ISystemConsoleManager, SystemConsoleManagerDummy>(true);
|
||||
deps.Register<IModLoader, TestingModLoader>(true);
|
||||
deps.Register<IModLoaderInternal, TestingModLoader>(true);
|
||||
deps.Register<TestingModLoader, TestingModLoader>(true);
|
||||
deps.RegisterInstance<IStatusHost>(new Mock<IStatusHost>().Object, true);
|
||||
deps.Register<IRobustMappedStringSerializer, IntegrationMappedStringSerializer>(true);
|
||||
Options?.InitIoC?.Invoke();
|
||||
IoCManager.BuildGraph();
|
||||
deps.BuildGraph();
|
||||
//ServerProgram.SetupLogging();
|
||||
ServerProgram.InitReflectionManager();
|
||||
ServerProgram.InitReflectionManager(deps);
|
||||
|
||||
var server = DependencyCollection.Resolve<BaseServer>();
|
||||
|
||||
@@ -619,17 +620,17 @@ namespace Robust.UnitTesting
|
||||
Options?.BeforeRegisterComponents?.Invoke();
|
||||
if (!Options?.ContentStart ?? true)
|
||||
{
|
||||
var componentFactory = IoCManager.Resolve<IComponentFactory>();
|
||||
var componentFactory = deps.Resolve<IComponentFactory>();
|
||||
componentFactory.DoAutoRegistrations();
|
||||
componentFactory.GenerateNetIds();
|
||||
}
|
||||
|
||||
if (Options?.ContentAssemblies != null)
|
||||
{
|
||||
IoCManager.Resolve<TestingModLoader>().Assemblies = Options.ContentAssemblies;
|
||||
deps.Resolve<TestingModLoader>().Assemblies = Options.ContentAssemblies;
|
||||
}
|
||||
|
||||
var cfg = IoCManager.Resolve<IConfigurationManagerInternal>();
|
||||
var cfg = deps.Resolve<IConfigurationManagerInternal>();
|
||||
|
||||
cfg.LoadCVarsFromAssembly(typeof(RobustIntegrationTest).Assembly);
|
||||
|
||||
@@ -640,7 +641,7 @@ namespace Robust.UnitTesting
|
||||
|
||||
if (Options.ExtraPrototypes != null)
|
||||
{
|
||||
IoCManager.Resolve<IResourceManagerInternal>()
|
||||
deps.Resolve<IResourceManagerInternal>()
|
||||
.MountString("/Prototypes/__integration_extra.yml", Options.ExtraPrototypes);
|
||||
}
|
||||
}
|
||||
@@ -750,19 +751,20 @@ namespace Robust.UnitTesting
|
||||
|
||||
private GameController Init()
|
||||
{
|
||||
IoCManager.InitThread(DependencyCollection, replaceExisting: true);
|
||||
ClientIoC.RegisterIoC(GameController.DisplayMode.Headless);
|
||||
IoCManager.Register<INetManager, IntegrationNetManager>(true);
|
||||
IoCManager.Register<IClientNetManager, IntegrationNetManager>(true);
|
||||
IoCManager.Register<IntegrationNetManager, IntegrationNetManager>(true);
|
||||
IoCManager.Register<IModLoader, TestingModLoader>(true);
|
||||
IoCManager.Register<IModLoaderInternal, TestingModLoader>(true);
|
||||
IoCManager.Register<TestingModLoader, TestingModLoader>(true);
|
||||
IoCManager.Register<IRobustMappedStringSerializer, IntegrationMappedStringSerializer>(true);
|
||||
var deps = DependencyCollection;
|
||||
IoCManager.InitThread(deps, replaceExisting: true);
|
||||
ClientIoC.RegisterIoC(GameController.DisplayMode.Headless, deps);
|
||||
deps.Register<INetManager, IntegrationNetManager>(true);
|
||||
deps.Register<IClientNetManager, IntegrationNetManager>(true);
|
||||
deps.Register<IntegrationNetManager, IntegrationNetManager>(true);
|
||||
deps.Register<IModLoader, TestingModLoader>(true);
|
||||
deps.Register<IModLoaderInternal, TestingModLoader>(true);
|
||||
deps.Register<TestingModLoader, TestingModLoader>(true);
|
||||
deps.Register<IRobustMappedStringSerializer, IntegrationMappedStringSerializer>(true);
|
||||
Options?.InitIoC?.Invoke();
|
||||
IoCManager.BuildGraph();
|
||||
deps.BuildGraph();
|
||||
|
||||
GameController.RegisterReflection();
|
||||
GameController.RegisterReflection(deps);
|
||||
|
||||
var client = DependencyCollection.Resolve<GameController>();
|
||||
|
||||
@@ -778,17 +780,17 @@ namespace Robust.UnitTesting
|
||||
Options?.BeforeRegisterComponents?.Invoke();
|
||||
if (!Options?.ContentStart ?? true)
|
||||
{
|
||||
var componentFactory = IoCManager.Resolve<IComponentFactory>();
|
||||
var componentFactory = deps.Resolve<IComponentFactory>();
|
||||
componentFactory.DoAutoRegistrations();
|
||||
componentFactory.GenerateNetIds();
|
||||
}
|
||||
|
||||
if (Options?.ContentAssemblies != null)
|
||||
{
|
||||
IoCManager.Resolve<TestingModLoader>().Assemblies = Options.ContentAssemblies;
|
||||
deps.Resolve<TestingModLoader>().Assemblies = Options.ContentAssemblies;
|
||||
}
|
||||
|
||||
var cfg = IoCManager.Resolve<IConfigurationManagerInternal>();
|
||||
var cfg = deps.Resolve<IConfigurationManagerInternal>();
|
||||
|
||||
cfg.LoadCVarsFromAssembly(typeof(RobustIntegrationTest).Assembly);
|
||||
|
||||
@@ -799,7 +801,7 @@ namespace Robust.UnitTesting
|
||||
|
||||
if (Options.ExtraPrototypes != null)
|
||||
{
|
||||
IoCManager.Resolve<IResourceManagerInternal>()
|
||||
deps.Resolve<IResourceManagerInternal>()
|
||||
.MountString("/Prototypes/__integration_extra.yml", Options.ExtraPrototypes);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,27 +13,29 @@ namespace Robust.UnitTesting
|
||||
/// </summary>
|
||||
private void RegisterIoC()
|
||||
{
|
||||
var dependencies = IoCManager.Instance!;
|
||||
|
||||
switch (Project)
|
||||
{
|
||||
case UnitTestProject.Client:
|
||||
ClientIoC.RegisterIoC(GameController.DisplayMode.Headless);
|
||||
ClientIoC.RegisterIoC(GameController.DisplayMode.Headless, dependencies);
|
||||
break;
|
||||
|
||||
case UnitTestProject.Server:
|
||||
ServerIoC.RegisterIoC();
|
||||
ServerIoC.RegisterIoC(dependencies);
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new NotSupportedException($"Unknown testing project: {Project}");
|
||||
}
|
||||
|
||||
IoCManager.Register<IModLoader, TestingModLoader>(overwrite: true);
|
||||
IoCManager.Register<IModLoaderInternal, TestingModLoader>(overwrite: true);
|
||||
IoCManager.Register<TestingModLoader, TestingModLoader>(overwrite: true);
|
||||
dependencies.Register<IModLoader, TestingModLoader>(overwrite: true);
|
||||
dependencies.Register<IModLoaderInternal, TestingModLoader>(overwrite: true);
|
||||
dependencies.Register<TestingModLoader, TestingModLoader>(overwrite: true);
|
||||
|
||||
OverrideIoC();
|
||||
|
||||
IoCManager.BuildGraph();
|
||||
dependencies.BuildGraph();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,8 +40,8 @@ namespace Robust.UnitTesting
|
||||
public void BaseSetup()
|
||||
{
|
||||
// Clear state across tests.
|
||||
IoCManager.InitThread();
|
||||
IoCManager.Clear();
|
||||
var deps = IoCManager.InitThread();
|
||||
deps.Clear();
|
||||
|
||||
RegisterIoC();
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace Robust.UnitTesting
|
||||
assemblies.Add(AppDomain.CurrentDomain.GetAssemblyByName("Robust.Shared"));
|
||||
assemblies.Add(Assembly.GetExecutingAssembly());
|
||||
|
||||
var configurationManager = IoCManager.Resolve<IConfigurationManagerInternal>();
|
||||
var configurationManager = deps.Resolve<IConfigurationManagerInternal>();
|
||||
|
||||
configurationManager.Initialize(Project == UnitTestProject.Server);
|
||||
|
||||
@@ -79,7 +79,7 @@ namespace Robust.UnitTesting
|
||||
|
||||
configurationManager.LoadCVarsFromAssembly(typeof(RobustUnitTest).Assembly);
|
||||
|
||||
var systems = IoCManager.Resolve<IEntitySystemManager>();
|
||||
var systems = deps.Resolve<IEntitySystemManager>();
|
||||
// Required systems
|
||||
systems.LoadExtraSystemType<EntityLookupSystem>();
|
||||
|
||||
@@ -99,6 +99,7 @@ namespace Robust.UnitTesting
|
||||
systems.LoadExtraSystemType<Robust.Client.Physics.PhysicsSystem>();
|
||||
systems.LoadExtraSystemType<Robust.Client.Debugging.DebugRayDrawingSystem>();
|
||||
systems.LoadExtraSystemType<PrototypeReloadSystem>();
|
||||
systems.LoadExtraSystemType<Robust.Client.Debugging.DebugPhysicsSystem>();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -111,13 +112,14 @@ namespace Robust.UnitTesting
|
||||
systems.LoadExtraSystemType<PhysicsSystem>();
|
||||
systems.LoadExtraSystemType<DebugRayDrawingSystem>();
|
||||
systems.LoadExtraSystemType<PrototypeReloadSystem>();
|
||||
systems.LoadExtraSystemType<DebugPhysicsSystem>();
|
||||
}
|
||||
|
||||
var entMan = IoCManager.Resolve<IEntityManager>();
|
||||
var mapMan = IoCManager.Resolve<IMapManager>();
|
||||
var entMan = deps.Resolve<IEntityManager>();
|
||||
var mapMan = deps.Resolve<IMapManager>();
|
||||
|
||||
// Required components for the engine to work
|
||||
var compFactory = IoCManager.Resolve<IComponentFactory>();
|
||||
var compFactory = deps.Resolve<IComponentFactory>();
|
||||
|
||||
if (!compFactory.AllRegisteredTypes.Contains(typeof(MapComponent)))
|
||||
{
|
||||
@@ -163,9 +165,9 @@ namespace Robust.UnitTesting
|
||||
mapMan.Initialize();
|
||||
systems.Initialize();
|
||||
|
||||
IoCManager.Resolve<IReflectionManager>().LoadAssemblies(assemblies);
|
||||
deps.Resolve<IReflectionManager>().LoadAssemblies(assemblies);
|
||||
|
||||
var modLoader = IoCManager.Resolve<TestingModLoader>();
|
||||
var modLoader = deps.Resolve<TestingModLoader>();
|
||||
modLoader.Assemblies = contentAssemblies;
|
||||
modLoader.TryLoadModulesFrom(ResourcePath.Root, "");
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Reflection;
|
||||
using JetBrains.Annotations;
|
||||
using Moq;
|
||||
using Robust.Server;
|
||||
using Robust.Server.Console;
|
||||
using Robust.Server.Debugging;
|
||||
using Robust.Server.Containers;
|
||||
using Robust.Server.GameObjects;
|
||||
@@ -220,6 +221,8 @@ namespace Robust.UnitTesting.Server
|
||||
container.Register<INetManager, NetManager>();
|
||||
container.Register<IAuthManager, AuthManager>();
|
||||
container.Register<ITileDefinitionManager, TileDefinitionManager>();
|
||||
// Needed for grid fixture debugging.
|
||||
container.Register<IConGroupController, ConGroupController>();
|
||||
|
||||
// I just wanted to load pvs system
|
||||
container.Register<IServerEntityManager, ServerEntityManager>();
|
||||
|
||||
Reference in New Issue
Block a user