package view; import model.Inventory; import java.awt.*; public class InventoryView { private GamePanel gp; private int inventoryHeight, inventoryWidth, inventoryY, inventoryX; public InventoryView(GamePanel gamePanel){ this.gp = gamePanel; } public void drawInventoryOverlay(Graphics2D g2) { int overlayX = 20; int overlayY = 20; int slotSize = 48; int slotSpacing = 8; int slotCount = gp.inventory.getUniqueItemsCount(); // Change as needed int overlayWidth = slotSize + 2* slotSpacing; int overlayHeight = (slotSize + slotSpacing) * slotCount + slotSpacing; // Background panel g2.setColor(new Color(0, 0, 0, 160)); // semi-transparent black g2.fillRoundRect(overlayX, overlayY, overlayWidth, overlayHeight, 15, 15); // Draw slots g2.setColor(Color.LIGHT_GRAY); for (int i = 0; i < slotCount; i++) { int x = overlayX + slotSpacing; int y = overlayY + slotSpacing + i * (slotSize + slotSpacing); g2.fillRoundRect(x, y, slotSize, slotSize, 10, 10); // Optional: draw slot index or placeholder icon g2.setColor(Color.DARK_GRAY); g2.setFont(new Font("Arial", Font.PLAIN, 14)); g2.drawString("Slot " + (i + 1), x + 5, y + slotSize / 2 + 5); g2.setColor(Color.LIGHT_GRAY); // reset color for next slot } } public int getInventoryHeight() { return inventoryHeight; } public int getInventoryWidth() { return inventoryWidth; } public int getInventoryY() { return inventoryY; } public int getInventoryX() { return inventoryX; } }