package ge.edu.freeuni.sdp.snake.presenter; import ge.edu.freeuni.sdp.snake.model.CommonGameFacadeFactory; import ge.edu.freeuni.sdp.snake.model.GameFacade; import ge.edu.freeuni.sdp.snake.model.GameFacadeFactory; import ge.edu.freeuni.sdp.snake.model.HighScoreData; public class PresenterFactory { private GameFacade game; private GameFacadeFactory gameFacadeFactory; public PresenterFactory() { this(new CommonGameFacadeFactory()); } public PresenterFactory(GameFacadeFactory gameFacadeFactory) { this.gameFacadeFactory = gameFacadeFactory; } public LevelPresenter getLevelPresenter() { return new LevelPresenter(); } public MazePresenter getMazePresenter() { game = gameFacadeFactory.getGameFacade(); return new MazePresenter(game); } public GameOverPresenter getGameOverPresenter() { return new GameOverPresenter(); } public HighScorePresenter getHighScorePresenter(){ HighScoreData data = new HighScoreData(); return new HighScorePresenter(data,game); } }