Main menu rework [currently incomplete]
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 59 KiB |
BIN
core/assets-raw/sprites/ui/discord-banner-over.png
Normal file
|
After Width: | Height: | Size: 341 B |
BIN
core/assets-raw/sprites/ui/discord-banner.png
Normal file
|
After Width: | Height: | Size: 341 B |
BIN
core/assets-raw/sprites/ui/icons/icon-dev-builds.png
Normal file
|
After Width: | Height: | Size: 196 B |
BIN
core/assets-raw/sprites/ui/icons/icon-exit.png
Normal file
|
After Width: | Height: | Size: 186 B |
BIN
core/assets-raw/sprites/ui/icons/icon-github.png
Normal file
|
After Width: | Height: | Size: 204 B |
BIN
core/assets-raw/sprites/ui/icons/icon-google-play.png
Normal file
|
After Width: | Height: | Size: 187 B |
BIN
core/assets-raw/sprites/ui/icons/icon-itch.io.png
Normal file
|
After Width: | Height: | Size: 198 B |
BIN
core/assets-raw/sprites/ui/icons/icon-link.png
Normal file
|
After Width: | Height: | Size: 195 B |
BIN
core/assets-raw/sprites/ui/icons/icon-trello.png
Normal file
|
After Width: | Height: | Size: 171 B |
BIN
core/assets-raw/sprites/ui/icons/icon-wiki.png
Normal file
|
After Width: | Height: | Size: 174 B |
@@ -1,6 +1,14 @@
|
|||||||
text.about=Created by [ROYAL]Anuken.[]\nOriginally an entry in the [orange]GDL[] MM Jam.\n\nCredits:\n- SFX made with [YELLOW]bfxr[]\n- Music made by [GREEN]RoccoW[] / found on [lime]FreeMusicArchive.org[]\n\nSpecial thanks to:\n- [coral]MitchellFJN[]: extensive playtesting and feedback\n- [sky]Luxray5474[]: wiki work, code contributions\n- [lime]Epowerj[]: code build system, icon\n- All the beta testers on itch.io and Google Play\n
|
text.about=Created by [ROYAL]Anuken.[]\nOriginally an entry in the [orange]GDL[] MM Jam.\n\nCredits:\n- SFX made with [YELLOW]bfxr[]\n- Music made by [GREEN]RoccoW[] / found on [lime]FreeMusicArchive.org[]\n\nSpecial thanks to:\n- [coral]MitchellFJN[]: extensive playtesting and feedback\n- [sky]Luxray5474[]: wiki work, code contributions\n- [lime]Epowerj[]: code build system, icon\n- All the beta testers on itch.io and Google Play\n
|
||||||
text.discord=Join the mindustry discord!
|
text.discord=Join the mindustry discord!
|
||||||
text.changes=[SCARLET]Attention!\n[]Some important game mechanics have been changed.\n\n- [accent]Teleporters[] now use power.\n- [accent]Smelteries[] and [accent]crucibles[] now have a maximum item capacity.\n- [accent]Crucibles[] now require coal as fuel.
|
text.changes=[SCARLET]Attention!\n[]Some important game mechanics have been changed.\n\n- [accent]Teleporters[] now use power.\n- [accent]Smelteries[] and [accent]crucibles[] now have a maximum item capacity.\n- [accent]Crucibles[] now require coal as fuel.
|
||||||
|
text.link.discord.description=the official Mindustry discord chatroom
|
||||||
|
text.link.github.description=Game source code
|
||||||
|
text.link.dev-builds.description=Unstable development builds
|
||||||
|
text.link.trello.description=Official trello board for planned features
|
||||||
|
text.link.itch.io.description=itch.io page with PC downloads and web version
|
||||||
|
text.link.google-play.description=Google Play store listing
|
||||||
|
text.link.wiki.description=official Mindustry wiki
|
||||||
|
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
||||||
text.gameover=The core was destroyed.
|
text.gameover=The core was destroyed.
|
||||||
text.highscore=[YELLOW]New highscore!
|
text.highscore=[YELLOW]New highscore!
|
||||||
text.lasted=You lasted until wave
|
text.lasted=You lasted until wave
|
||||||
@@ -113,6 +121,7 @@ text.ok=OK
|
|||||||
text.open=Open
|
text.open=Open
|
||||||
text.cancel=Cancel
|
text.cancel=Cancel
|
||||||
text.openlink=Open Link
|
text.openlink=Open Link
|
||||||
|
text.copylink=Copy Link
|
||||||
text.back=Back
|
text.back=Back
|
||||||
text.quit.confirm=Are you sure you want to quit?
|
text.quit.confirm=Are you sure you want to quit?
|
||||||
text.changelog.title=Changelog
|
text.changelog.title=Changelog
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 91 KiB |
@@ -52,6 +52,7 @@ io.anuke.ucore.scene.ui.Button$ButtonStyle: {
|
|||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.TextButton$TextButtonStyle: {
|
io.anuke.ucore.scene.ui.TextButton$TextButtonStyle: {
|
||||||
default: {over: button-over, disabled: button, font: default-font, fontColor: white, disabledFontColor: grey, down: button-down, up: button, transition: 0 },
|
default: {over: button-over, disabled: button, font: default-font, fontColor: white, disabledFontColor: grey, down: button-down, up: button, transition: 0 },
|
||||||
|
discord: {over: discord-banner-over, font: default-font, fontColor: white, up: discord-banner},
|
||||||
clear: {down: clear-down, up: clear, over: clear-over, font: default-font, fontColor: white, disabledFontColor: grey },
|
clear: {down: clear-down, up: clear, over: clear-over, font: default-font, fontColor: white, disabledFontColor: grey },
|
||||||
empty: {font: default-font},
|
empty: {font: default-font},
|
||||||
toggle: {font: default-font, fontColor: white, checked: button-down, down: button-down, up: button, over: button-over, disabled: button, disabledFontColor: grey }
|
toggle: {font: default-font, fontColor: white, checked: button-down, down: button-down, up: button, over: button-over, disabled: button, disabledFontColor: grey }
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#Autogenerated file. Do not modify.
|
#Autogenerated file. Do not modify.
|
||||||
#Fri Mar 16 12:34:23 EDT 2018
|
#Fri Mar 16 16:59:13 EDT 2018
|
||||||
version=release
|
version=release
|
||||||
androidBuildCode=421
|
androidBuildCode=443
|
||||||
name=Mindustry
|
name=Mindustry
|
||||||
code=3.4
|
code=3.4
|
||||||
build=custom build
|
build=custom build
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public class Vars{
|
|||||||
public static float fontscale = Math.max(Unit.dp.scl(1f)/2f, 0.5f);
|
public static float fontscale = Math.max(Unit.dp.scl(1f)/2f, 0.5f);
|
||||||
//camera zoom displayed on startup
|
//camera zoom displayed on startup
|
||||||
public static final int baseCameraScale = Math.round(Unit.dp.scl(4));
|
public static final int baseCameraScale = Math.round(Unit.dp.scl(4));
|
||||||
//how much the zoom changes every zoom button press
|
//how much the zoom changes every zoom button press (unused?)
|
||||||
public static final int zoomScale = Math.round(Unit.dp.scl(1));
|
public static final int zoomScale = Math.round(Unit.dp.scl(1));
|
||||||
//if true, player speed will be increased, massive amounts of resources will be given on start, and other debug options will be available
|
//if true, player speed will be increased, massive amounts of resources will be given on start, and other debug options will be available
|
||||||
public static boolean debug = false;
|
public static boolean debug = false;
|
||||||
|
|||||||
32
core/src/io/anuke/mindustry/ui/Links.java
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
package io.anuke.mindustry.ui;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.Color;
|
||||||
|
import io.anuke.ucore.util.Bundles;
|
||||||
|
|
||||||
|
public class Links {
|
||||||
|
private static final LinkEntry[] links = {
|
||||||
|
new LinkEntry("discord", "https://discord.gg/BKADYds", Color.valueOf("7289da")),
|
||||||
|
new LinkEntry("github", "https://github.com/Anuken/Mindustry/", Color.valueOf("24292e")),
|
||||||
|
new LinkEntry("dev-builds", "https://github.com/Anuken/Mindustry/wiki", Color.valueOf("fafbfc")),
|
||||||
|
new LinkEntry("trello", "https://trello.com/b/aE2tcUwF", Color.valueOf("026aa7")),
|
||||||
|
new LinkEntry("itch.io", "https://anuke.itch.io/mindustry", Color.valueOf("fa5c5c")),
|
||||||
|
new LinkEntry("google-play", "https://play.google.com/store/apps/details?id=io.anuke.mindustry", Color.valueOf("689f38")),
|
||||||
|
new LinkEntry("wiki", "http://mindustry.wikia.com/wiki/Mindustry_Wiki", Color.valueOf("0f142f")),
|
||||||
|
};
|
||||||
|
|
||||||
|
public static LinkEntry[] getLinks(){
|
||||||
|
return links;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class LinkEntry{
|
||||||
|
public final String name, description, link;
|
||||||
|
public final Color color;
|
||||||
|
|
||||||
|
public LinkEntry(String name, String link, Color color) {
|
||||||
|
this.name = name;
|
||||||
|
this.color = color;
|
||||||
|
this.description = Bundles.getNotNull("text.link." + name +".description");
|
||||||
|
this.link = link;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,49 +1,25 @@
|
|||||||
package io.anuke.mindustry.ui;
|
package io.anuke.mindustry.ui;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Color;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
|
||||||
import io.anuke.ucore.core.Core;
|
|
||||||
import io.anuke.ucore.function.Listenable;
|
import io.anuke.ucore.function.Listenable;
|
||||||
import io.anuke.ucore.scene.ui.Button;
|
import io.anuke.ucore.scene.ui.TextButton;
|
||||||
import io.anuke.ucore.scene.ui.layout.Unit;
|
|
||||||
import io.anuke.ucore.util.Bundles;
|
|
||||||
|
|
||||||
public class MenuButton extends Button{
|
public class MenuButton extends TextButton{
|
||||||
private static boolean hasInvalid = false;
|
|
||||||
private String text;
|
public MenuButton(String icon, String text, Listenable clicked){
|
||||||
private boolean added = false;
|
super("default");
|
||||||
|
float s = 70f;
|
||||||
|
|
||||||
public MenuButton(String text, PressGroup group, Listenable clicked){
|
|
||||||
super("menu");
|
|
||||||
this.text = text;
|
|
||||||
BitmapFont font = Core.skin.getFont("title");
|
|
||||||
for(char c : Bundles.get(text.substring(1)).toCharArray()){
|
|
||||||
if(!font.getData().hasGlyph(c)){
|
|
||||||
hasInvalid = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
clicked(clicked);
|
clicked(clicked);
|
||||||
group.add(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
clearChildren();
|
||||||
public void layout() {
|
|
||||||
super.layout();
|
|
||||||
if(added)
|
|
||||||
return;
|
|
||||||
added = true;
|
|
||||||
String style = "title";
|
|
||||||
float scale = 4f;
|
|
||||||
if(hasInvalid){
|
|
||||||
style = "default";
|
|
||||||
scale = Unit.dp.scl(1f);
|
|
||||||
}
|
|
||||||
add(text, style, scale).color(hasInvalid ? Color.DARK_GRAY : Color.WHITE);
|
|
||||||
|
|
||||||
if(hasInvalid){
|
margin(0);
|
||||||
row();
|
|
||||||
add(text, style, scale).padTop(Unit.dp.scl(-Core.font.getData().lineHeight * scale * 2f - 4f)).color(Color.WHITE);
|
table(t -> {
|
||||||
}
|
t.addImage(icon).size(14*3);
|
||||||
|
t.update(() -> t.setBackground(getClickListener().isOver() || getClickListener().isVisualPressed() ? "button-over" : "button"));
|
||||||
|
}).size(s - 5, s);
|
||||||
|
|
||||||
|
add(text).padLeft(5).growX();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,56 @@
|
|||||||
package io.anuke.mindustry.ui.dialogs;
|
package io.anuke.mindustry.ui.dialogs;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.Gdx;
|
||||||
|
import com.badlogic.gdx.graphics.Color;
|
||||||
|
import io.anuke.mindustry.Vars;
|
||||||
|
import io.anuke.mindustry.ui.Links;
|
||||||
|
import io.anuke.mindustry.ui.Links.LinkEntry;
|
||||||
|
import io.anuke.ucore.scene.ui.ScrollPane;
|
||||||
|
import io.anuke.ucore.scene.ui.layout.Table;
|
||||||
|
|
||||||
public class AboutDialog extends FloatingDialog {
|
public class AboutDialog extends FloatingDialog {
|
||||||
|
|
||||||
public AboutDialog(){
|
public AboutDialog(){
|
||||||
super("$text.about.button");
|
super("$text.about.button");
|
||||||
|
|
||||||
addCloseButton();
|
addCloseButton();
|
||||||
content().add("$text.about");
|
|
||||||
|
float h = 80f;
|
||||||
|
float w = 600f;
|
||||||
|
|
||||||
|
Table in = new Table();
|
||||||
|
ScrollPane pane = new ScrollPane(in, "clear");
|
||||||
|
|
||||||
|
for(LinkEntry link : Links.getLinks()){
|
||||||
|
Table table = new Table("button");
|
||||||
|
table.margin(0);
|
||||||
|
table.table(img -> {
|
||||||
|
img.addImage("white").height(h - 5).width(40f).color(link.color);
|
||||||
|
img.row();
|
||||||
|
img.addImage("white").height(5).width(40f).color(link.color.cpy().mul(0.8f, 0.8f, 0.8f, 1f));
|
||||||
|
}).expandY();
|
||||||
|
|
||||||
|
table.table(i -> {
|
||||||
|
i.background("button");
|
||||||
|
i.addImage("icon-" + link.name).size(14*3f);
|
||||||
|
}).size(h-5, h);
|
||||||
|
|
||||||
|
table.table(inset -> {
|
||||||
|
inset.add("[accent]"+link.name.replace("-", " ")).growX().left();
|
||||||
|
inset.row();
|
||||||
|
inset.labelWrap(link.description).width(w - 100f).color(Color.LIGHT_GRAY).growX();
|
||||||
|
}).padLeft(8);
|
||||||
|
|
||||||
|
table.addImageButton("icon-link", 14*3, () -> {
|
||||||
|
if(!Gdx.net.openURI(link.link)){
|
||||||
|
Vars.ui.showError("$text.linkfail");
|
||||||
|
Gdx.app.getClipboard().setContents(link.link);
|
||||||
|
}
|
||||||
|
}).size(h-5, h);
|
||||||
|
|
||||||
|
in.add(table).size(w, h).padTop(5).row();
|
||||||
|
}
|
||||||
|
|
||||||
|
content().add(pane).growX();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,52 @@
|
|||||||
package io.anuke.mindustry.ui.dialogs;
|
package io.anuke.mindustry.ui.dialogs;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
|
import com.badlogic.gdx.graphics.Color;
|
||||||
|
import com.badlogic.gdx.graphics.Colors;
|
||||||
import io.anuke.ucore.scene.ui.Dialog;
|
import io.anuke.ucore.scene.ui.Dialog;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.discordURL;
|
import static io.anuke.mindustry.Vars.discordURL;
|
||||||
|
import static io.anuke.mindustry.Vars.ui;
|
||||||
|
|
||||||
public class DiscordDialog extends Dialog {
|
public class DiscordDialog extends Dialog {
|
||||||
|
|
||||||
public DiscordDialog(){
|
public DiscordDialog(){
|
||||||
super("Discord", "dialog");
|
super("", "dialog");
|
||||||
|
|
||||||
|
float h = 70f;
|
||||||
|
|
||||||
content().margin(12f);
|
content().margin(12f);
|
||||||
content().add("$text.discord");
|
|
||||||
content().row();
|
Color color = Color.valueOf("7289da");
|
||||||
content().add("[orange]"+ discordURL);
|
|
||||||
buttons().defaults().size(200f, 50);
|
content().table(t -> {
|
||||||
buttons().addButton("$text.openlink", () -> Gdx.net.openURI(discordURL));
|
t.background("button").margin(0);
|
||||||
|
|
||||||
|
t.table(img -> {
|
||||||
|
img.addImage("white").height(h - 5).width(40f).color(color);
|
||||||
|
img.row();
|
||||||
|
img.addImage("white").height(5).width(40f).color(color.cpy().mul(0.8f, 0.8f, 0.8f, 1f));
|
||||||
|
}).expandY();
|
||||||
|
|
||||||
|
t.table(i -> {
|
||||||
|
i.background("button");
|
||||||
|
i.addImage("icon-discord").size(14 * 3);
|
||||||
|
}).size(h).left();
|
||||||
|
|
||||||
|
t.add("$text.discord").color(Colors.get("accent")).growX().padLeft(10f);
|
||||||
|
}).size(470f, h).pad(10f);
|
||||||
|
|
||||||
|
buttons().defaults().size(170f, 50);
|
||||||
|
|
||||||
buttons().addButton("$text.back", this::hide);
|
buttons().addButton("$text.back", this::hide);
|
||||||
|
buttons().addButton("$text.copylink", () ->{
|
||||||
|
Gdx.app.getClipboard().setContents(discordURL);
|
||||||
|
});
|
||||||
|
buttons().addButton("$text.openlink", () ->{
|
||||||
|
if(!Gdx.net.openURI(discordURL)){
|
||||||
|
ui.showError("$text.linkfail");
|
||||||
|
Gdx.app.getClipboard().setContents(discordURL);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ public class BackgroundFragment implements Fragment {
|
|||||||
TextureRegion back = Draw.region("background");
|
TextureRegion back = Draw.region("background");
|
||||||
float backscl = Math.max(Gdx.graphics.getWidth() / (float)back.getRegionWidth() * 1.5f, Unit.dp.scl(5f));
|
float backscl = Math.max(Gdx.graphics.getWidth() / (float)back.getRegionWidth() * 1.5f, Unit.dp.scl(5f));
|
||||||
|
|
||||||
Draw.alpha(0.7f);
|
Draw.alpha(0.5f);
|
||||||
Core.batch.draw(back, w/2 - back.getRegionWidth()*backscl/2 +240f, h/2 - back.getRegionHeight()*backscl/2 + 250f,
|
Core.batch.draw(back, w/2 - back.getRegionWidth()*backscl/2, h/2 - back.getRegionHeight()*backscl/2,
|
||||||
back.getRegionWidth()*backscl, back.getRegionHeight()*backscl);
|
back.getRegionWidth()*backscl, back.getRegionHeight()*backscl);
|
||||||
|
|
||||||
boolean portrait = Gdx.graphics.getWidth() < Gdx.graphics.getHeight();
|
boolean portrait = Gdx.graphics.getWidth() < Gdx.graphics.getHeight();
|
||||||
@@ -31,7 +31,7 @@ public class BackgroundFragment implements Fragment {
|
|||||||
float logoh = logo.getRegionHeight()*logoscl;
|
float logoh = logo.getRegionHeight()*logoscl;
|
||||||
|
|
||||||
Draw.color();
|
Draw.color();
|
||||||
Core.batch.draw(logo, w/2 - logow/2, h - logoh + 15 + (portrait ? -Unit.dp.scl(30f) : 0f), logow, logoh);
|
Core.batch.draw(logo, w/2 - logow/2, h - logoh + 15 - Unit.dp.scl(portrait ? 30f : 30), logow, logoh);
|
||||||
}).visible(() -> state.is(State.menu)).grow();
|
}).visible(() -> state.is(State.menu)).grow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
package io.anuke.mindustry.ui.fragments;
|
package io.anuke.mindustry.ui.fragments;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import io.anuke.mindustry.Vars;
|
|
||||||
import io.anuke.mindustry.core.GameState.State;
|
import io.anuke.mindustry.core.GameState.State;
|
||||||
import io.anuke.mindustry.io.Platform;
|
import io.anuke.mindustry.io.Platform;
|
||||||
import io.anuke.mindustry.io.Version;
|
import io.anuke.mindustry.io.Version;
|
||||||
import io.anuke.mindustry.ui.MenuButton;
|
import io.anuke.mindustry.ui.MenuButton;
|
||||||
import io.anuke.mindustry.ui.PressGroup;
|
|
||||||
import io.anuke.ucore.scene.builders.imagebutton;
|
import io.anuke.ucore.scene.builders.imagebutton;
|
||||||
import io.anuke.ucore.scene.builders.label;
|
import io.anuke.ucore.scene.builders.label;
|
||||||
import io.anuke.ucore.scene.builders.table;
|
import io.anuke.ucore.scene.builders.table;
|
||||||
@@ -21,36 +19,44 @@ public class MenuFragment implements Fragment{
|
|||||||
|
|
||||||
if(!android){
|
if(!android){
|
||||||
new table(){{
|
new table(){{
|
||||||
PressGroup group = new PressGroup();
|
|
||||||
|
|
||||||
float scale = 4f;
|
float w = 200f;
|
||||||
defaults().size(140*scale, 21*scale).pad(-10f);
|
float bw = w * 2f + 10f;
|
||||||
|
|
||||||
|
defaults().size(w, 70f).padTop(5).padRight(5);
|
||||||
|
|
||||||
|
add(new MenuButton("icon-play-2", "$text.play", ui.levels::show)).width(bw).colspan(2);
|
||||||
|
|
||||||
add(new MenuButton("$text.play", group, ui.levels::show));
|
|
||||||
row();
|
row();
|
||||||
|
|
||||||
if(Platform.instance.canJoinGame()) {
|
//TODO submenu!
|
||||||
add(new MenuButton("$text.joingame", group, ui.join::show));
|
|
||||||
|
/*if(Platform.instance.canJoinGame()) {
|
||||||
|
add(new MenuButton("icon-add", "$text.joingame", ui.join::show));
|
||||||
row();
|
row();
|
||||||
}
|
}
|
||||||
|
|
||||||
add(new MenuButton("$text.tutorial", group, ()-> control.playMap(world.maps().getMap("tutorial"))));
|
add(new MenuButton("icon-tutorial", "$text.tutorial", ()-> control.playMap(world.maps().getMap("tutorial"))));
|
||||||
|
|
||||||
|
add(new MenuButton("icon-load", "$text.loadgame", ui.load::show));
|
||||||
|
*/
|
||||||
|
|
||||||
|
add(new MenuButton("icon-editor", "$text.editor", ui.editor::show));
|
||||||
|
|
||||||
|
add(new MenuButton("icon-tools", "$text.settings", ui.settings::show));
|
||||||
|
|
||||||
row();
|
row();
|
||||||
|
|
||||||
add(new MenuButton("$text.loadgame", group, ui.load::show));
|
add(new MenuButton("icon-info", "$text.about.button", ui.about::show));
|
||||||
|
|
||||||
|
add(new MenuButton("icon-menu", "$text.changelog.title", ui.changelog::show));
|
||||||
|
|
||||||
row();
|
row();
|
||||||
|
|
||||||
if(!gwt){
|
if(!gwt){
|
||||||
add(new MenuButton("$text.editor", group, ui.editor::show));
|
add(new MenuButton("icon-exit", "$text.quit", Gdx.app::exit)).width(bw).colspan(2);
|
||||||
row();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
add(new MenuButton("$text.settings", group, ui.settings::show));
|
|
||||||
row();
|
|
||||||
|
|
||||||
if(!gwt){
|
|
||||||
add(new MenuButton("$text.quit", group, Gdx.app::exit));
|
|
||||||
}
|
|
||||||
get().margin(16);
|
get().margin(16);
|
||||||
}}.end();
|
}}.end();
|
||||||
|
|
||||||
@@ -82,14 +88,15 @@ public class MenuFragment implements Fragment{
|
|||||||
|
|
||||||
//extra icons in top right
|
//extra icons in top right
|
||||||
new table(){{
|
new table(){{
|
||||||
atop().aright();
|
abottom().atop().aright();
|
||||||
if(Platform.instance.hasDiscord()){
|
get().addButton("", "discord", ui.discord::show);
|
||||||
new imagebutton("icon-discord", 30f, ui.discord::show).margin(14);
|
//if(Platform.instance.hasDiscord()){
|
||||||
}
|
// new imagebutton("icon-discord", 30f, ui.discord::show).margin(14);
|
||||||
if(!Vars.android) {
|
//}
|
||||||
new imagebutton("icon-info", 30f, ui.about::show).margin(14);
|
//if(!Vars.android) {
|
||||||
}
|
// new imagebutton("icon-info", 30f, ui.about::show).margin(14);
|
||||||
new imagebutton("icon-menu", 30f, ui.changelog::show).margin(14);
|
//}
|
||||||
|
//new imagebutton("icon-menu", 30f, ui.changelog::show).margin(14);
|
||||||
}}.end().visible(()->state.is(State.menu));
|
}}.end().visible(()->state.is(State.menu));
|
||||||
|
|
||||||
//version info
|
//version info
|
||||||
|
|||||||