diff --git a/core/src/mindustry/game/SectorInfo.java b/core/src/mindustry/game/SectorInfo.java index a471ecf40f..8c9f1f1a9e 100644 --- a/core/src/mindustry/game/SectorInfo.java +++ b/core/src/mindustry/game/SectorInfo.java @@ -265,10 +265,9 @@ public class SectorInfo{ return map; } - /** @return a newly allocated map with import statistics. Use sparingly. */ + //TODO this can be a float map public ObjectMap importStats(){ - //build empty import stats ObjectMap imports = new ObjectMap<>(); //for all sectors on all planets that have bases and export to this sector for(Planet planet : content.planets()){ diff --git a/core/src/mindustry/ui/dialogs/PlanetDialog.java b/core/src/mindustry/ui/dialogs/PlanetDialog.java index 1e5b83fb84..32ed6ee79a 100644 --- a/core/src/mindustry/ui/dialogs/PlanetDialog.java +++ b/core/src/mindustry/ui/dialogs/PlanetDialog.java @@ -603,36 +603,33 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ selectAlpha = Mathf.lerpDelta(selectAlpha, Mathf.num(planets.zoom < 1.9f), 0.1f); } + void displayItems(Table c, float scl, ObjectMap stats, String name){ + Table t = new Table().left(); + + int i = 0; + for(var item : content.items()){ + var stat = stats.get(item); + if(stat == null) continue; + int total = (int)(stat.mean * 60 * scl); + if(total > 1){ + t.image(item.uiIcon).padRight(3); + t.add(UI.formatAmount(total) + " " + Core.bundle.get("unit.perminute")).color(Color.lightGray).padRight(3); + if(++i % 3 == 0){ + t.row(); + } + } + } + + if(t.getChildren().any()){ + c.add(name).left().row(); + c.add(t).padLeft(10f).left().row(); + } + } + void showStats(Sector sector){ BaseDialog dialog = new BaseDialog(sector.name()); dialog.cont.pane(c -> { - Cons2, String> display = (stats, name) -> { - Table t = new Table().left(); - - float scl = sector.getProductionScale(); - - int[] i = {0}; - - for(var item : content.items()){ - var stat = stats.get(item); - if(stat == null) continue; - int total = (int)(stat.mean * 60 * scl); - if(total > 1){ - t.image(item.uiIcon).padRight(3); - t.add(UI.formatAmount(total) + " " + Core.bundle.get("unit.perminute")).color(Color.lightGray).padRight(3); - if(++i[0] % 3 == 0){ - t.row(); - } - } - } - - if(t.getChildren().any()){ - c.add(name).left().row(); - c.add(t).padLeft(10f).left().row(); - } - }; - c.defaults().padBottom(5); c.add(Core.bundle.get("sectors.time") + " [accent]" + sector.save.getPlayTime()).left().row(); @@ -655,14 +652,14 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ } //production - display.get(sector.info.production, "@sectors.production"); + displayItems(c, sector.getProductionScale(), sector.info.production, "@sectors.production"); //export - display.get(sector.info.export, "@sectors.export"); + displayItems(c, sector.getProductionScale(), sector.info.export, "@sectors.export"); //import if(sector.hasBase()){ - display.get(sector.info.importStats(), "@sectors.import"); + displayItems(c, 1f, sector.info.importStats(), "@sectors.import"); } ItemSeq items = sector.items();