Esempio n. 1
0
        public Server(Config config, MasterClient masterClient)
        {
            Logger.Log($"SERVER creating...");
            _masterClient = masterClient;
            _config       = config;
            _gameMode     = (GameMode)_config.GameMode;

            _world               = new World(_config, _gameMode);
            _world.OnGameEnd    += World_OnGameEnd;
            _world.OnPlayerDead += World_OnPlayerDead;

            _server = new NetManager(this, 100 + _config.MaxPlayers, _config.ConnectionKey)
            {
                UpdateTime = _config.UpdateDelay / 3,
            };

            Logger.Log($"SERVER register packets");
            _netSerializer = new NetSerializer();
            Packet.Register(_netSerializer);
            _netSerializer.SubscribeReusable <ClientConnection, NetPeer>(OnClientConnection);
            _netSerializer.SubscribeReusable <ClientInput, NetPeer>(OnClientInput);
            _netSerializer.SubscribeReusable <ClientSpawn, NetPeer>(OnClientSpawn);
            _netSerializer.SubscribeReusable <ClientLeave, NetPeer>(OnClentLeave);

            Logger.Log($"SERVER created");
        }
Esempio n. 2
0
    void Init()
    {
        serializer = new NetSerializer();
        serializer.RegisterCustomType(SerializedLobbyPlayer.Serialize, SerializedLobbyPlayer.Deserialize);

        serializer.SubscribeReusable <PLobby, NetPeer>(OnReceiveLobby);
        serializer.SubscribeReusable <PLobbyPlayer>(OnClientLobbyAction);

        isInit = true;
    }
Esempio n. 3
0
        public void CustomPackageTest()
        {
            var writer = new NetDataWriter();

            writer.Put(_serializer.Serialize(_samplePacket));

            var          reader      = new NetDataReader(writer.CopyData());
            SamplePacket readPackage = null;

            _serializer.SubscribeReusable <SamplePacket>(
                packet =>
            {
                readPackage = packet;
            });

            _serializer.ReadAllPackets(reader);

            Assert.NotNull(readPackage);
            Assert.IsTrue(AreSame(_samplePacket.EmptyString, readPackage.EmptyString));
            Assert.AreEqual(_samplePacket.SomeFloat, readPackage.SomeFloat);
            Assert.AreEqual(_samplePacket.SomeIntArray, readPackage.SomeIntArray);
            Assert.IsTrue(AreSame(_samplePacket.SomeString, readPackage.SomeString));
            Assert.AreEqual(_samplePacket.SomeVector2, readPackage.SomeVector2);
            Assert.AreEqual(_samplePacket.SomeVectors, readPackage.SomeVectors);
            Assert.AreEqual(_samplePacket.SomeEnum, readPackage.SomeEnum);
            Assert.AreEqual(_samplePacket.TestObj.Value, readPackage.TestObj.Value);
        }
Esempio n. 4
0
            public ServerListener()
            {
                _netSerializer = new NetSerializer();
                _netSerializer.RegisterCustomType(SomeVector2.Serialize, SomeVector2.Deserialize);
                _netSerializer.RegisterCustomType <SampleNetSerializable>();

                //user data support
                _netSerializer.SubscribeReusable <SamplePacket, NetPeer>(OnSamplePacketReceived);
            }
Esempio n. 5
0
    void Init()
    {
        serializer = new NetSerializer();
        serializer.RegisterCustomType(SerializedLobbyPlayer.Serialize, SerializedLobbyPlayer.Deserialize);

        serializer.SubscribeReusable <PClientHandshake, NetPeer>(OnReceiveHandshake);

        isInit = true;
    }