Skip to content

Commit 66009c6

Browse files
Refac
1 parent e077e9a commit 66009c6

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

pacman-ui/src/main/java/de/amr/pacmanfx/ui/layout/PlayView.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import de.amr.pacmanfx.ui.dashboard.InfoBox;
1919
import de.amr.pacmanfx.uilib.Ufx;
2020
import javafx.beans.binding.Bindings;
21-
import javafx.beans.value.ObservableValue;
2221
import javafx.scene.Scene;
2322
import javafx.scene.SubScene;
2423
import javafx.scene.canvas.Canvas;
@@ -98,7 +97,8 @@ public PlayView(GameUI ui, Scene parentScene) {
9897
//TODO what is the cleanest solution to hide the context menu in all needed cases?
9998
setOnContextMenuRequested(this::handleContextMenuRequest);
10099
// game scene changes: hide it
101-
ui.propertyCurrentGameScene().addListener(this::handleGameSceneChange);
100+
ui.propertyCurrentGameScene().addListener(
101+
(obs, oldGameScene, newGameScene) -> handleGameSceneChange(parentScene, newGameScene));
102102
// any other mouse button clicked: hide it
103103
parentScene.addEventFilter(MouseEvent.MOUSE_PRESSED, e -> {
104104
if (e.getButton() == MouseButton.PRIMARY) {
@@ -128,8 +128,8 @@ public PlayView(GameUI ui, Scene parentScene) {
128128
actionBindings.use(ACTION_TOGGLE_PLAY_SCENE_2D_3D, DEFAULT_ACTION_BINDINGS);
129129
}
130130

131-
private void handleGameSceneChange(ObservableValue<? extends GameScene> obs, GameScene oldScene, GameScene newScene) {
132-
if (newScene != null) embedGameScene(newScene);
131+
private void handleGameSceneChange(Scene parentScene, GameScene newScene) {
132+
if (newScene != null) embedGameScene(parentScene, newScene);
133133
contextMenu.hide();
134134
}
135135

@@ -219,7 +219,7 @@ public void onGameEvent(GameEvent gameEvent) {
219219
miniGameView.onLevelCreated(ui, gameLevel);
220220

221221
// size of game scene might have changed, so re-embed
222-
ui.currentGameScene().ifPresent(this::embedGameScene);
222+
ui.currentGameScene().ifPresent(gameScene -> embedGameScene(parentScene, gameScene));
223223
}
224224
case GAME_STATE_CHANGED -> {
225225
if (ui.theGameContext().theGameState() == GameState.LEVEL_COMPLETE) {
@@ -257,7 +257,7 @@ public void updateGameScene(boolean reloadCurrent) {
257257
currentGameScene.end();
258258
Logger.info("Game scene ended: {}", currentGameScene.displayName());
259259
}
260-
embedGameScene(nextGameScene);
260+
embedGameScene(parentScene, nextGameScene);
261261
nextGameScene.init();
262262
Logger.info("Game scene initialized: {}", nextGameScene.displayName());
263263

@@ -286,7 +286,7 @@ public void quitCurrentGameScene() {
286286
});
287287
}
288288

289-
private void embedGameScene(GameScene gameScene) {
289+
private void embedGameScene(Scene parentScene, GameScene gameScene) {
290290
if (gameScene.optSubScene().isPresent()) {
291291
SubScene subScene = gameScene.optSubScene().get();
292292
subScene.widthProperty().bind(parentScene.widthProperty());
@@ -334,7 +334,8 @@ private void configureCanvasContainer() {
334334
// 28*TS x 36*TS = Arcade map size in pixels
335335
canvasContainer.setUnscaledCanvasSize(28 *TS, 36 * TS);
336336
canvasContainer.setBorderColor(Color.rgb(222, 222, 255));
337-
canvasContainer.roundedBorderProperty().addListener((py, ov, nv) -> ui.currentGameScene().ifPresent(this::embedGameScene));
337+
338+
//canvasContainer.roundedBorderProperty().addListener((py, ov, nv) -> ui.currentGameScene().ifPresent(this::embedGameScene));
338339
}
339340

340341
private void configurePropertyBindings() {

0 commit comments

Comments
 (0)