|
|
@@ -1,16 +1,19 @@
|
|
|
package view;
|
|
|
|
|
|
import controller.GameController;
|
|
|
-import controller.MouseListener;
|
|
|
+import controller.GameMouseListener;
|
|
|
import controller.MouseWheelZoom;
|
|
|
import model.GameSaver;
|
|
|
import model.Inventory;
|
|
|
import view.entity.EntityManager;
|
|
|
+import view.popUpMenu.PopupManager;
|
|
|
import view.tile.TileManager;
|
|
|
import util.GAMESTATE;
|
|
|
|
|
|
import javax.swing.*;
|
|
|
import java.awt.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
|
|
|
public class GamePanel extends JPanel{
|
|
|
|
|
|
@@ -45,7 +48,7 @@ public class GamePanel extends JPanel{
|
|
|
|
|
|
public TileManager tileManager;
|
|
|
public EntityManager entityManager;
|
|
|
-
|
|
|
+ private PopupManager popupManager;
|
|
|
private InventoryView inventoryView;
|
|
|
public Camera camera;
|
|
|
|
|
|
@@ -58,11 +61,12 @@ public class GamePanel extends JPanel{
|
|
|
|
|
|
this.tileManager = new TileManager(this);
|
|
|
this.entityManager = new EntityManager(this);
|
|
|
+ this.popupManager = new PopupManager(this, new ArrayList<>(Arrays.asList(tileManager, entityManager)));
|
|
|
|
|
|
Inventory inventory = gameController.getModel().getInventory();
|
|
|
this.inventoryView = new InventoryView(inventory);
|
|
|
|
|
|
- MouseListener mdl = new MouseListener(controller, this, camera);
|
|
|
+ GameMouseListener mdl = new GameMouseListener(controller, this, camera);
|
|
|
this.addMouseListener(mdl);
|
|
|
this.addMouseMotionListener(mdl);
|
|
|
this.addMouseWheelListener(new MouseWheelZoom(controller));
|
|
|
@@ -102,6 +106,8 @@ public class GamePanel extends JPanel{
|
|
|
int newWorldWidth = tileSize * maxWorldCol;
|
|
|
int newWorldHeight = tileSize * maxWorldRow;
|
|
|
|
|
|
+ tileManager.resize(tileSize);
|
|
|
+ entityManager.resize(tileSize);
|
|
|
// Adjust camera position relative to the new scale
|
|
|
double widthMultiplier = (double) newWorldWidth / oldWorldWidth;
|
|
|
double heightMultiplier = (double) newWorldHeight / oldWorldHeight;
|
|
|
@@ -123,6 +129,7 @@ public class GamePanel extends JPanel{
|
|
|
|
|
|
tileManager.draw(g2);
|
|
|
entityManager.draw(g2);
|
|
|
+ popupManager.drawPopups(g2);
|
|
|
|
|
|
if (gameState == GAMESTATE.INVENTORY) {
|
|
|
inventoryView.drawInventoryOverlay(g2);
|