package advancedsystemsmanager.flow.elements; import advancedsystemsmanager.api.network.IPacketProvider; import advancedsystemsmanager.network.ASMPacket; public class TextBoxNumber extends UpdateElement { public static final int TEXT_BOX_SIZE_W = 21; public static final int TEXT_BOX_SIZE_W_WIDE = 33; public int x; public int y; public int number; public int length; public boolean wide; public TextBoxNumber(IPacketProvider packetProvider, int x, int y, int length, boolean wide) { super(packetProvider); this.x = x; this.y = y; number = 0; this.length = length; this.wide = wide; } public int getLength() { return length; } public int getX() { return x; } public int getY() { return y; } public boolean isVisible() { return true; } public boolean isWide() { return wide; } public int getWidth() { return wide ? TEXT_BOX_SIZE_W_WIDE : TEXT_BOX_SIZE_W; } public final boolean allowNegative() { return getMinNumber() < 0; } public int getMinNumber() { return 0; } public float getTextSize() { return 1; } public int getTextY() { return 3; } @Override public boolean writeData(ASMPacket packet) { packet.writeVarIntToBuffer(getNumber()); return true; } public int getNumber() { return number; } public void setNumber(int number) { int max = getMaxNumber(); if (max != -1 && number > max) { number = max; } int min = getMinNumber(); if (number < min) { number = min; } this.number = number; } @Override public boolean readData(ASMPacket packet) { setNumber(packet.readVarIntFromBuffer()); return false; } public int getMaxNumber() { return -1; } }