package net.scapeemulator.game.msg.encoder;
import io.netty.buffer.ByteBufAllocator;
import java.io.IOException;
import net.scapeemulator.game.msg.MessageEncoder;
import net.scapeemulator.game.msg.impl.GrandExchangeUpdateMessage;
import net.scapeemulator.game.net.game.DataType;
import net.scapeemulator.game.net.game.GameFrame;
import net.scapeemulator.game.net.game.GameFrameBuilder;
public final class GrandExchangeUpdateMessageEncoder extends MessageEncoder<GrandExchangeUpdateMessage> {
public GrandExchangeUpdateMessageEncoder() {
super(GrandExchangeUpdateMessage.class);
}
@Override
public GameFrame encode(ByteBufAllocator alloc, GrandExchangeUpdateMessage message) throws IOException {
GameFrameBuilder builder = new GameFrameBuilder(alloc, 116);
builder.put(DataType.BYTE, message.getOffer().getSlot());
builder.put(DataType.BYTE, message.getOffer().getBarId());
builder.put(DataType.SHORT, message.getOffer().getItemId());
builder.put(DataType.INT, message.getOffer().getPrice());
builder.put(DataType.INT, message.getOffer().getOfferAmount());
builder.put(DataType.INT, message.getOffer().getAmountComplete());
builder.put(DataType.INT, message.getOffer().getTotalCoins());
return builder.toGameFrame();
}
}