diff --git a/boulder-dash/src/fr/enssat/BoulderDash/models/LevelModel.java b/boulder-dash/src/fr/enssat/BoulderDash/models/LevelModel.java index cbb5415a..0663d27c 100644 --- a/boulder-dash/src/fr/enssat/BoulderDash/models/LevelModel.java +++ b/boulder-dash/src/fr/enssat/BoulderDash/models/LevelModel.java @@ -73,15 +73,9 @@ public class LevelModel extends Observable implements Runnable { this.gameRunning = true; this.mode = mode; - this.levelLoadHelper = new LevelLoadHelper(this.levelName); - - this.groundGrid = this.levelLoadHelper.getGroundGrid(); - this.sizeWidth = this.levelLoadHelper.getWidthSizeValue(); - this.sizeHeight = this.levelLoadHelper.getHeightSizeValue(); + setLevelLoadHelper(new LevelLoadHelper(this.levelName)); this.cursorModel = new CursorModel(); - this.gameInformationModel = new GameInformationModel(this.levelLoadHelper.getDiamondsToCatch()); - this.createLimits(); if(this.mode.equals("game")) { @@ -525,6 +519,19 @@ public class LevelModel extends Observable implements Runnable { return this.levelLoadHelper; } + /** + * Set custom LevelLoadHelper and create a new GameInformationModel based on it. + */ + public void setLevelLoadHelper(LevelLoadHelper levelLoadHelper) { + this.levelLoadHelper = levelLoadHelper; + + this.groundGrid = this.levelLoadHelper.getGroundGrid(); + this.sizeWidth = this.levelLoadHelper.getWidthSizeValue(); + this.sizeHeight = this.levelLoadHelper.getHeightSizeValue(); + + setGameInformationModel(new GameInformationModel(this.levelLoadHelper.getDiamondsToCatch())); + } + /** * Gets the cursor position X value * @@ -759,6 +766,13 @@ public class LevelModel extends Observable implements Runnable { return this.gameInformationModel; } + /** + * Set custom GameInformationModel + */ + public void setGameInformationModel(GameInformationModel gameInformationModel) { + this.gameInformationModel = gameInformationModel; + } + /** * Explose the brick wall *