예제 #1
0
        public void execute(GameSession gameSession, byte[] bytes)
        {
            var read = new MoveRequest();

            read.readCommand(bytes);

            var player   = gameSession.Player;
            var position = new Position(read.targetX, read.targetY);

            Movement.Move(player, position);
        }
예제 #2
0
        public void Execute(GameSession gameSession, IByteBuffer buffer)
        {
            var movementRequest = new MoveRequest();

            movementRequest.readCommand(buffer);

            var player    = gameSession.Player;
            var actualPos = player.Position;

            if (movementRequest.positionX != actualPos.X || movementRequest.positionY != actualPos.Y)
            {
                Out.WriteLog("Something is wrong with player position, expected: \n" +
                             "[" + movementRequest.positionX + "; " + movementRequest.positionY + "] VS SERVER [" + player.Position.X + "; " + player.Position.Y + "]", LogKeys.PLAYER_LOG, player.Id);
            }

            ServerController.Get <MovementController>().CreateMovement(player, new Vector(movementRequest.targetX, movementRequest.targetY));
        }