InventoryView.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package view;
  2. import model.Inventory;
  3. import java.awt.*;
  4. public class InventoryView {
  5. private GamePanel gp;
  6. private int inventoryHeight, inventoryWidth, inventoryY, inventoryX;
  7. public InventoryView(GamePanel gamePanel){
  8. this.gp = gamePanel;
  9. }
  10. public void drawInventoryOverlay(Graphics2D g2) {
  11. int overlayX = 20;
  12. int overlayY = 20;
  13. int slotSize = 48;
  14. int slotSpacing = 8;
  15. int slotCount = gp.inventory.getUniqueItemsCount(); // Change as needed
  16. int overlayWidth = slotSize + 2* slotSpacing;
  17. int overlayHeight = (slotSize + slotSpacing) * slotCount + slotSpacing;
  18. // Background panel
  19. g2.setColor(new Color(0, 0, 0, 160)); // semi-transparent black
  20. g2.fillRoundRect(overlayX, overlayY, overlayWidth, overlayHeight, 15, 15);
  21. // Draw slots
  22. g2.setColor(Color.LIGHT_GRAY);
  23. for (int i = 0; i < slotCount; i++) {
  24. int x = overlayX + slotSpacing;
  25. int y = overlayY + slotSpacing + i * (slotSize + slotSpacing);
  26. g2.fillRoundRect(x, y, slotSize, slotSize, 10, 10);
  27. // Optional: draw slot index or placeholder icon
  28. g2.setColor(Color.DARK_GRAY);
  29. g2.setFont(new Font("Arial", Font.PLAIN, 14));
  30. g2.drawString("Slot " + (i + 1), x + 5, y + slotSize / 2 + 5);
  31. g2.setColor(Color.LIGHT_GRAY); // reset color for next slot
  32. }
  33. }
  34. public int getInventoryHeight() {
  35. return inventoryHeight;
  36. }
  37. public int getInventoryWidth() {
  38. return inventoryWidth;
  39. }
  40. public int getInventoryY() {
  41. return inventoryY;
  42. }
  43. public int getInventoryX() {
  44. return inventoryX;
  45. }
  46. }