package advancedsystemsmanager.compatibility.rf.menus;
import advancedsystemsmanager.flow.FlowComponent;
import advancedsystemsmanager.flow.elements.CheckBox;
import advancedsystemsmanager.flow.elements.CheckBoxList;
import advancedsystemsmanager.client.gui.GuiManager;
import advancedsystemsmanager.flow.menus.Menu;
import advancedsystemsmanager.reference.Names;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.nbt.NBTTagCompound;
import java.util.List;
public class MenuRFCondition extends MenuRFAmount
{
public CheckBoxList checkBoxes = new CheckBoxList();
public boolean triggerBelow;
public MenuRFCondition(FlowComponent parent)
{
super(parent);
this.checkBoxes.addCheckBox(new CheckBox(getParent(), Names.BELOW, 5, 50)
{
public void setValue(boolean val)
{
MenuRFCondition.this.triggerBelow = val;
}
public boolean getValue()
{
return MenuRFCondition.this.triggerBelow;
}
});
}
@Override
public String getName()
{
return Names.RF_CONDITION_MENU;
}
@SideOnly(Side.CLIENT)
@Override
public void draw(GuiManager gui, int mX, int mY)
{
gui.drawSplitString(Names.RF_CONDITION_INFO, 5, 5, 110, 0.7F, 4210752);
this.checkBoxes.draw(gui, mX, mY);
this.textBoxes.draw(gui, mX, mY);
}
@SideOnly(Side.CLIENT)
@Override
public void onClick(int mX, int mY, int button)
{
super.onClick(mX, mY, button);
this.checkBoxes.onClick(mX, mY);
}
@Override
public void copyFrom(Menu menu)
{
super.copyFrom(menu);
this.triggerBelow = ((MenuRFCondition)menu).triggerBelow;
}
@Override
public void readFromNBT(NBTTagCompound nbtTagCompound, boolean pickup)
{
super.readFromNBT(nbtTagCompound, pickup);
this.triggerBelow = nbtTagCompound.getBoolean("Inverted");
}
@Override
public void writeToNBT(NBTTagCompound nbtTagCompound, boolean pickup)
{
super.writeToNBT(nbtTagCompound, pickup);
nbtTagCompound.setBoolean("Inverted", this.triggerBelow);
}
@Override
public void addErrors(List<String> errors)
{
if (textBox.getNumber() == 0 && triggerBelow) errors.add(Names.RF_CONDITION_ERROR);
}
public boolean isLessThan()
{
return this.triggerBelow;
}
}