Exemplo n.º 1
0
        public void OnButtonClick(DecoderMessage <ThreeOneSevenDecoderMessages.Types.ButtonMessage> message)
        {
            var buttonId  = message.Message.InterfaceId;
            int animation = ButtonAnimationMap[buttonId];

            message.Player.SendAnimation(new Animation(animation));
        }
        public void OnWalkQueueMessage(DecoderMessage <ThreeOneSevenDecoderMessages.Types.WalkingQueueMessage> decoderMessage)
        {
            var player    = decoderMessage.Player;
            var message   = decoderMessage.Message;
            var positions = Enumerable.Range(0, message.X.Count)
                            .Select(t => new Position
            {
                X = message.X[t],
                Y = message.Y[t]
            }).ToArray();

            for (int index = 0; index < positions.Length; index++)
            {
                Position step = positions[index];
                if (index == 0)
                {
                    _walkingQueueHandler.AddFirstStep(player, step);
                }
                else
                {
                    _walkingQueueHandler.AddStep(player, step);
                }
            }
            player.WalkingQueue.Running = message.Run || player.WalkingQueue.Running;
        }
Exemplo n.º 3
0
        public async Task OnWelcomeScreenClick(DecoderMessage <ClickButtonMessage> decoderMessage)
        {
            var player         = decoderMessage.Player;
            var buttonPackedId = decoderMessage.Message.ButtonId;

            switch (buttonPackedId)
            {
            case 6:
                await _messageSender.SendAsync(player, new SendInterfaceMessage { InterfaceId = 548 });

                player.UpdateAppearance();
                return;
            }
        }
Exemplo n.º 4
0
 public void OnButtonClick(DecoderMessage <ButtonMessage> decoderMessage)
 {
     decoderMessage.Player.WalkingQueue.Running = decoderMessage.Message.InterfaceId == 153;
 }
Exemplo n.º 5
0
        public async Task OnLogoutClick(DecoderMessage <ButtonMessage> buttonMessage)
        {
            await _playerSerializer.AddOrUpdateAsync(buttonMessage.Player);

            await _protoMessageSender.SendAsync(buttonMessage.Player, new LogoutMessage());
        }
Exemplo n.º 6
0
 public bool CanExecute(DecoderMessage <ThreeOneSevenDecoderMessages.Types.ButtonMessage> message)
 {
     return(ButtonAnimationMap.ContainsKey(message.Message.InterfaceId));
 }
Exemplo n.º 7
0
 public void OnPingMessage(DecoderMessage <PingMessage> message)
 {
     _ = message.Player.SendAsync(new SendPingMessage(message.Player));
 }
Exemplo n.º 8
0
        public void OnCommand(DecoderMessage <CommandMessage> decoderMessage)
        {
            var commandMessage = decoderMessage.Message;

            Log.Logger.Information("Player {0} executed command {1}", decoderMessage.Player.Username, commandMessage.Command);
        }