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"?>
|
||||
<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" />
|
||||
</component>
|
||||
</project>
|
@ -86,7 +86,7 @@ public class GameController implements ActionListener {
|
||||
this.gameView.dispose();
|
||||
|
||||
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.setVisible(true);
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ public class NavigationBetweenViewController implements ActionListener {
|
||||
|
||||
case "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.getLevelEditorView().setVisible(true);
|
||||
@ -66,7 +66,7 @@ public class NavigationBetweenViewController implements ActionListener {
|
||||
// Reinit the levelModelForGame...
|
||||
pickedLevelIdentifier = this.menuView.getLevelIdentifier();
|
||||
|
||||
this.levelModelForGame = new LevelModel(pickedLevelIdentifier, audioLoadHelper);
|
||||
this.levelModelForGame = LevelModel.createGameLevelModel(pickedLevelIdentifier, audioLoadHelper);
|
||||
this.gameController = new GameController(levelModelForGame, audioLoadHelper, this);
|
||||
|
||||
if (levelEditorController != null) {
|
||||
|
@ -66,7 +66,7 @@ public class LevelModel extends Observable implements Runnable {
|
||||
* @param audioLoadHelper Audio load helper
|
||||
* @param mode Instance mode
|
||||
*/
|
||||
public LevelModel(String levelName, AudioLoadHelper audioLoadHelper, String mode) {
|
||||
private LevelModel(String levelName, AudioLoadHelper audioLoadHelper, String mode) {
|
||||
this.levelName = levelName;
|
||||
this.audioLoadHelper = audioLoadHelper;
|
||||
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
|
||||
*
|
||||
* @param levelName Level name
|
||||
* @param audioLoadHelper Audio load helper
|
||||
*/
|
||||
public LevelModel(String levelName, AudioLoadHelper audioLoadHelper) {
|
||||
this(levelName, audioLoadHelper, "game");
|
||||
public static LevelModel createGameLevelModel(String levelName, AudioLoadHelper audioLoadHelper) {
|
||||
return new LevelModel(levelName, audioLoadHelper, "game");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -105,16 +109,15 @@ public class LevelModel extends Observable implements Runnable {
|
||||
*
|
||||
* @param audioLoadHelper Audio load helper
|
||||
*/
|
||||
public LevelModel(AudioLoadHelper audioLoadHelper) {
|
||||
this.audioLoadHelper = audioLoadHelper;
|
||||
this.gameRunning = false;
|
||||
this.mode = "editor";
|
||||
public static LevelModel createEditorLevelModel(AudioLoadHelper audioLoadHelper) {
|
||||
LevelModel levelModel = new LevelModel(null, audioLoadHelper, "editor");
|
||||
levelModel.gameRunning = false;
|
||||
|
||||
this.sizeWidth = 25 + 2;
|
||||
this.sizeHeight = 25 + 2;
|
||||
levelModel.sizeWidth = 25 + 2;
|
||||
levelModel.sizeHeight = 25 + 2;
|
||||
|
||||
// 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 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()) {
|
||||
// Load existing model
|
||||
pickedLevelModel = new LevelModel(selectedLevelValue, this.nav.getAudioLoadHelper(), "editor");
|
||||
pickedLevelModel = LevelModel.createExistingLevelModel(selectedLevelValue, this.nav.getAudioLoadHelper(), "editor");
|
||||
} else {
|
||||
// New blank model for editor
|
||||
pickedLevelModel = new LevelModel(this.nav.getAudioLoadHelper());
|
||||
pickedLevelModel = LevelModel.createEditorLevelModel(this.nav.getAudioLoadHelper());
|
||||
}
|
||||
|
||||
pickedLevelModel.setShowCursor(true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user