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>
* @since 2015-06-19
*/
public class GameController extends AbstractLevelController implements ActionListener {
public class GameController extends AbstractNavController {
private boolean firstClickOnPause;
private MenuView menuView;
private GameView gameView;
private NavigationBetweenViewController navigationBetweenViewController;
/**
* Class constructor
*
* @param levelModel Level model
* @param navigationBetweenViewController
* @param nav
*/
public GameController(LevelModel levelModel, NavigationBetweenViewController navigationBetweenViewController) {
super(levelModel);
public GameController(LevelModel levelModel, NavigationBetweenViewController nav) {
super(levelModel, nav);
this.firstClickOnPause = true;
this.navigationBetweenViewController = navigationBetweenViewController;
this.gameView = new GameView(this, levelModel);
this.menuView = navigationBetweenViewController.getMenuView();
this.menuView = nav.getMenuView();
AUDIO_LOAD_HELPER.stopMusic();
AUDIO_LOAD_HELPER.playSound("new");
@ -84,7 +81,7 @@ public class GameController extends AbstractLevelController implements ActionLis
this.gameView.dispose();
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.setVisible(true);
}

View File

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