Moved speeds to LevelManager

This commit is contained in:
Urban Modig
2025-08-31 19:53:38 +02:00
parent 2e9e7cc45e
commit 3a4a0a1824
6 changed files with 53 additions and 31 deletions

View File

@ -5,6 +5,7 @@ import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import se.urmo.game.collision.CollisionChecker;
import se.urmo.game.entities.BaseAnimated;
import se.urmo.game.state.LevelManager;
import se.urmo.game.util.Direction;
import se.urmo.game.map.GameMap;
import se.urmo.game.util.LoadSave;
@ -28,18 +29,22 @@ public class PacMan extends BaseAnimated {
private final BufferedImage[][] spriteSheets;
private MyPoint position;
private final CollisionChecker collisionChecker;
private final LevelManager levelManager;
@Setter
@Getter
private Direction direction = Direction.NONE;
private double pacmanLevelSpeed;
public PacMan(CollisionChecker collisionChecker) {
public PacMan(CollisionChecker collisionChecker, LevelManager levelManager) {
super(ANIMATION_UPDATE_FREQUENCY, 4);
this.collisionChecker = collisionChecker;
this.levelManager = levelManager;
this.position = new MyPoint(
26 * GameMap.MAP_TILESIZE + GameMap.OFFSET_X,
13 * GameMap.MAP_TILESIZE + GameMap.OFFSET_Y + ((double) GameMap.MAP_TILESIZE / 2));
this.startPosition = this.position;
this.spriteSheets = loadAnimation();
this.pacmanLevelSpeed = this.levelManager.getPacmanLevelSpeed();
}
private BufferedImage[][] loadAnimation() {
@ -93,7 +98,7 @@ public class PacMan extends BaseAnimated {
}
private double getSpeed() {
return BASE_SPEED * 0.8;
return BASE_SPEED * pacmanLevelSpeed;
}
public double distanceTo(Point point) {