Skip to content

Commit 774a9b4

Browse files
committed
Added message board under Story mode
1 parent 0a063fa commit 774a9b4

8 files changed

Lines changed: 350 additions & 3 deletions

File tree

assets/localization/de.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,21 @@
5757
"select_instruction": "Hoch/Runter zum Auswählen, Enter zum Bestätigen",
5858
"cancel_instruction": "ESC zum Abbrechen"
5959
},
60+
"message_board": {
61+
"title": "🎉 Willkommen zum neuesten Build!",
62+
"welcome_header": "Was ist neu?",
63+
"welcome_line1": "Jeder Build bringt neue Funktionen und Korrekturen!",
64+
"welcome_line2": "Schauen Sie oft vorbei für die neuesten Updates.",
65+
"welcome_line3": "",
66+
"story_mode_header": "🚧 Story-Modus ist noch nicht verfügbar.",
67+
"story_mode_line1": "Erkunden Sie vorerst die Endlose Welt",
68+
"story_mode_line2": "und experimentieren Sie mit allen verfügbaren Funktionen!",
69+
"story_mode_line3": "",
70+
"feedback_header": "Ihr Feedback ist immer willkommen!",
71+
"feedback_line1": "Nehmen Sie an unseren Diskussionen teil - täglich neue Änderungen!",
72+
"feedback_line2": "Drücken Sie D: github.com/gcclinux/woodlanders/discussions",
73+
"close_instruction": "ESC zum Schließen | D für Diskussionen"
74+
},
6075
"controls_dialog": {
6176
"title": "Spielsteuerung",
6277
"movement_header": "Bewegung",

assets/localization/en.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,21 @@
5656
"select_instruction": "Up/Down to select, Enter to confirm",
5757
"cancel_instruction": "ESC to cancel"
5858
},
59+
"message_board": {
60+
"title": "🎉 Welcome to the Latest Build!",
61+
"welcome_header": "What's New?",
62+
"welcome_line1": "Every build brings fresh features and fixes!",
63+
"welcome_line2": "Check back often for the latest updates.",
64+
"welcome_line3": "",
65+
"story_mode_header": "🚧 Story Mode is Not Yet Available.",
66+
"story_mode_line1": "For now, feel free to explore the Endless World",
67+
"story_mode_line2": "and experiment with all currently available features!",
68+
"story_mode_line3": "",
69+
"feedback_header": "Your feedback is always welcome!",
70+
"feedback_line1": "Join our discussions - exciting changes arrive daily!",
71+
"feedback_line2": "Press D to open: github.com/gcclinux/woodlanders/discussions",
72+
"close_instruction": "Press ESC to close | Press D to open discussions"
73+
},
5974
"controls_dialog": {
6075
"title": "Game Controls",
6176
"movement_header": "Movement",

assets/localization/nl.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,21 @@
5656
"select_instruction": "Omlaag om te selecteren, Enter om te bevestigen",
5757
"cancel_instruction": "ESC om te annuleren"
5858
},
59+
"message_board": {
60+
"title": "🎉 Welkom bij de nieuwste build!",
61+
"welcome_header": "Wat is er nieuw?",
62+
"welcome_line1": "Elke build brengt nieuwe functies en fixes!",
63+
"welcome_line2": "Kom vaak terug voor de laatste updates.",
64+
"welcome_line3": "",
65+
"story_mode_header": "🚧 Verhaalmodus is nog niet beschikbaar.",
66+
"story_mode_line1": "Verken voorlopig de Eindeloze Wereld",
67+
"story_mode_line2": "en experimenteer met alle beschikbare functies!",
68+
"story_mode_line3": "",
69+
"feedback_header": "Uw feedback is altijd welkom!",
70+
"feedback_line1": "Doe mee aan onze discussies - dagelijks spannende veranderingen!",
71+
"feedback_line2": "Druk op D: github.com/gcclinux/woodlanders/discussions",
72+
"close_instruction": "Druk op ESC om te sluiten | D voor discussies"
73+
},
5974
"controls_dialog": {
6075
"title": "Spelbesturing",
6176
"movement_header": "Beweging",

assets/localization/pl.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,21 @@
5656
"select_instruction": "Góra/Dół aby wybrać, Enter aby potwierdzić",
5757
"cancel_instruction": "ESC aby anulować"
5858
},
59+
"message_board": {
60+
"title": "🎉 Witamy w najnowszej wersji!",
61+
"welcome_header": "Co nowego?",
62+
"welcome_line1": "Każda wersja przynosi nowe funkcje i poprawki!",
63+
"welcome_line2": "Zaglądaj często po najnowsze aktualizacje.",
64+
"welcome_line3": "",
65+
"story_mode_header": "🚧 Tryb fabularny nie jest jeszcze dostępny.",
66+
"story_mode_line1": "Na razie możesz eksplorować Nieskończony Świat",
67+
"story_mode_line2": "i eksperymentować ze wszystkimi dostępnymi funkcjami!",
68+
"story_mode_line3": "",
69+
"feedback_header": "Twoja opinia jest zawsze mile widziana!",
70+
"feedback_line1": "Dołącz do naszych dyskusji - codziennie ekscytujące zmiany!",
71+
"feedback_line2": "Naciśnij D: github.com/gcclinux/woodlanders/discussions",
72+
"close_instruction": "Naciśnij ESC aby zamknąć | D dla dyskusji"
73+
},
5974
"controls_dialog": {
6075
"title": "Sterowanie Grą",
6176
"movement_header": "Ruch",

assets/localization/pt.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,21 @@
5656
"select_instruction": "Cima/Baixo para selecionar, Enter para confirmar",
5757
"cancel_instruction": "ESC para cancelar"
5858
},
59+
"message_board": {
60+
"title": "🎉 Bem-vindo à versão mais recente!",
61+
"welcome_header": "O que há de novo?",
62+
"welcome_line1": "Cada versão traz novos recursos e correções!",
63+
"welcome_line2": "Volte sempre para as últimas atualizações.",
64+
"welcome_line3": "",
65+
"story_mode_header": "🚧 Modo História ainda não está disponível.",
66+
"story_mode_line1": "Por enquanto, sinta-se livre para explorar o Mundo Infinito",
67+
"story_mode_line2": "e experimentar todos os recursos disponíveis!",
68+
"story_mode_line3": "",
69+
"feedback_header": "Seu feedback é sempre bem-vindo!",
70+
"feedback_line1": "Junte-se às nossas discussões - mudanças emocionantes todos os dias!",
71+
"feedback_line2": "Pressione D: github.com/gcclinux/woodlanders/discussions",
72+
"close_instruction": "Pressione ESC para fechar | D para discussões"
73+
},
5974
"controls_dialog": {
6075
"title": "Controles do Jogo",
6176
"movement_header": "Movimento",

assets/sprites/assets.png

-35.9 KB
Loading

src/main/java/wagemaker/uk/ui/GameMenu.java

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ private enum DialogSource {
9999
// Controls dialog
100100
private ControlsDialog controlsDialog;
101101

102+
// Message board for announcements
103+
private MessageBoard messageBoard;
104+
102105
// Notification system for save confirmation
103106
private boolean showSaveNotification = false;
104107
private float saveNotificationTimer = 0f;
@@ -150,6 +153,9 @@ public GameMenu() {
150153
// Initialize controls dialog
151154
controlsDialog = new ControlsDialog();
152155

156+
// Initialize message board
157+
messageBoard = new MessageBoard();
158+
153159
// Register as language change listener
154160
LocalizationManager.getInstance().addLanguageChangeListener(this);
155161

@@ -818,6 +824,18 @@ public void update() {
818824
return;
819825
}
820826

827+
if (messageBoard.isVisible()) {
828+
boolean wasVisible = true;
829+
messageBoard.handleInput();
830+
// Check if dialog was closed by ESC this frame
831+
if (wasVisible && !messageBoard.isVisible()) {
832+
dialogJustClosed = true;
833+
framesSinceDialogClosed = 0;
834+
return;
835+
}
836+
return;
837+
}
838+
821839
if (controlsDialog.isVisible()) {
822840
boolean wasVisible = true;
823841
controlsDialog.handleInput();
@@ -1030,6 +1048,11 @@ public void render(SpriteBatch batch, ShapeRenderer shapeRenderer, float camX, f
10301048
return;
10311049
}
10321050

1051+
if (messageBoard.isVisible()) {
1052+
messageBoard.render(batch, shapeRenderer, camX, camY);
1053+
return;
1054+
}
1055+
10331056
if (controlsDialog.isVisible()) {
10341057
controlsDialog.render(batch, shapeRenderer, camX, camY);
10351058
return;
@@ -1205,9 +1228,9 @@ private void executeMenuItem(int index) {
12051228
} else if (selectedItem.equals(loc.getText("menu.free_world"))) {
12061229
activateFreeWorld();
12071230
} else if (selectedItem.equals(loc.getText("menu.story_mode"))) {
1208-
// Story Mode placeholder - no action taken
1209-
// This menu entry is reserved for future story mode functionality
1210-
System.out.println("Story Mode selected (placeholder - no action)");
1231+
// Show message board with story mode information
1232+
messageBoard.show();
1233+
System.out.println("Story Mode selected - showing message board");
12111234
} else if (selectedItem.equals(loc.getText("menu.multiplayer"))) {
12121235
openMultiplayerMenu();
12131236
} else if (selectedItem.equals(loc.getText("menu.disconnect"))) {
@@ -2328,6 +2351,9 @@ public void dispose() {
23282351
if (controlsDialog != null) {
23292352
controlsDialog.dispose();
23302353
}
2354+
if (messageBoard != null) {
2355+
messageBoard.dispose();
2356+
}
23312357

23322358
// Unregister from language change listener
23332359
LocalizationManager.getInstance().removeLanguageChangeListener(this);

0 commit comments

Comments
 (0)