package advancedsystemsmanager.flow.menus;
import advancedsystemsmanager.flow.FlowComponent;
import advancedsystemsmanager.flow.elements.RadioButton;
import advancedsystemsmanager.client.gui.GuiManager;
import advancedsystemsmanager.reference.Names;
import advancedsystemsmanager.threading.SearchItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.ItemStack;
import java.util.List;
public class MenuCamouflageItems extends MenuItem
{
public static final int TEXT_MARGIN_X = 5;
public static final int TEXT_Y = 40;
public static final int MENU_WIDTH = 120;
public MenuCamouflageItems(FlowComponent parent)
{
super(parent);
scrollControllerSelected.setDisabledScroll(true);
}
@Override
public int getSettingCount()
{
return 1;
}
@Override
public void initRadioButtons()
{
radioButtons.add(new RadioButton(RADIO_BUTTON_X_LEFT, RADIO_BUTTON_Y, Names.CLEAR_CAMOUFLAGE));
radioButtons.add(new RadioButton(RADIO_BUTTON_X_RIGHT, RADIO_BUTTON_Y, Names.SET_CAMOUFLAGE));
}
@Override
public boolean doAllowEdit()
{
return false;
}
@SideOnly(Side.CLIENT)
@Override
public void draw(GuiManager gui, int mX, int mY)
{
super.draw(gui, mX, mY);
if (!isEditing() && !isSearching())
{
gui.drawSplitString(Names.CAMOUFLAGE_INFO, TEXT_MARGIN_X, TEXT_Y, MENU_WIDTH - TEXT_MARGIN_X * 2, 0.7F, 0x404040);
}
}
@Override
public boolean isListVisible()
{
return isSearching() || !isFirstRadioButtonSelected();
}
@Override
public void addErrors(List<String> errors)
{
if (!isFirstRadioButtonSelected() && !getSettings().get(0).isValid())
{
errors.add(Names.NO_CAMOUFLAGE_SETTING);
}
}
@SideOnly(Side.CLIENT)
@Override
public List<ItemStack> updateSearch(String search, boolean showAll)
{
Thread thread = new Thread(new SearchItems(search, scrollControllerSearch, showAll, true));
thread.start();
return scrollControllerSearch.getResult();
}
@Override
public String getName()
{
return Names.CAMOUFLAGE_ITEM_MENU;
}
}