From 798ca929d685fb72ae95da144b2193a4d497f6fb Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 15 Oct 2018 23:20:47 -0300 Subject: [PATCH] Improved sector mission display --- core/src/io/anuke/mindustry/maps/Sector.java | 18 ++++++++++++++++-- .../mindustry/ui/dialogs/SectorsDialog.java | 6 ++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/core/src/io/anuke/mindustry/maps/Sector.java b/core/src/io/anuke/mindustry/maps/Sector.java index acbdce135a..c228151b7d 100644 --- a/core/src/io/anuke/mindustry/maps/Sector.java +++ b/core/src/io/anuke/mindustry/maps/Sector.java @@ -5,8 +5,7 @@ import com.badlogic.gdx.utils.Array; import io.anuke.annotations.Annotations.Serialize; import io.anuke.mindustry.game.Saves.SaveSlot; import io.anuke.mindustry.game.SpawnGroup; -import io.anuke.mindustry.maps.missions.Mission; -import io.anuke.mindustry.maps.missions.VictoryMission; +import io.anuke.mindustry.maps.missions.*; import io.anuke.mindustry.type.ItemStack; import io.anuke.ucore.util.Bits; @@ -41,6 +40,21 @@ public class Sector{ /**Last expansion parameters.*/ public transient int lastExpandX, lastExpandY; + public Mission getDominantMission(){ + for(Mission mission : missions){ + if(mission instanceof WaveMission || mission instanceof BattleMission){ + return mission; + } + } + + for(Mission mission : missions){ + if(mission instanceof BlockMission){ + return mission; + } + } + return missions.first(); + } + public Mission currentMission(){ return completedMissions >= missions.size ? victoryMission : missions.get(completedMissions); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java index 5d2cd98b73..db79b1e87f 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java @@ -42,15 +42,13 @@ public class SectorsDialog extends FloatingDialog{ + (selected.saveID == -1 ? " " + Bundles.get("text.sector.unexplored") : (selected.hasSave() ? " [accent]/[white] " + Bundles.format("text.sector.time", selected.getSave().getPlayTime()) : "")))); content().row(); - content().label(() -> Bundles.format("text.missions", selected == null || selected.completedMissions >= selected.missions.size - ? Bundles.get("text.none") : selected.missions.size) - + "[WHITE] " /*+ (selected == null ? "" : Bundles.format("text.save.difficulty", "[LIGHT_GRAY]" + selected.getDifficulty().toString()))*/); + content().label(() -> Bundles.format("text.mission", selected == null || selected.completedMissions >= selected.missions.size + ? Bundles.get("text.none") : selected.getDominantMission().menuDisplayString())); content().row(); content().add(new SectorView()).grow(); content().row(); buttons().addImageTextButton("$text.sector.deploy", "icon-play", 10*3, () -> { hide(); - ui.loadLogic(() -> world.sectors.playSector(selected)); }).size(210f, 64f).disabled(b -> selected == null) .update(t -> t.setText(selected != null && selected.hasSave() ? "$text.sector.resume" : "$text.sector.deploy"));