-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainMenuView.java
40 lines (30 loc) · 1.35 KB
/
MainMenuView.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.g64.view;
import com.g64.model.gameState.MainMenuGameState;
import com.g64.controller.commands.MenuOption;
import com.googlecode.lanterna.SGR;
import com.googlecode.lanterna.TextColor;
import com.googlecode.lanterna.graphics.TextGraphics;
import com.googlecode.lanterna.screen.Screen;
public class MainMenuView {
private TextGraphics graphics;
public MainMenuView(Screen screen) { graphics = screen.newTextGraphics(); }
public void draw(MainMenuGameState mainMenuGameState) {
int row = 4;
graphics.setBackgroundColor(TextColor.ANSI.BLACK);
graphics.setForegroundColor(TextColor.ANSI.WHITE);
graphics.enableModifiers(SGR.BOLD);
graphics.putString(14, row, "ASCII Valley");
row += 3;
for (int i = 0; i < mainMenuGameState.getMenuOptions().size(); i++) {
MenuOption option = mainMenuGameState.getMenuOptions().get(i);
if (i == mainMenuGameState.getSelectedOption()) {
graphics.enableModifiers(SGR.BLINK);
graphics.putString((40 - option.getOptionText().length()) / 2, row += 2, option.getOptionText());
graphics.disableModifiers(SGR.BLINK);
}
else {
graphics.putString((40 - option.getOptionText().length()) / 2, row += 2, option.getOptionText());
}
}
}
}