LevelModel: Replace Multiple Constructors with Creation Methods
This commit is contained in:
parent
415abbc47b
commit
ed80b6a94c
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectRootManager">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
@ -86,7 +86,7 @@ public class GameController implements ActionListener {
|
|||||||
this.gameView.dispose();
|
this.gameView.dispose();
|
||||||
|
|
||||||
if(source.equals("restart")){
|
if(source.equals("restart")){
|
||||||
this.levelModel = new LevelModel(this.navigationBetweenViewController.getPickedLevelIdentifier(), audioLoadHelper);
|
this.levelModel = LevelModel.createGameLevelModel(this.navigationBetweenViewController.getPickedLevelIdentifier(), audioLoadHelper);
|
||||||
this.gameView = new GameView(this, levelModel);
|
this.gameView = new GameView(this, levelModel);
|
||||||
this.gameView.setVisible(true);
|
this.gameView.setVisible(true);
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ public class NavigationBetweenViewController implements ActionListener {
|
|||||||
|
|
||||||
case "editor":
|
case "editor":
|
||||||
// New blank model for editor
|
// New blank model for editor
|
||||||
this.levelModelForEditor = new LevelModel(audioLoadHelper);
|
this.levelModelForEditor = LevelModel.createEditorLevelModel(audioLoadHelper);
|
||||||
this.levelEditorController = new LevelEditorController(this.levelModelForEditor, this);
|
this.levelEditorController = new LevelEditorController(this.levelModelForEditor, this);
|
||||||
|
|
||||||
this.levelEditorController.getLevelEditorView().setVisible(true);
|
this.levelEditorController.getLevelEditorView().setVisible(true);
|
||||||
@ -66,7 +66,7 @@ public class NavigationBetweenViewController implements ActionListener {
|
|||||||
// Reinit the levelModelForGame...
|
// Reinit the levelModelForGame...
|
||||||
pickedLevelIdentifier = this.menuView.getLevelIdentifier();
|
pickedLevelIdentifier = this.menuView.getLevelIdentifier();
|
||||||
|
|
||||||
this.levelModelForGame = new LevelModel(pickedLevelIdentifier, audioLoadHelper);
|
this.levelModelForGame = LevelModel.createGameLevelModel(pickedLevelIdentifier, audioLoadHelper);
|
||||||
this.gameController = new GameController(levelModelForGame, audioLoadHelper, this);
|
this.gameController = new GameController(levelModelForGame, audioLoadHelper, this);
|
||||||
|
|
||||||
if (levelEditorController != null) {
|
if (levelEditorController != null) {
|
||||||
|
@ -66,7 +66,7 @@ public class LevelModel extends Observable implements Runnable {
|
|||||||
* @param audioLoadHelper Audio load helper
|
* @param audioLoadHelper Audio load helper
|
||||||
* @param mode Instance mode
|
* @param mode Instance mode
|
||||||
*/
|
*/
|
||||||
public LevelModel(String levelName, AudioLoadHelper audioLoadHelper, String mode) {
|
private LevelModel(String levelName, AudioLoadHelper audioLoadHelper, String mode) {
|
||||||
this.levelName = levelName;
|
this.levelName = levelName;
|
||||||
this.audioLoadHelper = audioLoadHelper;
|
this.audioLoadHelper = audioLoadHelper;
|
||||||
this.gamePaused = false;
|
this.gamePaused = false;
|
||||||
@ -90,14 +90,18 @@ public class LevelModel extends Observable implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static LevelModel createExistingLevelModel(String levelName, AudioLoadHelper audioLoadHelper, String mode) {
|
||||||
|
return new LevelModel(levelName, audioLoadHelper, mode);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class constructor
|
* Class constructor
|
||||||
*
|
*
|
||||||
* @param levelName Level name
|
* @param levelName Level name
|
||||||
* @param audioLoadHelper Audio load helper
|
* @param audioLoadHelper Audio load helper
|
||||||
*/
|
*/
|
||||||
public LevelModel(String levelName, AudioLoadHelper audioLoadHelper) {
|
public static LevelModel createGameLevelModel(String levelName, AudioLoadHelper audioLoadHelper) {
|
||||||
this(levelName, audioLoadHelper, "game");
|
return new LevelModel(levelName, audioLoadHelper, "game");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -105,16 +109,15 @@ public class LevelModel extends Observable implements Runnable {
|
|||||||
*
|
*
|
||||||
* @param audioLoadHelper Audio load helper
|
* @param audioLoadHelper Audio load helper
|
||||||
*/
|
*/
|
||||||
public LevelModel(AudioLoadHelper audioLoadHelper) {
|
public static LevelModel createEditorLevelModel(AudioLoadHelper audioLoadHelper) {
|
||||||
this.audioLoadHelper = audioLoadHelper;
|
LevelModel levelModel = new LevelModel(null, audioLoadHelper, "editor");
|
||||||
this.gameRunning = false;
|
levelModel.gameRunning = false;
|
||||||
this.mode = "editor";
|
|
||||||
|
|
||||||
this.sizeWidth = 25 + 2;
|
levelModel.sizeWidth = 25 + 2;
|
||||||
this.sizeHeight = 25 + 2;
|
levelModel.sizeHeight = 25 + 2;
|
||||||
|
|
||||||
// Generate dirt
|
// Generate dirt
|
||||||
this.groundGrid = new DisplayableElementModel[this.sizeWidth][this.sizeHeight];
|
levelModel.groundGrid = new DisplayableElementModel[levelModel.sizeWidth][levelModel.sizeHeight];
|
||||||
|
|
||||||
for (int x = 0; x < this.sizeWidth; x++) {
|
for (int x = 0; x < this.sizeWidth; x++) {
|
||||||
for (int y = 0; y < this.sizeHeight; y++) {
|
for (int y = 0; y < this.sizeHeight; y++) {
|
||||||
@ -122,7 +125,8 @@ public class LevelModel extends Observable implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.createLimits();
|
levelModel.createLimits();
|
||||||
|
return levelModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -169,10 +169,10 @@ public class LevelEditorView extends JFrame implements Observer {
|
|||||||
|
|
||||||
if(selectedLevelValue != null && !selectedLevelValue.isEmpty()) {
|
if(selectedLevelValue != null && !selectedLevelValue.isEmpty()) {
|
||||||
// Load existing model
|
// Load existing model
|
||||||
pickedLevelModel = new LevelModel(selectedLevelValue, this.nav.getAudioLoadHelper(), "editor");
|
pickedLevelModel = LevelModel.createExistingLevelModel(selectedLevelValue, this.nav.getAudioLoadHelper(), "editor");
|
||||||
} else {
|
} else {
|
||||||
// New blank model for editor
|
// New blank model for editor
|
||||||
pickedLevelModel = new LevelModel(this.nav.getAudioLoadHelper());
|
pickedLevelModel = LevelModel.createEditorLevelModel(this.nav.getAudioLoadHelper());
|
||||||
}
|
}
|
||||||
|
|
||||||
pickedLevelModel.setShowCursor(true);
|
pickedLevelModel.setShowCursor(true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user