package com.asteria.net.message.impl; import com.asteria.game.World; import com.asteria.game.character.player.Player; import com.asteria.game.plugin.context.ButtonClickPlugin; import com.asteria.net.message.InputMessageListener; import com.asteria.net.message.MessageBuilder; import com.asteria.utility.BufferUtils; /** * The message sent from the client when the player clicks some sort of button or * module. * * @author lare96 <http://github.com/lare96> */ public final class ClickButtonMessage implements InputMessageListener { // TODO: Convert all buttons to the proper identifications. /** * The flag that determines if this message should be read properly. */ private static final boolean PROPER_READ = false; @Override public void handleMessage(Player player, int opcode, int size, MessageBuilder payload) { int button = PROPER_READ ? payload.getShort() : BufferUtils.hexToInt(payload.getBytes(2)); World.getPlugins().execute(player, ButtonClickPlugin.class, new ButtonClickPlugin(button)); } }