From b51d68a4c4706492dc4a57f716626fd2c6099bdf Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sun, 2 Apr 2023 19:42:44 +0800 Subject: [PATCH] update AreneScene dialog --- .../src/forge/adventure/scene/ArenaScene.java | 33 +++++++++++++++---- .../src/forge/adventure/scene/UIScene.java | 2 +- forge-gui/res/languages/de-DE.properties | 1 + forge-gui/res/languages/en-US.properties | 1 + forge-gui/res/languages/es-ES.properties | 1 + forge-gui/res/languages/fr-FR.properties | 1 + forge-gui/res/languages/it-IT.properties | 1 + forge-gui/res/languages/ja-JP.properties | 1 + forge-gui/res/languages/pt-BR.properties | 1 + forge-gui/res/languages/zh-CN.properties | 1 + 10 files changed, 36 insertions(+), 7 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java b/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java index a893ef2d979..6ee059991d8 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java @@ -58,6 +58,7 @@ public class ArenaScene extends UIScene implements IAfterMatch { final Sprite edgeWinM; boolean enable = true; boolean arenaStarted = false; + Dialog startDialog, concedeDialog; private ArenaScene() { super(Forge.isLandscapeMode() ? "ui/arena.json" : "ui/arena_portrait.json"); @@ -98,9 +99,17 @@ public class ArenaScene extends UIScene implements IAfterMatch { } private void showAreYouSure() { - Dialog areYouSureDialog = prepareDialog(Forge.getLocalizer().getMessage("lblConcedeTitle"), ButtonYes | ButtonNo, () -> loose()); - areYouSureDialog.text(Forge.getLocalizer().getMessage("lblConcedeCurrentGame")); - showDialog(areYouSureDialog); + if (concedeDialog == null) { + concedeDialog = new Dialog(Forge.getLocalizer().getMessage("lblConcedeTitle"), Controls.getSkin()); + concedeDialog.text("\n" + Forge.getLocalizer().getMessage("lblConcedeCurrentGame")); + TextraButton yes = Controls.newTextButton(Forge.getLocalizer().getMessage("lblYes"), () -> { + loose(); + removeDialog(); + }); + TextraButton no = Controls.newTextButton(Forge.getLocalizer().getMessage("lblNo"), this::removeDialog); + concedeDialog.button(yes).button(no); + } + showDialog(concedeDialog); } private void loose() { @@ -110,13 +119,25 @@ public class ArenaScene extends UIScene implements IAfterMatch { arenaStarted = false; } + private void startDialog() { + if (startDialog == null) { + startDialog = new Dialog(Forge.getLocalizer().getMessage("lblStart"), Controls.getSkin()); + startDialog.text(Forge.getLocalizer().getMessage("lblStartArena")); + TextraButton yes = Controls.newTextButton(Forge.getLocalizer().getMessage("lblYes"), () -> { + startArena(); + removeDialog(); + }); + TextraButton no = Controls.newTextButton(Forge.getLocalizer().getMessage("lblNo"), this::removeDialog); + startDialog.button(yes).button(no); + } + showDialog(startDialog); + } + private void startButton() { if (!enable) return; if (roundsWon == 0) { - Dialog startDialog = prepareDialog(Forge.getLocalizer().getMessage("lblStart"), ButtonYes | ButtonNo, () -> startArena()); - startDialog.text("Do you want to go into the Arena?"); - showDialog(startDialog); + startDialog(); } else { startRound(); } diff --git a/forge-gui-mobile/src/forge/adventure/scene/UIScene.java b/forge-gui-mobile/src/forge/adventure/scene/UIScene.java index 2789cd81271..bb3f7168900 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/UIScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/UIScene.java @@ -254,7 +254,7 @@ public class UIScene extends Scene { stage.addActor(ui); } - private void removeDialog() { + public void removeDialog() { if (!dialogs.isEmpty()) { dialogs.get(dialogs.size - 1).remove(); diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index d5bd781d0c2..6349949d95a 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -2957,5 +2957,6 @@ lblEffect=Wirkung lblEmblem=Emblem lblBoon=Vorteil lblExitToWoldMap=Zurück zur Weltkarte? +lblStartArena=Willst du in die Arena gehen? lblWouldYouLikeDestroy=Möchten Sie {0} zerstören? lblAdventureDescription=In Abenteuermodus erkunden Sie die sich ständig ändernde Landschaft von Shandalar und Duell-Kreaturen, um Gold, Scherben, Ausrüstung und neue Karten zu gewinnen, um sie alle zu werden und alle zu sammeln! \ No newline at end of file diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 47ca3f71d12..d115b857259 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -2964,5 +2964,6 @@ lblEffect=Effect lblEmblem=Emblem lblBoon=Boon lblExitToWoldMap=Exit to the World Map? +lblStartArena=Do you want to go into the Arena? lblWouldYouLikeDestroy=Would you like to destroy {0}? lblAdventureDescription=Adventure mode is where you explore the ever-changing landscape of Shandalar, and duel creatures to gain gold, shards, equipment and new cards to become the best and collect them all! \ No newline at end of file diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index b270df20c78..30fa9aba09d 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -2960,5 +2960,6 @@ lblEffect=Efecto lblEmblem=Emblem lblBoon=Boon lblExitToWoldMap=Salir al mapa del mundo? +lblStartArena=¿Quieres ir a la arena? lblWouldYouLikeDestroy=¿Le gustaría destruir {0}? lblAdventureDescription=¡El modo de aventura es donde exploras el paisaje siempre cambiante de Shandalar, y criaturas de duelo para ganar oro, fragmentos, equipos y nuevas tarjetas para convertirte en el mejor y recogerlas a todos! \ No newline at end of file diff --git a/forge-gui/res/languages/fr-FR.properties b/forge-gui/res/languages/fr-FR.properties index 4355593455e..894bb4b92f5 100644 --- a/forge-gui/res/languages/fr-FR.properties +++ b/forge-gui/res/languages/fr-FR.properties @@ -2962,5 +2962,6 @@ lblEffect=Effet lblEmblem=Emblème lblBoon=Aubaine lblExitToWoldMap=Sortir sur la carte du monde? +lblStartArena=Voulez-vous entrer dans l'arène? lblWouldYouLikeDestroy=Souhaitez-vous détruire {0}? lblAdventureDescription=Le mode aventure est l'endroit où vous explorez le paysage en constante évolution de Shandalar, et des créatures duel pour gagner de l'or, des éclats, de l'équipement et de nouvelles cartes pour devenir les meilleurs et les récupérer tous! \ No newline at end of file diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index 790b12a34bd..20950183eca 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -2963,5 +2963,6 @@ lblEffect=Effetto lblEmblem=Emblema lblBoon=Boon lblExitToWoldMap=Esci alla mappa del mondo? +lblStartArena=Vuoi andare nell'arena? lblWouldYouLikeDestroy=Vorresti distruggere {0}? lblAdventureDescription=La modalità Adventure è dove esplori il paesaggio in continua evoluzione di Shandalar e le creature di duello per guadagnare oro, frammenti, attrezzature e nuove carte per diventare i migliori e raccoglierle tutte! diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index 5434d87af69..d1642860f10 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -2959,5 +2959,6 @@ lblEffect=効果 lblEmblem=エンブレム lblBoon=ブーン lblExitToWoldMap=世界地図に終了しますか? +lblStartArena=アリーナに行きたいですか? lblWouldYouLikeDestroy={0}を破壊しますか? lblAdventureDescription=アドベンチャーモードは、金、破片、機器、新しいカードを獲得して最高のものになり、すべてを集めるために、Shandalarの絶えず変化する風景と決闘の生き物を探求する場所です! \ No newline at end of file diff --git a/forge-gui/res/languages/pt-BR.properties b/forge-gui/res/languages/pt-BR.properties index e44c580df34..34bd93140ca 100644 --- a/forge-gui/res/languages/pt-BR.properties +++ b/forge-gui/res/languages/pt-BR.properties @@ -3049,5 +3049,6 @@ lblEffect=Efeito lblEmblem=Emblem lblBoon=Boon lblExitToWoldMap=Sair para o mapa do mundo? +lblStartArena=Você quer entrar na arena? lblWouldYouLikeDestroy=Você gostaria de destruir {0}? lblAdventureDescription=O modo de aventura é onde você explora a paisagem em constante mudança de Shandalar, e duelo para ganhar ouro, fragmentos, equipamentos e novos cartões para se tornarem os melhores e colecioná-los! \ No newline at end of file diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index 58715feb978..c3c3fe5acf7 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -2942,5 +2942,6 @@ lblEffect=影响 lblEmblem=象征 lblBoon=恩赐 lblExitToWoldMap=退出世界地图? +lblStartArena=您想进入竞技场吗? lblWouldYouLikeDestroy=您想销毁{0}吗? lblAdventureDescription=冒险模式是您探索山达尔(Shandalar)不断变化的景观,以及决斗生物获得黄金,碎片,设备和新卡片,使其成为最好的,并收集所有这些! \ No newline at end of file