mv nav field to superclass

This commit is contained in:
Daniel Langbein 2024-11-07 18:20:47 +01:00
parent f40b8b4492
commit 2247c7f43d
Signed by: langfingaz
GPG Key ID: 6C47C753F0823002
3 changed files with 23 additions and 14 deletions

View File

@ -0,0 +1,14 @@
package fr.enssat.BoulderDash.controllers;
import fr.enssat.BoulderDash.models.LevelModel;
import java.awt.event.ActionListener;
public abstract class AbstractNavController extends AbstractLevelController implements ActionListener {
protected NavigationBetweenViewController nav;
public AbstractNavController(LevelModel levelModel, NavigationBetweenViewController nav) {
super(levelModel);
this.nav = nav;
}
}

View File

@ -19,27 +19,24 @@ import static fr.enssat.BoulderDash.helpers.AudioLoadHelper.AUDIO_LOAD_HELPER;
* @author Colin Leverger <me@colinleverger.fr> * @author Colin Leverger <me@colinleverger.fr>
* @since 2015-06-19 * @since 2015-06-19
*/ */
public class GameController extends AbstractLevelController implements ActionListener { public class GameController extends AbstractNavController {
private boolean firstClickOnPause; private boolean firstClickOnPause;
private MenuView menuView; private MenuView menuView;
private GameView gameView; private GameView gameView;
private NavigationBetweenViewController navigationBetweenViewController;
/** /**
* Class constructor * Class constructor
* *
* @param levelModel Level model * @param levelModel Level model
* @param navigationBetweenViewController * @param nav
*/ */
public GameController(LevelModel levelModel, NavigationBetweenViewController navigationBetweenViewController) { public GameController(LevelModel levelModel, NavigationBetweenViewController nav) {
super(levelModel); super(levelModel, nav);
this.firstClickOnPause = true; this.firstClickOnPause = true;
this.navigationBetweenViewController = navigationBetweenViewController;
this.gameView = new GameView(this, levelModel); this.gameView = new GameView(this, levelModel);
this.menuView = navigationBetweenViewController.getMenuView(); this.menuView = nav.getMenuView();
AUDIO_LOAD_HELPER.stopMusic(); AUDIO_LOAD_HELPER.stopMusic();
AUDIO_LOAD_HELPER.playSound("new"); AUDIO_LOAD_HELPER.playSound("new");
@ -84,7 +81,7 @@ public class GameController extends AbstractLevelController implements ActionLis
this.gameView.dispose(); this.gameView.dispose();
if (source.equals("restart")) { if (source.equals("restart")) {
this.levelModel = new LevelModel(this.navigationBetweenViewController.getPickedLevelIdentifier()); this.levelModel = new LevelModel(this.nav.getPickedLevelIdentifier());
this.gameView = new GameView(this, levelModel); this.gameView = new GameView(this, levelModel);
this.gameView.setVisible(true); this.gameView.setVisible(true);
} }

View File

@ -22,20 +22,18 @@ import static fr.enssat.BoulderDash.helpers.AudioLoadHelper.AUDIO_LOAD_HELPER;
* @author Valerian Saliou <valerian@valeriansaliou.name> * @author Valerian Saliou <valerian@valeriansaliou.name>
* @since 2015-06-19 * @since 2015-06-19
*/ */
public class LevelEditorController extends AbstractLevelController implements ActionListener { public class LevelEditorController extends AbstractNavController {
private LevelEditorView levelEditorView; private LevelEditorView levelEditorView;
private NavigationBetweenViewController nav;
/** /**
* Class constructor' * Class constructor
* *
* @param levelModel Level model * @param levelModel Level model
*/ */
public LevelEditorController(LevelModel levelModel, NavigationBetweenViewController nav) { public LevelEditorController(LevelModel levelModel, NavigationBetweenViewController nav) {
super(levelModel); super(levelModel, nav);
this.levelModel.setShowCursor(true); this.levelModel.setShowCursor(true);
this.nav = nav;
AUDIO_LOAD_HELPER.stopMusic(); AUDIO_LOAD_HELPER.stopMusic();
this.levelEditorView = new LevelEditorView(this, levelModel, nav); this.levelEditorView = new LevelEditorView(this, levelModel, nav);