package ge.edu.freeuni.sdp.snake.view.terminal; import ge.edu.freeuni.sdp.snake.presenter.GameOverPresenter; import ge.edu.freeuni.sdp.snake.presenter.HighScorePresenter; import ge.edu.freeuni.sdp.snake.presenter.LevelPresenter; import ge.edu.freeuni.sdp.snake.presenter.MazePresenter; import ge.edu.freeuni.sdp.snake.view.GameOverView; import ge.edu.freeuni.sdp.snake.view.HighScoreView; import ge.edu.freeuni.sdp.snake.view.LevelView; import ge.edu.freeuni.sdp.snake.view.MazeView; import ge.edu.freeuni.sdp.snake.view.ViewFactory; import com.googlecode.lanterna.terminal.Terminal; public class TerminalViewFactory implements ViewFactory { private Terminal _terminal; public TerminalViewFactory(Terminal terminal) { _terminal = terminal; } @Override public LevelView getLevelView(LevelPresenter presenter) { return new TerminalLevelView(presenter, _terminal); } @Override public MazeView getMazeView(MazePresenter presenter) { return new TerminalMazeView(presenter, _terminal); } @Override public GameOverView getGameOverView(GameOverPresenter presenter) { return new TerminalGameOverView(presenter, _terminal); } @Override public HighScoreView getHighScoreView(HighScorePresenter presenter) { return new TerminalHighScoreView(presenter,_terminal); } }