Skip to content

Commit 9382448

Browse files
Enhanced state machine, separated test states from game play states.
1 parent cb10222 commit 9382448

File tree

31 files changed

+815
-699
lines changed

31 files changed

+815
-699
lines changed

pacman-app-arcade-mspacman/src/main/java/de/amr/pacmanfx/arcade/ms_pacman/ArcadeMsPacMan_UIConfig.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
import de.amr.pacmanfx.arcade.ms_pacman.scenes.*;
1010
import de.amr.pacmanfx.arcade.pacman.scenes.ArcadePacMan_BootScene2D;
1111
import de.amr.pacmanfx.arcade.pacman.scenes.ArcadePacMan_PlayScene2D;
12-
import de.amr.pacmanfx.controller.GameState;
12+
import de.amr.pacmanfx.controller.CutScenesTestState;
13+
import de.amr.pacmanfx.controller.GamePlayState;
1314
import de.amr.pacmanfx.lib.RectShort;
1415
import de.amr.pacmanfx.lib.tilemap.WorldMap;
1516
import de.amr.pacmanfx.model.AbstractGameModel;
@@ -258,10 +259,10 @@ public void createGameScenes() {
258259
@Override
259260
public GameScene selectGameScene(GameContext gameContext) {
260261
String sceneID = switch (gameContext.gameState()) {
261-
case GameState.BOOT -> SCENE_ID_BOOT_SCENE_2D;
262-
case GameState.SETTING_OPTIONS_FOR_START -> SCENE_ID_START_SCENE_2D;
263-
case GameState.INTRO -> SCENE_ID_INTRO_SCENE_2D;
264-
case GameState.INTERMISSION -> {
262+
case GamePlayState.BOOT -> SCENE_ID_BOOT_SCENE_2D;
263+
case GamePlayState.SETTING_OPTIONS_FOR_START -> SCENE_ID_START_SCENE_2D;
264+
case GamePlayState.INTRO -> SCENE_ID_INTRO_SCENE_2D;
265+
case GamePlayState.INTERMISSION -> {
265266
if (gameContext.optGameLevel().isEmpty()) {
266267
throw new IllegalStateException("Cannot determine cut scene, no game level available");
267268
}
@@ -272,7 +273,7 @@ public GameScene selectGameScene(GameContext gameContext) {
272273
}
273274
yield SCENE_ID_CUT_SCENE_N_2D.formatted(optCutSceneNumber.getAsInt());
274275
}
275-
case GameState.TESTING_CUT_SCENES -> {
276+
case CutScenesTestState ignored -> {
276277
//TODO
277278
if (gameContext.game() instanceof AbstractGameModel gameModel) {
278279
yield SCENE_ID_CUT_SCENE_N_2D.formatted(gameModel.testedCutSceneNumber);

pacman-app-arcade-mspacman/src/main/java/de/amr/pacmanfx/arcade/ms_pacman/scenes/ArcadeMsPacMan_IntroScene.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55
package de.amr.pacmanfx.arcade.ms_pacman.scenes;
66

7-
import de.amr.pacmanfx.controller.GameState;
7+
import de.amr.pacmanfx.controller.GamePlayState;
88
import de.amr.pacmanfx.event.GameEvent;
99
import de.amr.pacmanfx.lib.Direction;
1010
import de.amr.pacmanfx.lib.Vector2f;
@@ -60,7 +60,7 @@ public class ArcadeMsPacMan_IntroScene extends GameScene2D {
6060

6161
public ArcadeMsPacMan_IntroScene(GameUI ui) {
6262
super(ui);
63-
sceneController = new StateMachine<>(SceneState.values()) {
63+
sceneController = new StateMachine<>(List.of(SceneState.values())) {
6464
@Override
6565
public ArcadeMsPacMan_IntroScene context() {
6666
return ArcadeMsPacMan_IntroScene.this;
@@ -75,8 +75,8 @@ public void doInit() {
7575
actionBindings.assign(ACTION_ARCADE_INSERT_COIN, ui.actionBindings());
7676
actionBindings.assign(ACTION_ARCADE_START_GAME, ui.actionBindings());
7777
actionBindings.assign(ACTION_TEST_CUT_SCENES, ui.actionBindings());
78-
actionBindings.assign(ACTION_TEST_LEVELS_BONI, ui.actionBindings());
79-
actionBindings.assign(ACTION_TEST_LEVELS_TEASERS, ui.actionBindings());
78+
actionBindings.assign(ACTION_TEST_LEVELS_SHORT, ui.actionBindings());
79+
actionBindings.assign(ACTION_TEST_LEVELS_MEDIUM, ui.actionBindings());
8080

8181
midwayCopyright = new MidwayCopyright(ui.currentConfig().localAssetImage("logo.midway"));
8282
midwayCopyright.setPosition(TS * 6, TS * 28);
@@ -249,9 +249,9 @@ public void onUpdate(ArcadeMsPacMan_IntroScene scene) {
249249
public void onUpdate(ArcadeMsPacMan_IntroScene scene) {
250250
scene.marquee.timer().doTick();
251251
if (sceneTimer.atSecond(2.0) && !scene.gameContext().game().canStartNewGame()) {
252-
scene.gameContext().gameController().changeGameState(GameState.STARTING_GAME); // demo level
252+
scene.gameContext().gameController().changeGameState(GamePlayState.STARTING_GAME); // demo level
253253
} else if (sceneTimer.atSecond(5)) {
254-
scene.gameContext().gameController().changeGameState(GameState.SETTING_OPTIONS_FOR_START);
254+
scene.gameContext().gameController().changeGameState(GamePlayState.SETTING_OPTIONS_FOR_START);
255255
}
256256
}
257257
};

pacman-app-arcade-pacman/src/main/java/de/amr/pacmanfx/arcade/pacman/ArcadePacMan_UIConfig.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
import de.amr.pacmanfx.GameContext;
88
import de.amr.pacmanfx.arcade.pacman.rendering.*;
99
import de.amr.pacmanfx.arcade.pacman.scenes.*;
10-
import de.amr.pacmanfx.controller.GameState;
10+
import de.amr.pacmanfx.controller.CutScenesTestState;
11+
import de.amr.pacmanfx.controller.GamePlayState;
1112
import de.amr.pacmanfx.lib.RectShort;
1213
import de.amr.pacmanfx.lib.Vector2f;
1314
import de.amr.pacmanfx.lib.tilemap.WorldMap;
@@ -248,10 +249,10 @@ public void createGameScenes() {
248249
@Override
249250
public GameScene selectGameScene(GameContext gameContext) {
250251
String sceneID = switch (gameContext.gameState()) {
251-
case GameState.BOOT -> SCENE_ID_BOOT_SCENE_2D;
252-
case GameState.SETTING_OPTIONS_FOR_START -> SCENE_ID_START_SCENE_2D;
253-
case GameState.INTRO -> SCENE_ID_INTRO_SCENE_2D;
254-
case GameState.INTERMISSION -> {
252+
case GamePlayState.BOOT -> SCENE_ID_BOOT_SCENE_2D;
253+
case GamePlayState.SETTING_OPTIONS_FOR_START -> SCENE_ID_START_SCENE_2D;
254+
case GamePlayState.INTRO -> SCENE_ID_INTRO_SCENE_2D;
255+
case GamePlayState.INTERMISSION -> {
255256
if (gameContext.optGameLevel().isEmpty()) {
256257
throw new IllegalStateException("Cannot determine cut scene, no game level available");
257258
}
@@ -262,7 +263,7 @@ public GameScene selectGameScene(GameContext gameContext) {
262263
}
263264
yield SCENE_ID_CUT_SCENE_N_2D.formatted(optCutSceneNumber.getAsInt());
264265
}
265-
case GameState.TESTING_CUT_SCENES -> {
266+
case CutScenesTestState ignored -> {
266267
if (gameContext.game() instanceof AbstractGameModel gameModel) {
267268
yield SCENE_ID_CUT_SCENE_N_2D.formatted(gameModel.testedCutSceneNumber);
268269
}

pacman-app-arcade-pacman/src/main/java/de/amr/pacmanfx/arcade/pacman/scenes/ArcadePacMan_IntroScene.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
package de.amr.pacmanfx.arcade.pacman.scenes;
66

77
import de.amr.pacmanfx.arcade.pacman.rendering.SpriteID;
8-
import de.amr.pacmanfx.controller.GameState;
8+
import de.amr.pacmanfx.controller.GamePlayState;
99
import de.amr.pacmanfx.event.GameEvent;
1010
import de.amr.pacmanfx.lib.Direction;
1111
import de.amr.pacmanfx.lib.Vector2f;
@@ -51,7 +51,7 @@ public class ArcadePacMan_IntroScene extends GameScene2D {
5151
private static final float GHOST_FRIGHTENED_SPEED = 0.6f;
5252
private static final int LEFT_TILE_X = 4;
5353

54-
private final StateMachine<SceneState, ArcadePacMan_IntroScene> sceneController = new StateMachine<>(SceneState.values()) {
54+
private final StateMachine<SceneState, ArcadePacMan_IntroScene> sceneController = new StateMachine<>(List.of(SceneState.values())) {
5555
@Override public ArcadePacMan_IntroScene context() { return ArcadePacMan_IntroScene.this; }
5656
};
5757

@@ -77,8 +77,8 @@ public void doInit() {
7777
actionBindings.assign(ACTION_ARCADE_INSERT_COIN, ui.actionBindings());
7878
actionBindings.assign(ACTION_ARCADE_START_GAME, ui.actionBindings());
7979
actionBindings.assign(ACTION_TEST_CUT_SCENES, ui.actionBindings());
80-
actionBindings.assign(ACTION_TEST_LEVELS_BONI, ui.actionBindings());
81-
actionBindings.assign(ACTION_TEST_LEVELS_TEASERS, ui.actionBindings());
80+
actionBindings.assign(ACTION_TEST_LEVELS_SHORT, ui.actionBindings());
81+
actionBindings.assign(ACTION_TEST_LEVELS_MEDIUM, ui.actionBindings());
8282

8383
blinking = new Pulse(10, true);
8484
pacMan = createPac(null);
@@ -368,10 +368,10 @@ public void onUpdate(ArcadePacMan_IntroScene scene) {
368368
if (sceneTimer.atSecond(0.75)) {
369369
scene.ghosts.get(ORANGE_GHOST_POKEY).hide();
370370
if (!scene.gameContext().game().canStartNewGame()) {
371-
scene.gameContext().gameController().changeGameState(GameState.STARTING_GAME);
371+
scene.gameContext().gameController().changeGameState(GamePlayState.STARTING_GAME);
372372
}
373373
} else if (sceneTimer.atSecond(5)) {
374-
scene.gameContext().gameController().changeGameState(GameState.SETTING_OPTIONS_FOR_START);
374+
scene.gameContext().gameController().changeGameState(GamePlayState.SETTING_OPTIONS_FOR_START);
375375
}
376376
}
377377
};

pacman-app-arcade-pacman/src/main/java/de/amr/pacmanfx/arcade/pacman/scenes/ArcadePacMan_PlayScene2D.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
*/
55
package de.amr.pacmanfx.arcade.pacman.scenes;
66

7+
import de.amr.pacmanfx.controller.GamePlayState;
78
import de.amr.pacmanfx.controller.GameState;
9+
import de.amr.pacmanfx.controller.LevelMediumTestState;
10+
import de.amr.pacmanfx.controller.LevelShortTestState;
811
import de.amr.pacmanfx.event.GameEvent;
912
import de.amr.pacmanfx.lib.Vector2f;
1013
import de.amr.pacmanfx.lib.Vector2i;
@@ -33,8 +36,6 @@
3336

3437
import static de.amr.pacmanfx.Globals.*;
3538
import static de.amr.pacmanfx.arcade.pacman.ArcadePacMan_UIConfig.ARCADE_MAP_SIZE_IN_PIXELS;
36-
import static de.amr.pacmanfx.controller.GameState.TESTING_LEVELS_MEDIUM;
37-
import static de.amr.pacmanfx.controller.GameState.TESTING_LEVELS_SHORT;
3839
import static de.amr.pacmanfx.ui.CommonGameActions.*;
3940
import static de.amr.pacmanfx.ui._2d.ArcadePalette.*;
4041
import static de.amr.pacmanfx.ui.api.GameUI_Properties.PROPERTY_MUTED;
@@ -141,9 +142,10 @@ public void onGameContinued(GameEvent e) {
141142

142143
@Override
143144
public void onGameStarted(GameEvent e) {
145+
GameState state = gameContext().gameState();
144146
boolean silent = gameContext().gameLevel().isDemoLevel()
145-
|| gameContext().gameState() == TESTING_LEVELS_SHORT
146-
|| gameContext().gameState() == TESTING_LEVELS_MEDIUM;
147+
|| state.is(LevelShortTestState.class)
148+
|| state.is(LevelMediumTestState.class);
147149
if (!silent) {
148150
ui.soundManager().play(SoundID.GAME_READY);
149151
}
@@ -165,7 +167,7 @@ private void updateHUD() {
165167
LivesCounter livesCounter = gameContext().game().hudData().theLivesCounter();
166168
int numLivesDisplayed = gameContext().game().lifeCount() - 1;
167169
// As long as Pac-Man is still initially hidden in the maze, he is shown as an entry in the lives counter
168-
if (gameContext().gameState() == GameState.STARTING_GAME && !gameContext().gameLevel().pac().isVisible()) {
170+
if (gameContext().gameState() == GamePlayState.STARTING_GAME && !gameContext().gameLevel().pac().isVisible()) {
169171
numLivesDisplayed += 1;
170172
}
171173
livesCounter.setVisibleLifeCount(Math.min(numLivesDisplayed, livesCounter.maxLivesDisplayed()));
@@ -175,7 +177,7 @@ private void updateHUD() {
175177
private void updateSound() {
176178
if (!ui.soundManager().isEnabled()) return;
177179
Pac pac = gameContext().gameLevel().pac();
178-
boolean pacChased = gameContext().gameState() == GameState.HUNTING && !pac.powerTimer().isRunning();
180+
boolean pacChased = gameContext().gameState() == GamePlayState.HUNTING && !pac.powerTimer().isRunning();
179181
if (pacChased) {
180182
// siren numbers are 1..4, hunting phase index = 0..7
181183
int huntingPhase = gameContext().game().huntingTimer().phaseIndex();
@@ -288,7 +290,7 @@ protected void drawDebugInfo() {
288290
ctx().setFont(debugTextFont);
289291
String gameStateText = gameContext().gameState().name() + " (Tick %d)".formatted(gameContext().gameState().timer().tickCount());
290292
String huntingPhaseText = "";
291-
if (gameContext().gameState() == GameState.HUNTING) {
293+
if (gameContext().gameState() == GamePlayState.HUNTING) {
292294
HuntingTimer huntingTimer = gameContext().game().huntingTimer();
293295
huntingPhaseText = " %s (Tick %d)".formatted(huntingTimer.phase(), huntingTimer.tickCount());
294296
}
@@ -298,14 +300,14 @@ protected void drawDebugInfo() {
298300

299301
@Override
300302
public void onEnterGameState(GameState state) {
301-
if (state == GameState.LEVEL_COMPLETE) {
303+
if (state == GamePlayState.LEVEL_COMPLETE) {
302304
ui.soundManager().stopAll();
303305
levelCompletedAnimation.setGameLevel(gameContext().gameLevel());
304306
levelCompletedAnimation.setSingleFlashMillis(333);
305307
levelCompletedAnimation.getOrCreateAnimationFX().setOnFinished(e -> gameContext().gameController().letCurrentGameStateExpire());
306308
levelCompletedAnimation.playFromStart();
307309
}
308-
else if (state == GameState.GAME_OVER) {
310+
else if (state == GamePlayState.GAME_OVER) {
309311
ui.soundManager().stopAll();
310312
ui.soundManager().play(SoundID.GAME_OVER);
311313
}

pacman-app-arcade-pacmanxxl/src/main/java/de/amr/pacmanfx/arcade/pacman_xxl/PacManXXL_MsPacMan_UIConfig.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
import de.amr.pacmanfx.arcade.ms_pacman.scenes.*;
1414
import de.amr.pacmanfx.arcade.pacman.scenes.ArcadePacMan_BootScene2D;
1515
import de.amr.pacmanfx.arcade.pacman.scenes.ArcadePacMan_PlayScene2D;
16-
import de.amr.pacmanfx.controller.GameState;
16+
import de.amr.pacmanfx.controller.CutScenesTestState;
17+
import de.amr.pacmanfx.controller.GamePlayState;
1718
import de.amr.pacmanfx.lib.RectShort;
1819
import de.amr.pacmanfx.lib.tilemap.WorldMap;
1920
import de.amr.pacmanfx.model.AbstractGameModel;
@@ -260,10 +261,10 @@ public void createGameScenes() {
260261
@Override
261262
public GameScene selectGameScene(GameContext gameContext) {
262263
String sceneID = switch (gameContext.gameState()) {
263-
case GameState.BOOT -> SCENE_ID_BOOT_SCENE_2D;
264-
case GameState.SETTING_OPTIONS_FOR_START -> SCENE_ID_START_SCENE_2D;
265-
case GameState.INTRO -> SCENE_ID_INTRO_SCENE_2D;
266-
case GameState.INTERMISSION -> {
264+
case GamePlayState.BOOT -> SCENE_ID_BOOT_SCENE_2D;
265+
case GamePlayState.SETTING_OPTIONS_FOR_START -> SCENE_ID_START_SCENE_2D;
266+
case GamePlayState.INTRO -> SCENE_ID_INTRO_SCENE_2D;
267+
case GamePlayState.INTERMISSION -> {
267268
if (gameContext.optGameLevel().isEmpty()) {
268269
throw new IllegalStateException("Cannot determine cut scene, no game level available");
269270
}
@@ -274,7 +275,8 @@ public GameScene selectGameScene(GameContext gameContext) {
274275
}
275276
yield SCENE_ID_CUT_SCENE_N_2D.formatted(optCutSceneNumber.getAsInt());
276277
}
277-
case GameState.TESTING_CUT_SCENES -> {
278+
case CutScenesTestState ignored -> {
279+
//TODO move field into test state
278280
if (gameContext.game() instanceof AbstractGameModel gameModel) {
279281
yield SCENE_ID_CUT_SCENE_N_2D.formatted(gameModel.testedCutSceneNumber);
280282
}

pacman-app-arcade-pacmanxxl/src/main/java/de/amr/pacmanfx/arcade/pacman_xxl/PacManXXL_PacMan_UIConfig.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
import de.amr.pacmanfx.arcade.pacman.rendering.ArcadePacMan_SpriteSheet;
1212
import de.amr.pacmanfx.arcade.pacman.rendering.SpriteID;
1313
import de.amr.pacmanfx.arcade.pacman.scenes.*;
14-
import de.amr.pacmanfx.controller.GameState;
14+
import de.amr.pacmanfx.controller.CutScenesTestState;
15+
import de.amr.pacmanfx.controller.GamePlayState;
1516
import de.amr.pacmanfx.lib.RectShort;
1617
import de.amr.pacmanfx.lib.tilemap.WorldMap;
1718
import de.amr.pacmanfx.model.AbstractGameModel;
@@ -244,10 +245,10 @@ public void createGameScenes() {
244245
@Override
245246
public GameScene selectGameScene(GameContext gameContext) {
246247
String sceneID = switch (gameContext.gameState()) {
247-
case GameState.BOOT -> SCENE_ID_BOOT_SCENE_2D;
248-
case GameState.SETTING_OPTIONS_FOR_START -> SCENE_ID_START_SCENE_2D;
249-
case GameState.INTRO -> SCENE_ID_INTRO_SCENE_2D;
250-
case GameState.INTERMISSION -> {
248+
case GamePlayState.BOOT -> SCENE_ID_BOOT_SCENE_2D;
249+
case GamePlayState.SETTING_OPTIONS_FOR_START -> SCENE_ID_START_SCENE_2D;
250+
case GamePlayState.INTRO -> SCENE_ID_INTRO_SCENE_2D;
251+
case GamePlayState.INTERMISSION -> {
251252
if (gameContext.optGameLevel().isEmpty()) {
252253
throw new IllegalStateException("Cannot determine cut scene, no game level available");
253254
}
@@ -258,8 +259,8 @@ public GameScene selectGameScene(GameContext gameContext) {
258259
}
259260
yield SCENE_ID_CUT_SCENE_N_2D.formatted(optCutSceneNumber.getAsInt());
260261
}
261-
case GameState.TESTING_CUT_SCENES -> {
262-
//TODO
262+
case CutScenesTestState ignored -> {
263+
//TODO: move field into test state
263264
if (gameContext.game() instanceof AbstractGameModel gameModel) {
264265
yield SCENE_ID_CUT_SCENE_N_2D.formatted(gameModel.testedCutSceneNumber);
265266
}

pacman-app-tengen-mspacman/src/main/java/de/amr/pacmanfx/tengen/ms_pacman/TengenMsPacMan_Actions.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55
package de.amr.pacmanfx.tengen.ms_pacman;
66

7-
import de.amr.pacmanfx.controller.GameState;
7+
import de.amr.pacmanfx.controller.GamePlayState;
88
import de.amr.pacmanfx.tengen.ms_pacman.model.PacBooster;
99
import de.amr.pacmanfx.tengen.ms_pacman.model.TengenMsPacMan_GameModel;
1010
import de.amr.pacmanfx.tengen.ms_pacman.scenes.SceneDisplayMode;
@@ -21,14 +21,14 @@ public interface TengenMsPacMan_Actions {
2121
AbstractGameAction ACTION_ENTER_START_SCREEN = new AbstractGameAction("ENTER_START_SCREEN") {
2222
@Override
2323
public void execute(GameUI ui) {
24-
ui.gameContext().gameController().changeGameState(GameState.SETTING_OPTIONS_FOR_START);
24+
ui.gameContext().gameController().changeGameState(GamePlayState.SETTING_OPTIONS_FOR_START);
2525
}
2626
};
2727

2828
AbstractGameAction ACTION_QUIT_DEMO_LEVEL = new AbstractGameAction("QUIT_DEMO_LEVEL") {
2929
@Override
3030
public void execute(GameUI ui) {
31-
ui.gameContext().gameController().changeGameState(GameState.SETTING_OPTIONS_FOR_START);
31+
ui.gameContext().gameController().changeGameState(GamePlayState.SETTING_OPTIONS_FOR_START);
3232
}
3333

3434
@Override
@@ -42,7 +42,7 @@ public boolean isEnabled(GameUI ui) {
4242
public void execute(GameUI ui) {
4343
ui.soundManager().stopAll();
4444
ui.gameContext().game().setPlaying(false);
45-
ui.gameContext().gameController().changeGameState(GameState.STARTING_GAME);
45+
ui.gameContext().gameController().changeGameState(GamePlayState.STARTING_GAME);
4646
}
4747
};
4848

pacman-app-tengen-mspacman/src/main/java/de/amr/pacmanfx/tengen/ms_pacman/TengenMsPacMan_UIConfig.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
package de.amr.pacmanfx.tengen.ms_pacman;
66

77
import de.amr.pacmanfx.GameContext;
8-
import de.amr.pacmanfx.controller.GameState;
8+
import de.amr.pacmanfx.controller.CutScenesTestState;
99
import de.amr.pacmanfx.lib.RectShort;
1010
import de.amr.pacmanfx.lib.Vector2f;
1111
import de.amr.pacmanfx.lib.Vector2i;
@@ -48,6 +48,7 @@
4848
import java.util.stream.Stream;
4949

5050
import static de.amr.pacmanfx.Globals.TS;
51+
import static de.amr.pacmanfx.controller.GamePlayState.*;
5152
import static de.amr.pacmanfx.tengen.ms_pacman.TengenMsPacMan_Actions.*;
5253
import static de.amr.pacmanfx.ui.CommonGameActions.*;
5354
import static de.amr.pacmanfx.ui.api.GameUI_Properties.PROPERTY_3D_ENABLED;
@@ -335,7 +336,7 @@ public GameScene selectGameScene(GameContext gameContext) {
335336
case SETTING_OPTIONS_FOR_START -> SCENE_ID_START_SCENE_2D;
336337
case SHOWING_CREDITS -> SCENE_ID_CREDITS_SCENE_2D;
337338
case INTRO -> SCENE_ID_INTRO_SCENE_2D;
338-
case GameState.INTERMISSION -> {
339+
case INTERMISSION -> {
339340
if (gameContext.optGameLevel().isEmpty()) {
340341
throw new IllegalStateException("Cannot determine cut scene, no game level available");
341342
}
@@ -346,8 +347,8 @@ public GameScene selectGameScene(GameContext gameContext) {
346347
}
347348
yield SCENE_ID_CUT_SCENE_N_2D.formatted(optCutSceneNumber.getAsInt());
348349
}
349-
case GameState.TESTING_CUT_SCENES -> {
350-
//TODO
350+
case CutScenesTestState ignored -> {
351+
//TODO: move field into test state
351352
if (gameContext.game() instanceof AbstractGameModel gameModel) {
352353
yield SCENE_ID_CUT_SCENE_N_2D.formatted(gameModel.testedCutSceneNumber);
353354
}

0 commit comments

Comments
 (0)