Refactored package-structure

Extracted Animated-interface
This commit is contained in:
Urban Modig
2025-08-31 17:54:53 +02:00
parent 61d9df04f9
commit 2e9e7cc45e
24 changed files with 223 additions and 142 deletions

View File

@ -4,9 +4,9 @@ import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import se.urmo.game.collision.CollisionChecker;
import se.urmo.game.collision.GhostCollisionChecker;
import se.urmo.game.entities.Ghost;
import se.urmo.game.entities.GhostMode;
import se.urmo.game.entities.PacMan;
import se.urmo.game.entities.ghost.Ghost;
import se.urmo.game.entities.ghost.GhostMode;
import se.urmo.game.entities.pacman.PacMan;
import se.urmo.game.main.Game;
import se.urmo.game.map.GameMap;
import se.urmo.game.map.MapTile;
@ -25,6 +25,7 @@ public class PlayingState implements GameState {
private final Font arcadeFont;
private final FruitManager fruitManager;
private final LevelManager levelManager;
private final AnimationManager animationManager;
private PacMan pacman;
@Getter
private GameMap map;
@ -35,8 +36,10 @@ public class PlayingState implements GameState {
this.game = game;
this.gameStateManager = gameStateManager;
this.map = new GameMap("maps/map1.csv");
this.pacman = new PacMan(game, new CollisionChecker(map));
this.ghostManager = new GhostManager(new GhostCollisionChecker(map));
this.animationManager = new AnimationManager();
this.pacman = new PacMan(new CollisionChecker(map));
animationManager.register(pacman);
this.ghostManager = new GhostManager(new GhostCollisionChecker(map), animationManager);
this.levelManager = new LevelManager();
this.fruitManager = new FruitManager(levelManager);
this.arcadeFont = loadArcadeFont();
@ -44,6 +47,7 @@ public class PlayingState implements GameState {
@Override
public void update() {
animationManager.updateAll();
pacman.update();
ghostManager.update(pacman, map);
fruitManager.update(pacman, this);