Exemplo n.º 1
0
        private void HandleWorldData(object sender, PacketRecievedEventArgs args)
        {
            WorldConfiguration configuration = JsonConvert.DeserializeObject <WorldConfiguration>(args.Buffer.ReadString());

            World.Initialize(configuration);

            NetworkController.Instance.Login("temp_name");
        }
Exemplo n.º 2
0
        private void SendClientWorldConfiguration(object sender, PacketRecievedEventArgs args)
        {
            Packet packet = CoreApp.Server.CreatePacket(ServerOutgoingPacketType.SendWorldConfiguration);

            packet.Write(JsonConvert.SerializeObject(NetworkWorld.Configuration, Formatting.None));
            CoreApp.Server.Send(packet, args.SenderConnection);

            Logger.LogDestination = LoggerDestination.All;
            Logger.Log("Sending world config");
        }
        private void HandleNewPlayer(object sender, PacketRecievedEventArgs args)
        {
            int    id   = args.Buffer.ReadInt32();
            string name = args.Buffer.ReadString();
            int    x    = args.Buffer.ReadInt32();
            int    y    = args.Buffer.ReadInt32();

            if (ControllableCharacterId < 0)
            {
                ControllableCharacterId = id;
            }

            Create(id, name, new Tile(new Vector2i(x, y)));
        }
Exemplo n.º 4
0
        private static void HandlePositionalUpdate(object sender, PacketRecievedEventArgs args)
        {
            int id = args.Buffer.ReadInt32();

            if (!playerControllers.ContainsKey(id))
            {
                return;
            }

            Tile tile = args.Buffer.Read <Tile>();

            World.Current.PlayerCharacterManager[id].Tile = tile;
            playerControllers[id].Move((Vector2)tile.Position);
        }
        private void HandlePlayerDisconnect(object sender, PacketRecievedEventArgs args)
        {
            int id = args.Buffer.ReadInt32();

            if (!playerCharacters.ContainsKey(id))
            {
                return;
            }

            PlayerCharacter playerCharacter = playerCharacters[id];

            playerCharacters.Remove(id);

            OnRemoved(playerCharacter);
        }
        private void HandleAllPlayers(object sender, PacketRecievedEventArgs args)
        {
            int count = args.Buffer.ReadInt32() - 1;

            for (int i = 0; i < count; i++)
            {
                Logger.Log(i);
                PlayerCharacter character = args.Buffer.Read <PlayerCharacter>();
                Logger.Log(character.Id);
                if (playerCharacters.ContainsKey(character.Id))
                {
                    return;
                }
                Create(character);
            }
        }
Exemplo n.º 7
0
        private void HandleLogin(object sender, PacketRecievedEventArgs args)
        {
            Logger.Log("Receiving login packet");

            int    id   = playerCharacters.Count + 1;
            string name = args.Buffer.ReadString();

            Create(args.SenderConnection, id, name, new Tile(new Vector2i(0, id)));

            Packet packet = CoreApp.Server.CreatePacket(ServerOutgoingPacketType.SendNewPlayer);

            packet.Write(id);
            packet.Write(name);
            packet.Write(playerCharacters[id].Tile.Position.X);
            packet.Write(playerCharacters[id].Tile.Position.Y);

            CoreApp.Server.SendToAll(packet, NetDeliveryMethod.ReliableOrdered);
            SendAllPlayers(args.SenderConnection);
        }
Exemplo n.º 8
0
        private void HandleMovement(object sender, PacketRecievedEventArgs args)
        {
            int id = args.Buffer.ReadInt32();

            if (!playerCharacters.ContainsKey(id))
            {
                return;
            }

            Tile destination = args.Buffer.Read <Tile>();

            playerCharacters[id].Tile = destination;

            Packet packet = CoreApp.Server.CreatePacket(ServerOutgoingPacketType.UpdatePlayerPositions);

            packet.Write(id);
            packet.Write(destination);
            CoreApp.Server.SendToAll(packet, NetDeliveryMethod.ReliableUnordered);
        }
Exemplo n.º 9
0
 private void Client_PacketRecieved(object sender, PacketRecievedEventArgs e)
 {
     RoutePacket(e.Packet);
 }