public void TestConnect()
        {
            var scl = new ServerPlayerListener(new NetworkConnectorServer(15005, 15006), npf);

            // Done setup
            scl.UpdateConnectedPlayers();

            Assert.AreEqual(0, gameState.Players.Count());
            Assert.AreEqual(0, scl.Players.Count());

            var client1 = new NetworkConnectorClient();

            client1.Connect("127.0.0.1", 15005);
            Thread.Sleep(100);

            scl.UpdateConnectedPlayers();

            Assert.AreEqual(1, gameState.Players.Count());
            Assert.AreEqual(1, scl.Players.Count());

            var client2 = new NetworkConnectorClient();

            client2.Connect("127.0.0.1", 15005);
            Thread.Sleep(100);

            scl.UpdateConnectedPlayers();

            Assert.AreEqual(2, gameState.Players.Count());
            Assert.AreEqual(2, scl.Players.Count());
        }
        public void TestNetworkedUserInput()
        {
            var scl = new ServerPlayerListener(new NetworkConnectorServer(15005, 15006), npf);

            var client = new NetworkConnectorClient();

            client.Connect("127.0.0.1", 15005);

            var proxy = new ProxyPlayerInputHandler(client.UserInputHandlerTransporter);

            // Done setup

            scl.UpdateConnectedPlayers();
            proxy.OnSave();
            Thread.Sleep(100);
            scl.Players.First().NetworkPlayerInputForwarder.ForwardReceivedInputs();

            inputHandler.Received().OnSave();
        }
Beispiel #3
0
        public GodGameServer(WorldSimulationService worldSimulationService,
                             NetworkedPlayerFactory networkedPlayerFactory,
                             ClearGameStateChangesService clearStateChangesSimulator,
                             INetworkConnectorServer networkConnectorServer,
                             GameStateDeltaPacketBuilder deltaPacketBuilder,
                             Model.World world,
                             WorldPersisterService persisterService,
                             UserInputService userInputService)
        {
            World = world;
            this.WorldSimulationService     = worldSimulationService;
            this.clearStateChangesSimulator = clearStateChangesSimulator;
            this.networkConnectorServer     = networkConnectorServer;
            this.deltaPacketBuilder         = deltaPacketBuilder;
            this.userInputService           = userInputService;

            serverPlayerListener = new ServerPlayerListener(networkConnectorServer, networkedPlayerFactory);
            persisterService.Load(world, TWDir.GameData.GetChild("Saves/GodGame").CreateFile("auto.xml"));
        }