public override void Init() { var factory = IoCManager.Resolve <IComponentFactory>(); var prototypes = IoCManager.Resolve <IPrototypeManager>(); factory.DoAutoRegistrations(); foreach (var ignoreName in IgnoredComponents.List) { factory.RegisterIgnore(ignoreName); } foreach (var ignoreName in IgnoredPrototypes.List) { prototypes.RegisterIgnore(ignoreName); } ClientContentIoC.Register(); IoCManager.BuildGraph(); factory.GenerateNetIds(); // DEVNOTE: This is generally where you'll be setting up the IoCManager further. }
protected override void OverrideIoC() { base.OverrideIoC(); if (Project == UnitTestProject.Server) { ServerContentIoC.Register(); } else if (Project == UnitTestProject.Client) { ClientContentIoC.Register(); } }
public override void Init() { var factory = IoCManager.Resolve <IComponentFactory>(); var prototypes = IoCManager.Resolve <IPrototypeManager>(); factory.DoAutoRegistrations(); foreach (var ignoreName in IgnoredComponents.List) { factory.RegisterIgnore(ignoreName); } factory.RegisterClass <SharedResearchConsoleComponent>(); factory.RegisterClass <SharedLatheComponent>(); factory.RegisterClass <SharedSpawnPointComponent>(); factory.RegisterClass <SharedVendingMachineComponent>(); factory.RegisterClass <SharedWiresComponent>(); factory.RegisterClass <SharedCargoConsoleComponent>(); factory.RegisterClass <SharedReagentDispenserComponent>(); factory.RegisterClass <SharedChemMasterComponent>(); factory.RegisterClass <SharedGravityGeneratorComponent>(); factory.RegisterClass <SharedAMEControllerComponent>(); prototypes.RegisterIgnore("accent"); prototypes.RegisterIgnore("material"); prototypes.RegisterIgnore("reaction"); //Chemical reactions only needed by server. Reactions checks are server-side. prototypes.RegisterIgnore("gasReaction"); prototypes.RegisterIgnore("seed"); // Seeds prototypes are server-only. prototypes.RegisterIgnore("barSign"); prototypes.RegisterIgnore("objective"); prototypes.RegisterIgnore("holiday"); prototypes.RegisterIgnore("aiFaction"); prototypes.RegisterIgnore("gameMap"); prototypes.RegisterIgnore("behaviorSet"); prototypes.RegisterIgnore("advertisementsPack"); prototypes.RegisterIgnore("metabolizerType"); prototypes.RegisterIgnore("metabolismGroup"); prototypes.RegisterIgnore("salvageMap"); prototypes.RegisterIgnore("gamePreset"); prototypes.RegisterIgnore("gameRule"); prototypes.RegisterIgnore("worldSpell"); prototypes.RegisterIgnore("entitySpell"); prototypes.RegisterIgnore("instantSpell"); ClientContentIoC.Register(); foreach (var callback in TestingCallbacks) { var cast = (ClientModuleTestingCallbacks)callback; cast.ClientBeforeIoC?.Invoke(); } IoCManager.BuildGraph(); factory.GenerateNetIds(); IoCManager.Resolve <IClientAdminManager>().Initialize(); IoCManager.Resolve <IParallaxManager>().LoadParallax(); IoCManager.Resolve <IBaseClient>().PlayerJoinedServer += SubscribePlayerAttachmentEvents; IoCManager.Resolve <IStylesheetManager>().Initialize(); IoCManager.Resolve <IScreenshotHook>().Initialize(); IoCManager.Resolve <ChangelogManager>().Initialize(); IoCManager.Resolve <RulesManager>().Initialize(); IoCManager.Resolve <ViewportManager>().Initialize(); IoCManager.InjectDependencies(this); _escapeMenuOwner.Initialize(); _baseClient.PlayerJoinedServer += (_, _) => { IoCManager.Resolve <IMapManager>().CreateNewMapEntity(MapId.Nullspace); }; }
public override void Init() { var factory = IoCManager.Resolve <IComponentFactory>(); var prototypes = IoCManager.Resolve <IPrototypeManager>(); factory.DoAutoRegistrations(); factory.IgnoreMissingComponents(); // Do not add to these, they are legacy. factory.RegisterClass <SharedLatheComponent>(); factory.RegisterClass <SharedSpawnPointComponent>(); factory.RegisterClass <SharedReagentDispenserComponent>(); factory.RegisterClass <SharedChemMasterComponent>(); factory.RegisterClass <SharedGravityGeneratorComponent>(); factory.RegisterClass <SharedAMEControllerComponent>(); // Do not add to the above, they are legacy prototypes.RegisterIgnore("accent"); prototypes.RegisterIgnore("material"); prototypes.RegisterIgnore("reaction"); //Chemical reactions only needed by server. Reactions checks are server-side. prototypes.RegisterIgnore("gasReaction"); prototypes.RegisterIgnore("seed"); // Seeds prototypes are server-only. prototypes.RegisterIgnore("barSign"); prototypes.RegisterIgnore("objective"); prototypes.RegisterIgnore("holiday"); prototypes.RegisterIgnore("aiFaction"); prototypes.RegisterIgnore("gameMap"); prototypes.RegisterIgnore("behaviorSet"); prototypes.RegisterIgnore("lobbyBackground"); prototypes.RegisterIgnore("advertisementsPack"); prototypes.RegisterIgnore("metabolizerType"); prototypes.RegisterIgnore("metabolismGroup"); prototypes.RegisterIgnore("salvageMap"); prototypes.RegisterIgnore("gamePreset"); prototypes.RegisterIgnore("gameRule"); prototypes.RegisterIgnore("worldSpell"); prototypes.RegisterIgnore("entitySpell"); prototypes.RegisterIgnore("instantSpell"); prototypes.RegisterIgnore("roundAnnouncement"); prototypes.RegisterIgnore("wireLayout"); prototypes.RegisterIgnore("alertLevels"); prototypes.RegisterIgnore("nukeopsRole"); ClientContentIoC.Register(); foreach (var callback in TestingCallbacks) { var cast = (ClientModuleTestingCallbacks)callback; cast.ClientBeforeIoC?.Invoke(); } IoCManager.BuildGraph(); factory.GenerateNetIds(); IoCManager.Resolve <IClientAdminManager>().Initialize(); IoCManager.Resolve <IBaseClient>().PlayerJoinedServer += SubscribePlayerAttachmentEvents; IoCManager.Resolve <IStylesheetManager>().Initialize(); IoCManager.Resolve <IScreenshotHook>().Initialize(); IoCManager.Resolve <ChangelogManager>().Initialize(); IoCManager.Resolve <RulesManager>().Initialize(); IoCManager.Resolve <ViewportManager>().Initialize(); IoCManager.Resolve <GhostKickManager>().Initialize(); IoCManager.Resolve <ExtendedDisconnectInformationManager>().Initialize(); IoCManager.InjectDependencies(this); _escapeMenuOwner.Initialize(); _baseClient.PlayerJoinedServer += (_, _) => { IoCManager.Resolve <IMapManager>().CreateNewMapEntity(MapId.Nullspace); }; }