package advancedsystemsmanager.flow.menus;
import advancedsystemsmanager.flow.FlowComponent;
import advancedsystemsmanager.client.gui.GuiManager;
import advancedsystemsmanager.helpers.CollisionHelper;
import advancedsystemsmanager.tileentities.manager.Settings;
import advancedsystemsmanager.reference.Names;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class MenuGroup extends Menu
{
public static final int MENU_WIDTH = 120;
public static final int TEXT_MARGIN_X = 5;
public static final int TEXT_Y = 5;
public MenuGroup(FlowComponent parent)
{
super(parent);
}
@Override
public String getName()
{
return Names.GROUP_MENU;
}
@SideOnly(Side.CLIENT)
@Override
public void draw(GuiManager gui, int mX, int mY)
{
gui.drawSplitString(Names.GROUP_INFO, TEXT_MARGIN_X, TEXT_Y, MENU_WIDTH - TEXT_MARGIN_X * 2, 1F, 0x404040);
}
@SideOnly(Side.CLIENT)
@Override
public void onClick(int mX, int mY, int button)
{
if (inBounds(mX, mY)) getParent().getManager().setSelectedGroup(getParent());
}
public boolean inBounds(int mX, int mY)
{
return (CollisionHelper.inBounds(0, 0, MENU_WIDTH, FlowComponent.getMenuOpenSize(), mX, mY));
}
@SideOnly(Side.CLIENT)
@Override
public void onRelease(int mX, int mY, int button, boolean isMenuOpen)
{
if (isMenuOpen && inBounds(mX, mY))
{
for (FlowComponent component : getParent().getManager().getFlowItems())
{
if (component.isBeingMoved())
{
if (!component.equals(getParent()))
{
boolean group = button == 2 && Settings.getSetting(Settings.MIDDLE_CLICK);
component.sendNewParentData(getParent(), group);
FlowComponent.moveComponents(component, getParent(), group);
}
break;
}
}
}
}
}