private void _clientMain() { try { IoCManager.InitThread(DependencyCollection); GameController.RegisterIoC(GameController.DisplayMode.Headless); IoCManager.BuildGraph(); GameController.RegisterReflection(); var client = DependencyCollection.Resolve <IGameControllerInternal>(); client.ContentRootDir = "../../"; client.Startup(); var gameLoop = new IntegrationGameLoop(DependencyCollection.Resolve <IGameTiming>(), _toInstanceChannel, _fromInstanceChannel); client.OverrideMainLoop(gameLoop); client.MainLoop(GameController.DisplayMode.Headless); } catch (Exception e) { _fromInstanceChannel.PushMessage(new ShutDownMessage(e)); return; } _fromInstanceChannel.PushMessage(new ShutDownMessage(null)); }
private void _clientMain() { try { IoCManager.InitThread(DependencyCollection); GameController.RegisterIoC(GameController.DisplayMode.Headless); IoCManager.Register <INetManager, IntegrationNetManager>(true); IoCManager.Register <IClientNetManager, IntegrationNetManager>(true); IoCManager.Register <IntegrationNetManager, IntegrationNetManager>(true); _options?.InitIoC?.Invoke(); IoCManager.BuildGraph(); GameController.RegisterReflection(); var client = DependencyCollection.Resolve <IGameControllerInternal>(); client.ContentRootDir = "../../"; client.LoadConfigAndUserData = false; _options?.BeforeStart?.Invoke(); client.Startup(); var gameLoop = new IntegrationGameLoop(DependencyCollection.Resolve <IGameTiming>(), _fromInstanceWriter, _toInstanceReader); client.OverrideMainLoop(gameLoop); client.MainLoop(GameController.DisplayMode.Headless); } catch (Exception e) { _fromInstanceWriter.TryWrite(new ShutDownMessage(e)); return; } _fromInstanceWriter.TryWrite(new ShutDownMessage(null)); }
private void _serverMain() { try { IoCManager.InitThread(DependencyCollection); ServerEntryPoint.RegisterIoC(); IoCManager.BuildGraph(); ServerEntryPoint.SetupLogging(); ServerEntryPoint.InitReflectionManager(); var server = DependencyCollection.Resolve <IBaseServerInternal>(); server.ContentRootDir = "../../"; if (server.Start()) { throw new Exception("Server failed to start."); } var gameLoop = new IntegrationGameLoop( DependencyCollection.Resolve <IGameTiming>(), _toInstanceChannel, _fromInstanceChannel); server.OverrideMainLoop(gameLoop); server.MainLoop(); } catch (Exception e) { _fromInstanceChannel.PushMessage(new ShutDownMessage(e)); return; } _fromInstanceChannel.PushMessage(new ShutDownMessage(null)); }
private void _clientMain() { try { IoCManager.InitThread(DependencyCollection); ClientIoC.RegisterIoC(GameController.DisplayMode.Headless); IoCManager.Register <INetManager, IntegrationNetManager>(true); IoCManager.Register <IClientNetManager, IntegrationNetManager>(true); IoCManager.Register <IntegrationNetManager, IntegrationNetManager>(true); IoCManager.Register <IModLoader, ModLoader>(true); IoCManager.Register <ModLoader, ModLoader>(true); _options?.InitIoC?.Invoke(); IoCManager.BuildGraph(); GameController.RegisterReflection(); var client = DependencyCollection.Resolve <IGameControllerInternal>(); if (_options?.ClientContentAssembly != null) { IoCManager.Resolve <ModLoader>().ClientContentAssembly = _options.ClientContentAssembly; } if (_options?.SharedContentAssembly != null) { IoCManager.Resolve <ModLoader>().SharedContentAssembly = _options.SharedContentAssembly; } client.LoadConfigAndUserData = false; if (_options != null) { _options.BeforeStart?.Invoke(); IoCManager.Resolve <IConfigurationManager>() .OverrideConVars(_options.CVarOverrides.Select(p => (p.Key, p.Value))); if (_options.ExtraPrototypes != null) { IoCManager.Resolve <IResourceManagerInternal>() .MountString("/Prototypes/__integration_extra.yml", _options.ExtraPrototypes); } } client.Startup(() => new TestLogHandler("CLIENT")); var gameLoop = new IntegrationGameLoop(DependencyCollection.Resolve <IGameTiming>(), _fromInstanceWriter, _toInstanceReader); client.OverrideMainLoop(gameLoop); client.MainLoop(GameController.DisplayMode.Headless); } catch (Exception e) { _fromInstanceWriter.TryWrite(new ShutDownMessage(e)); return; } _fromInstanceWriter.TryWrite(new ShutDownMessage(null)); }
private void _serverMain() { try { IoCManager.InitThread(DependencyCollection); 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, ModLoader>(true); IoCManager.Register <ModLoader, ModLoader>(true); IoCManager.RegisterInstance <IStatusHost>(new Mock <IStatusHost>().Object, true); _options?.InitIoC?.Invoke(); IoCManager.BuildGraph(); //ServerProgram.SetupLogging(); ServerProgram.InitReflectionManager(); var server = DependencyCollection.Resolve <IBaseServerInternal>(); if (_options?.ServerContentAssembly != null) { IoCManager.Resolve <ModLoader>().ServerContentAssembly = _options.ServerContentAssembly; } if (_options?.SharedContentAssembly != null) { IoCManager.Resolve <ModLoader>().SharedContentAssembly = _options.SharedContentAssembly; } if (_options != null) { _options.BeforeStart?.Invoke(); IoCManager.Resolve <IConfigurationManager>() .OverrideConVars(_options.CVarOverrides.Select(p => (p.Key, p.Value))); } if (server.Start(() => new TestLogHandler("SERVER"))) { throw new Exception("Server failed to start."); } var gameLoop = new IntegrationGameLoop( DependencyCollection.Resolve <IGameTiming>(), _fromInstanceWriter, _toInstanceReader); server.OverrideMainLoop(gameLoop); server.MainLoop(); } catch (Exception e) { _fromInstanceWriter.TryWrite(new ShutDownMessage(e)); return; } _fromInstanceWriter.TryWrite(new ShutDownMessage(null)); }
private void _serverMain() { try { IoCManager.InitThread(DependencyCollection); 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, ModLoader>(true); IoCManager.Register <ModLoader, ModLoader>(true); _options?.InitIoC?.Invoke(); IoCManager.BuildGraph(); ServerProgram.SetupLogging(); ServerProgram.InitReflectionManager(); var server = DependencyCollection.Resolve <IBaseServerInternal>(); if (_options?.ServerContentAssembly != null) { IoCManager.Resolve <ModLoader>().ServerContentAssembly = _options.ServerContentAssembly; } if (_options?.SharedContentAssembly != null) { IoCManager.Resolve <ModLoader>().SharedContentAssembly = _options.SharedContentAssembly; } server.ContentRootDir = "../../"; _options?.BeforeStart?.Invoke(); if (server.Start()) { throw new Exception("Server failed to start."); } var gameLoop = new IntegrationGameLoop( DependencyCollection.Resolve <IGameTiming>(), _fromInstanceWriter, _toInstanceReader); server.OverrideMainLoop(gameLoop); server.MainLoop(); } catch (Exception e) { _fromInstanceWriter.TryWrite(new ShutDownMessage(e)); return; } _fromInstanceWriter.TryWrite(new ShutDownMessage(null)); }
private void _serverMain() { try { IoCManager.InitThread(DependencyCollection); ServerEntryPoint.RegisterIoC(); IoCManager.Register <INetManager, IntegrationNetManager>(true); IoCManager.Register <IServerNetManager, IntegrationNetManager>(true); IoCManager.Register <IntegrationNetManager, IntegrationNetManager>(true); IoCManager.Register <ICommandLineArgs, CommandLineArgs>(true); _options?.InitIoC?.Invoke(); IoCManager.BuildGraph(); ServerEntryPoint.SetupLogging(); ServerEntryPoint.InitReflectionManager(); var server = DependencyCollection.Resolve <IBaseServerInternal>(); server.ContentRootDir = "../../"; _options?.BeforeStart?.Invoke(); if (server.Start()) { throw new Exception("Server failed to start."); } var gameLoop = new IntegrationGameLoop( DependencyCollection.Resolve <IGameTiming>(), _fromInstanceWriter, _toInstanceReader); server.OverrideMainLoop(gameLoop); server.MainLoop(); } catch (Exception e) { _fromInstanceWriter.TryWrite(new ShutDownMessage(e)); return; } _fromInstanceWriter.TryWrite(new ShutDownMessage(null)); }