PowerMiner/src/Inventory.java

47 lines
1.4 KiB
Java

import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.image.BufferedImage;
import java.io.IOException;
public class Inventory {
public static final int INVENTORY_OFFSET_WIDTH = 655; //top left corner of inventory, fromm top left corner of screen
public static final int INVENTORY_OFFSET_HEIGHT = 290;
public static final int INVENTORY_WIDTH = 820 - 649;// 820
public static final int INVENTORY_HEIGHT = 350; // 530
Robot robot;
Rectangle inventoryAreaToCapture;
InventorySlot[][] inventorySlots;
public Inventory() throws AWTException {
initializeInventorySlots();
robot = new Robot();
this.inventoryAreaToCapture = new Rectangle(INVENTORY_OFFSET_WIDTH, INVENTORY_OFFSET_HEIGHT, INVENTORY_WIDTH, INVENTORY_HEIGHT);
}
private void initializeInventorySlots() {
inventorySlots = new InventorySlot[4][7];
for (int row = 0; row < 4; row++) {
for (int column = 0; column < 7; column++) {
inventorySlots[row][column] = new InventorySlot(row, column);
}
}
}
public void update() throws IOException {
BufferedImage image = robot.createScreenCapture(this.inventoryAreaToCapture);
updateAllInventorySlots(image);
}
private void updateAllInventorySlots(BufferedImage image) throws IOException {
for (int row = 0; row < 4; row++) {
for (int column = 0; column < 7; column++) {
inventorySlots[row][column].updateInventorySlot(image);
}
}
}
}