Added sandbox mode and new fortress enemy
This commit is contained in:
@@ -3,15 +3,16 @@ package io.anuke.mindustry.ui;
|
||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.world.GameMode;
|
||||
import io.anuke.mindustry.world.Map;
|
||||
import io.anuke.ucore.core.Core;
|
||||
import io.anuke.ucore.core.Settings;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
import io.anuke.ucore.function.StringSupplier;
|
||||
import io.anuke.ucore.scene.ui.ImageButton;
|
||||
import io.anuke.ucore.scene.ui.ScrollPane;
|
||||
import io.anuke.ucore.scene.ui.*;
|
||||
import io.anuke.ucore.scene.ui.layout.Table;
|
||||
import io.anuke.ucore.scene.ui.layout.Unit;
|
||||
import io.anuke.ucore.scene.utils.Elements;
|
||||
|
||||
public class LevelDialog extends FloatingDialog{
|
||||
private Map selectedMap = Map.delta;
|
||||
@@ -31,6 +32,21 @@ public class LevelDialog extends FloatingDialog{
|
||||
|
||||
int maxwidth = 4;
|
||||
|
||||
Table selmode = new Table();
|
||||
ButtonGroup<TextButton> group = new ButtonGroup<>();
|
||||
selmode.add("Gamemode: ").padRight(10f).units(Unit.dp);
|
||||
|
||||
for(GameMode mode : GameMode.values()){
|
||||
TextButton b = Elements.newButton(mode.toString(), "toggle", ()->{
|
||||
Vars.control.setMode(mode);
|
||||
});
|
||||
group.add(b);
|
||||
selmode.add(b).size(130f, 54f).units(Unit.dp);
|
||||
}
|
||||
|
||||
content().add(selmode);
|
||||
content().row();
|
||||
|
||||
for(int i = 0; i < Map.values().length; i ++){
|
||||
Map map = Map.values()[i];
|
||||
|
||||
@@ -61,7 +77,7 @@ public class LevelDialog extends FloatingDialog{
|
||||
maps.add(image).width(170).pad(4f).units(Unit.dp);
|
||||
}
|
||||
|
||||
content().add(pane);
|
||||
content().add(pane).uniformX();
|
||||
|
||||
shown(()->{
|
||||
//this is necessary for some reason?
|
||||
|
||||
@@ -46,8 +46,8 @@ public class LoadDialog extends FloatingDialog{
|
||||
|
||||
button.row();
|
||||
|
||||
Label info = new Label("[gray]" + (!SaveIO.isSaveValid(i) ? "<empty>" : "Wave " +
|
||||
SaveIO.getWave(slot)+"\nLast Saved: " + SaveIO.getTimeString(i)));
|
||||
Label info = new Label("[gray]" + (!SaveIO.isSaveValid(i) ? "<empty>" : SaveIO.getMode(slot) + ", Wave " +
|
||||
SaveIO.getWave(slot) + "\nLast Saved: " + SaveIO.getTimeString(i)));
|
||||
info.setAlignment(Align.center, Align.center);
|
||||
|
||||
button.add(info).padBottom(2).padTop(6);
|
||||
|
||||
@@ -100,7 +100,7 @@ public class BlocksFragment implements Fragment{
|
||||
|
||||
image.update(()->{
|
||||
|
||||
boolean canPlace = !control.tutorial.active() || control.tutorial.canPlace();
|
||||
boolean canPlace = !control.getTutorial().active() || control.getTutorial().canPlace();
|
||||
boolean has = control.hasItems(r.requirements) && canPlace;
|
||||
//image.setDisabled(!has);
|
||||
image.setChecked(player.recipe == r);
|
||||
|
||||
@@ -12,6 +12,7 @@ import io.anuke.mindustry.core.GameState;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.entities.enemies.Enemy;
|
||||
import io.anuke.mindustry.resource.Item;
|
||||
import io.anuke.mindustry.world.GameMode;
|
||||
import io.anuke.ucore.core.Core;
|
||||
import io.anuke.ucore.core.Draw;
|
||||
import io.anuke.ucore.core.Settings;
|
||||
@@ -73,9 +74,9 @@ public class HudFragment implements Fragment{
|
||||
|
||||
//ui table
|
||||
new table(){{
|
||||
control.tutorial.buildUI(this);
|
||||
control.getTutorial().buildUI(this);
|
||||
|
||||
visible(()->control.tutorial.active());
|
||||
visible(()->control.getTutorial().active());
|
||||
}}.end();
|
||||
|
||||
//paused table
|
||||
@@ -92,6 +93,13 @@ public class HudFragment implements Fragment{
|
||||
new table(){{
|
||||
atop();
|
||||
aright();
|
||||
|
||||
float uheight = 72f;
|
||||
|
||||
new imagebutton("icon-play", Unit.dp.inPixels(30f), ()->{
|
||||
Vars.control.runWave();
|
||||
}).size(uheight).uniformY().units(Unit.dp)
|
||||
.visible(()-> Vars.control.getMode() == GameMode.sandbox && Vars.control.getEnemiesRemaining() <= 0);
|
||||
|
||||
new table("button"){{
|
||||
|
||||
@@ -101,11 +109,11 @@ public class HudFragment implements Fragment{
|
||||
|
||||
new label(()-> control.getEnemiesRemaining() > 0 ?
|
||||
control.getEnemiesRemaining() + " Enemies remaining" :
|
||||
control.tutorial.active() ? "waiting..." : "New wave in " + (int) (control.getWaveCountdown() / 60f))
|
||||
(control.getTutorial().active() || Vars.control.getMode() == GameMode.sandbox) ? "waiting..." : "New wave in " + (int) (control.getWaveCountdown() / 60f))
|
||||
.minWidth(150);
|
||||
|
||||
get().pad(Unit.dp.inPixels(12));
|
||||
}};
|
||||
}}.height(uheight).units(Unit.dp);
|
||||
|
||||
visible(()->!GameState.is(State.menu));
|
||||
}}.end();
|
||||
|
||||
Reference in New Issue
Block a user