From 4dff6d834a03cd9286151253c6d699c17555d027 Mon Sep 17 00:00:00 2001 From: Cedric L'homme Date: Thu, 15 Mar 2018 21:18:06 +0100 Subject: [PATCH] add an info button for descriptions of the game mode. --- core/assets/bundles/bundle.properties | 2 ++ .../mindustry/ui/dialogs/LevelDialog.java | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 7f75cb6a13..7c8c0653fe 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -340,6 +340,8 @@ keybind.weapon_3.name=weapon_3 keybind.weapon_4.name=weapon_4 keybind.weapon_5.name=weapon_5 keybind.weapon_6.name=weapon_6 +mode.text.help.title=Description of modes +mode.text.help.description="{0}" is the normal mode: limited resources and automatic incoming waves.\n"{1}" is a mode with infinite resources and no timer for waves.\n"{2}" is a mode with limited resources and no timer for waves. mode.waves.name=waves mode.sandbox.name=sandbox mode.freebuild.name=freebuild diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LevelDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LevelDialog.java index 9a7c8d4424..0c1d5acb09 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LevelDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LevelDialog.java @@ -56,6 +56,7 @@ public class LevelDialog extends FloatingDialog{ group.add(b[0]); selmode.add(b[0]).size(130f, 54f); } + selmode.addButton("?", () -> displayGameModeHelp()).size(54f, 54f).padLeft(15f); content().add(selmode); content().row(); @@ -171,4 +172,27 @@ public class LevelDialog extends FloatingDialog{ }); }); } + + private void displayGameModeHelp() { + FloatingDialog d = new FloatingDialog(Bundles.get("mode.text.help.title")); + d.setFillParent(false); + Table table = new Table(); + table.defaults().pad(1f); + ScrollPane pane = new ScrollPane(table, "clear"); + pane.setFadeScrollBars(false); + table.row(); + Label desclabel = new Label( + Bundles.format("mode.text.help.description", + Bundles.get("mode.waves.name"), + Bundles.get("mode.sandbox.name"), + Bundles.get("mode.freebuild.name"))); + desclabel.setWrap(true); + table.add(desclabel).width(600); + table.row(); + + d.content().add(pane); + d.buttons().addButton("$text.ok", ()-> d.hide()).size(110, 50).pad(10f); + d.show(); + } + }