|
|
@@ -1,12 +1,8 @@
|
|
|
package controller;
|
|
|
|
|
|
-import model.Inventory;
|
|
|
-import model.Tile;
|
|
|
import util.GAMESTATE;
|
|
|
import view.Camera;
|
|
|
import view.GamePanel;
|
|
|
-import view.InventoryView;
|
|
|
-import view.tile.interactive.InteractiveTile;
|
|
|
import view.tile.TileManager;
|
|
|
|
|
|
import java.awt.event.MouseEvent;
|
|
|
@@ -18,27 +14,26 @@ public class MouseListener extends MouseMotionAdapter implements java.awt.event.
|
|
|
|
|
|
Camera camera;
|
|
|
TileManager tileManager;
|
|
|
- GamePanel gp;
|
|
|
- InventoryView iView;
|
|
|
- Inventory inventory;
|
|
|
+ GamePanel gamePanel;
|
|
|
GameController controller;
|
|
|
|
|
|
- public MouseListener(GameController controller, GamePanel gp, Camera camera, TileManager tm) {
|
|
|
+ public MouseListener(GameController controller, GamePanel gamePanel, Camera camera, TileManager tm) {
|
|
|
this.controller = controller;
|
|
|
- this.gp = gp;
|
|
|
+ this.gamePanel = gamePanel;
|
|
|
this.camera = camera;
|
|
|
this.tileManager = tm;
|
|
|
}
|
|
|
@Override
|
|
|
public void mouseDragged(MouseEvent e) {
|
|
|
- if(gp.gameState == GAMESTATE.PAUSED) return;
|
|
|
- if(gp.gameState == GAMESTATE.INVENTORY){
|
|
|
+ if(gamePanel.gameState == GAMESTATE.PAUSED) return;
|
|
|
+ if(gamePanel.gameState == GAMESTATE.INVENTORY){
|
|
|
|
|
|
}else{
|
|
|
int diffY = startY - e.getY();
|
|
|
int diffX = startX - e.getX();
|
|
|
|
|
|
camera.move(diffX, diffY);
|
|
|
+ gamePanel.closeMenus();
|
|
|
|
|
|
startX = e.getX();
|
|
|
startY = e.getY();
|
|
|
@@ -47,14 +42,14 @@ public class MouseListener extends MouseMotionAdapter implements java.awt.event.
|
|
|
|
|
|
@Override
|
|
|
public void mouseClicked(MouseEvent e) {
|
|
|
- if(gp.gameState == GAMESTATE.PLAY){
|
|
|
- gp.ui.handleClick(e.getX(), e.getY());
|
|
|
- }else if (gp.gameState == GAMESTATE.INVENTORY && e.getButton() == MouseEvent.BUTTON1) {
|
|
|
+ if(gamePanel.gameState == GAMESTATE.PLAY){
|
|
|
+ gamePanel.ui.handleClick(e.getX(), e.getY());
|
|
|
+ }else if (gamePanel.gameState == GAMESTATE.INVENTORY && e.getButton() == MouseEvent.BUTTON1) {
|
|
|
controller.handleInventoryClick(e.getX(), e.getY());
|
|
|
- }else if(gp.gameState == GAMESTATE.INVENTORY && e.getButton() == 1){
|
|
|
+ }else if(gamePanel.gameState == GAMESTATE.INVENTORY && e.getButton() == 1){
|
|
|
controller.handleInventoryClick(e.getX(), e.getY());
|
|
|
- }else if(gp.gameState == GAMESTATE.PAUSED){
|
|
|
- gp.ui.handleMenuClick(e.getX(), e.getY());
|
|
|
+ }else if(gamePanel.gameState == GAMESTATE.PAUSED){
|
|
|
+ gamePanel.ui.handleMenuClick(e.getX(), e.getY());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -62,23 +57,6 @@ public class MouseListener extends MouseMotionAdapter implements java.awt.event.
|
|
|
public void mousePressed(MouseEvent e) {
|
|
|
startX = e.getX();
|
|
|
startY = e.getY();
|
|
|
-
|
|
|
- int worldX = (int) (startX + camera.worldX - camera.screenX);
|
|
|
- int worldY = (int) (startY + camera.worldY - camera.screenY);
|
|
|
-
|
|
|
- int tileCol = worldX / gp.tileSize;
|
|
|
- int tileRow = worldY / gp.tileSize;
|
|
|
-
|
|
|
- if (tileCol >= 0 && tileCol < gp.maxWorldCol &&
|
|
|
- tileRow >= 0 && tileRow < gp.maxWorldRow) {
|
|
|
-
|
|
|
- int tileIndex = tileManager.mapTileNum[tileCol][tileRow];
|
|
|
- Tile tile = tileManager.tile[tileIndex];
|
|
|
-
|
|
|
- if(tile instanceof InteractiveTile it) {
|
|
|
- it.click(); // Consumer wird aufgerufen
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
@Override
|