Selecting tasks in monitor

This commit is contained in:
Raoul Van den Berge
2016-05-06 15:31:41 +02:00
parent 032da258ed
commit a8dad24d32
2 changed files with 42 additions and 0 deletions

View File

@@ -8,13 +8,21 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
import scala.actors.threadpool.Arrays;
import java.io.IOException;
import java.util.List;
public class GuiCraftingMonitor extends GuiBase {
public static final int VISIBLE_ROWS = 3;
public static final int ITEM_WIDTH = 72;
public static final int ITEM_HEIGHT = 30;
private TileCraftingMonitor craftingMonitor;
private int itemSelected = -1;
private int itemSelectedX;
private int itemSelectedY;
private Scrollbar scrollbar = new Scrollbar(157, 20, 12, 89);
public GuiCraftingMonitor(ContainerCraftingMonitor container, TileCraftingMonitor craftingMonitor) {
@@ -32,6 +40,10 @@ public class GuiCraftingMonitor extends GuiBase {
public void update(int x, int y) {
scrollbar.setCanScroll(getRows() > VISIBLE_ROWS);
scrollbar.setScrollDelta((float) scrollbar.getScrollbarHeight() / (float) getRows());
if (itemSelected >= craftingMonitor.getTasks().size()) {
itemSelected = -1;
}
}
@Override
@@ -40,6 +52,10 @@ public class GuiCraftingMonitor extends GuiBase {
drawTexture(x, y, 0, 0, width, height);
if (itemSelected != -1) {
drawTexture(x + itemSelectedX, y + itemSelectedY, 178, 0, ITEM_WIDTH, ITEM_HEIGHT);
}
scrollbar.draw(this);
}
@@ -120,4 +136,30 @@ public class GuiCraftingMonitor extends GuiBase {
return max < 0 ? 0 : max;
}
@Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
super.mouseClicked(mouseX, mouseY, mouseButton);
itemSelected = -1;
if (mouseButton == 0) {
int i = 0;
for (int y = 0; y < 3; ++y) {
for (int x = 0; x < 2; ++x) {
int ix = 8 + (x * ITEM_WIDTH);
int iy = 20 + (y * ITEM_HEIGHT);
if (inBounds(ix, iy, ITEM_WIDTH, ITEM_HEIGHT, mouseX - guiLeft, mouseY - guiTop) && i < craftingMonitor.getTasks().size()) {
itemSelected = i;
itemSelectedX = ix;
itemSelectedY = iy;
}
i++;
}
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB