package net.scapeemulator.game.update;
import net.scapeemulator.game.model.mob.Direction;
import net.scapeemulator.game.model.npc.NPC;
import net.scapeemulator.game.msg.impl.NpcUpdateMessage;
import net.scapeemulator.game.net.game.GameFrameBuilder;
public final class RunNpcDescriptor extends NpcDescriptor {
private final Direction firstDirection, secondDirection;
public RunNpcDescriptor(NPC npc) {
super(npc);
this.firstDirection = npc.getFirstDirection();
this.secondDirection = npc.getSecondDirection();
}
@Override
public void encodeDescriptor(NpcUpdateMessage message, GameFrameBuilder builder, GameFrameBuilder blockBuilder) {
builder.putBits(1, 1);
builder.putBits(2, 2);
builder.putBits(1, 1);
builder.putBits(3, firstDirection.toInteger());
builder.putBits(3, secondDirection.toInteger());
builder.putBits(1, isBlockUpdatedRequired() ? 1 : 0);
}
}