package advancedsystemsmanager.flow.menus; import advancedsystemsmanager.flow.FlowComponent; import advancedsystemsmanager.containers.ContainerManager; import advancedsystemsmanager.client.gui.GuiManager; import advancedsystemsmanager.network.ASMPacket; import advancedsystemsmanager.network.PacketHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.nbt.NBTTagCompound; import java.util.List; public abstract class Menu { public FlowComponent parent; public int id; public Menu(FlowComponent parent) { this.parent = parent; id = parent.getMenus().size(); } public abstract String getName(); @SideOnly(Side.CLIENT) public abstract void draw(GuiManager gui, int mX, int mY); @SideOnly(Side.CLIENT) public void drawMouseOver(GuiManager gui, int mX, int mY) { } @SideOnly(Side.CLIENT) public abstract void onClick(int mX, int mY, int button); @SideOnly(Side.CLIENT) public void onDrag(int mX, int mY, boolean isMenuOpen) { } @SideOnly(Side.CLIENT) public void onRelease(int mX, int mY, int button, boolean isMenuOpen) { } @SideOnly(Side.CLIENT) public boolean onKeyStroke(GuiManager gui, char c, int k) { return false; } public ASMPacket getWriterForClientComponentPacket(ContainerManager container) { return PacketHandler.getWriterForClientComponentPacket(container, getParent(), this); } public FlowComponent getParent() { return parent; } public void copyFrom(Menu menu) { } public int getId() { return id; } public void readFromNBT(NBTTagCompound nbtTagCompound, boolean pickup) { } public void writeToNBT(NBTTagCompound nbtTagCompound, boolean pickup) { } public void addErrors(List<String> errors) { } public boolean isVisible() { return true; } public void update(float partial) { } public void doScroll(int scroll) { } public void onGuiClosed() { } }