public GodGameServer CreateServer(VirtualNetworkConnectorServer virtualNetworkConnectorServer) { var bServer = new ContainerBuilder(); bServer.RegisterModule <ExternalDependenciesModule>(); bServer.RegisterModule <SimulationModule>(); bServer.RegisterModule <PersistenceModule>(); bServer.RegisterModule <UserInputModule>(); bServer.RegisterModule(NetworkedModule.CreateServer()); bServer.Register(ctx => createWorld(ctx.Resolve <LandType>(), ctx.Resolve <ProxyGenerator>())).SingleInstance(); if (virtualNetworkConnectorServer != null) { bServer.RegisterInstance(virtualNetworkConnectorServer).As <INetworkConnectorServer>().SingleInstance(); } return(bServer.Build().Resolve <GodGameServer>()); }
public GodGameClient CreateClient(VirtualNetworkConnectorClient virtualNetworkConnectorClient) { var bClient = new ContainerBuilder(); bClient.RegisterModule <ExternalDependenciesModule>(); bClient.RegisterModule <SimulationModule>(); bClient.RegisterModule <RenderingModule>(); bClient.RegisterModule <UserInputModule>(); bClient.RegisterModule <PersistenceModule>(); bClient.RegisterModule(NetworkedModule.CreateClient()); bClient.Register(ctx => createWorld(ctx.Resolve <LandType>(), ctx.Resolve <ProxyGenerator>())).SingleInstance(); //TODO: re-enable the hack to allow client console to access the server // bClient.RegisterType<AllCommandProvider>().As<ICommandProvider>().WithParameter(TypedParameter.From(server.World)); if (virtualNetworkConnectorClient != null) { bClient.RegisterInstance(virtualNetworkConnectorClient).As <INetworkConnectorClient>().SingleInstance(); } return(bClient.Build().Resolve <GodGameClient>()); }