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>());
        }
Exemple #2
0
        public void TestServerClientGameVirtual()
        {
            var game = new GodGameServerClient();

            // Virtual connection setup

            var virtualNetworkConnectorServer = new VirtualNetworkConnectorServer();
            var virtualNetworkConnectorClient = virtualNetworkConnectorServer.CreateClient();

            // Create
            var server = game.CreateServer(virtualNetworkConnectorServer);
            var client = game.CreateClient(virtualNetworkConnectorClient);

            // Initialize gameloop

            var engine = EngineFactory.CreateEngine();

            server.AddSimulatorsToEngine(engine);
            client.AddSimulatorsToEngine(engine);
        }