package advancedsystemsmanager.flow.menus; import advancedsystemsmanager.flow.FlowComponent; import advancedsystemsmanager.flow.elements.TextBoxNumber; import advancedsystemsmanager.flow.elements.TextBoxNumberList; import advancedsystemsmanager.client.gui.GuiManager; import advancedsystemsmanager.reference.Names; import advancedsystemsmanager.registry.ConnectionSet; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.nbt.NBTTagCompound; public class MenuInterval extends Menu { public static final int TEXT_BOX_X = 15; public static final int TEXT_BOX_Y = 35; public static final int MENU_WIDTH = 120; public static final int TEXT_MARGIN_X = 5; public static final int TEXT_Y = 10; public static final int TEXT_Y2 = 15; public static final int TEXT_SECONDS_X = 60; public static final int TEXT_SECOND_Y = 38; public static final String NBT_INTERVAL = "Interval"; public TextBoxNumberList textBoxes; public TextBoxNumber interval; public MenuInterval(FlowComponent parent) { super(parent); textBoxes = new TextBoxNumberList(); textBoxes.addTextBox(interval = new TextBoxNumber(getParent(), TEXT_BOX_X, TEXT_BOX_Y, 3, true)); interval.setNumber(1); } @Override public String getName() { return Names.INTERVAL_MENU; } @SideOnly(Side.CLIENT) @Override public void draw(GuiManager gui, int mX, int mY) { gui.drawSplitString(Names.INTERVAL_INFO, TEXT_MARGIN_X, TEXT_Y, MENU_WIDTH - TEXT_MARGIN_X * 2, 0.7F, 0x404040); gui.drawString(Names.SECOND, TEXT_SECONDS_X, TEXT_SECOND_Y, 0.7F, 0x404040); textBoxes.draw(gui, mX, mY); } @SideOnly(Side.CLIENT) @Override public void onClick(int mX, int mY, int button) { textBoxes.onClick(mX, mY, button); } @SideOnly(Side.CLIENT) @Override public boolean onKeyStroke(GuiManager gui, char c, int k) { return textBoxes.onKeyStroke(gui, c, k); } @Override public void copyFrom(Menu menu) { setInterval(((MenuInterval)menu).getInterval()); } @Override public void readFromNBT(NBTTagCompound nbtTagCompound, boolean pickup) { setInterval(nbtTagCompound.getShort(NBT_INTERVAL)); } @Override public void writeToNBT(NBTTagCompound nbtTagCompound, boolean pickup) { nbtTagCompound.setShort(NBT_INTERVAL, (short)getInterval()); } @Override public boolean isVisible() { return getParent().getConnectionSet() != ConnectionSet.DELAYED; } public int getInterval() { return interval.getNumber(); } public void setInterval(int val) { interval.setNumber(val); } }