From ba48373bbc1400e98e9ef5ca7dd928500e36b89c Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 18 Aug 2021 16:39:20 -0400 Subject: [PATCH] Game stats cleanup --- core/assets/bundles/bundle.properties | 3 +- core/assets/sounds/wind3.ogg | Bin 0 -> 38775 bytes core/src/mindustry/core/Control.java | 10 ++++- .../entities/abilities/UnitSpawnAbility.java | 2 + core/src/mindustry/game/EventType.java | 12 ++++-- core/src/mindustry/game/GameStats.java | 40 +----------------- .../mindustry/ui/dialogs/GameOverDialog.java | 13 +----- .../world/blocks/power/PowerNode.java | 6 ++- gradle.properties | 2 +- 9 files changed, 28 insertions(+), 60 deletions(-) create mode 100644 core/assets/sounds/wind3.ogg diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 53e361382b..b2e221af25 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -78,13 +78,12 @@ schematic.tagexists = That tag already exists. stats = Stats stat.wave = Waves Defeated:[accent] {0} +stat.unitsCreated = Units Created:[accent] {0} stat.enemiesDestroyed = Enemies Destroyed:[accent] {0} stat.built = Buildings Built:[accent] {0} stat.destroyed = Buildings Destroyed:[accent] {0} stat.deconstructed = Buildings Deconstructed:[accent] {0} -stat.delivered = Resources Launched: stat.playtime = Time Played:[accent] {0} -stat.rank = Final Rank: [accent]{0} globalitems = [accent]Total Items map.delete = Are you sure you want to delete the map "[accent]{0}[]"? diff --git a/core/assets/sounds/wind3.ogg b/core/assets/sounds/wind3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..35e732725bfe2186ed8b883ca59ea82406dfdb6e GIT binary patch literal 38775 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 z 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 { if(e.tile.team() == player.team()){ - state.stats.buildingsDestroyed++; + state.stats.buildingsDestroyed ++; } }); Events.on(UnitDestroyEvent.class, e -> { if(e.unit.team() != player.team()){ - state.stats.enemyUnitsDestroyed++; + state.stats.enemyUnitsDestroyed ++; + } + }); + + Events.on(UnitCreateEvent.class, e -> { + if(e.unit.team == state.rules.defaultTeam){ + state.stats.unitsCreated++; } }); diff --git a/core/src/mindustry/entities/abilities/UnitSpawnAbility.java b/core/src/mindustry/entities/abilities/UnitSpawnAbility.java index c3f826e5a5..04be58be39 100644 --- a/core/src/mindustry/entities/abilities/UnitSpawnAbility.java +++ b/core/src/mindustry/entities/abilities/UnitSpawnAbility.java @@ -7,6 +7,7 @@ import arc.util.*; import mindustry.*; import mindustry.content.*; import mindustry.entities.*; +import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; @@ -40,6 +41,7 @@ public class UnitSpawnAbility extends Ability{ Unit u = this.unit.create(unit.team); u.set(x, y); u.rotation = unit.rotation; + Events.fire(new UnitCreateEvent(u, null, unit)); if(!Vars.net.client()){ u.add(); } diff --git a/core/src/mindustry/game/EventType.java b/core/src/mindustry/game/EventType.java index 5ff6a6f264..c72ffc403c 100644 --- a/core/src/mindustry/game/EventType.java +++ b/core/src/mindustry/game/EventType.java @@ -411,14 +411,20 @@ public class EventType{ } } - /** Called when a unit is created in a reconstructor or factory. */ + /** Called when a unit is created in a reconstructor, factory or other unit. */ public static class UnitCreateEvent{ public final Unit unit; - public final Building spawner; + public final @Nullable Building spawner; + public final @Nullable Unit spawnerUnit; - public UnitCreateEvent(Unit unit, Building spawner){ + public UnitCreateEvent(Unit unit, Building spawner, Unit spawnerUnit){ this.unit = unit; this.spawner = spawner; + this.spawnerUnit = spawnerUnit; + } + + public UnitCreateEvent(Unit unit, Building spawner){ + this(unit, spawner, null); } } diff --git a/core/src/mindustry/game/GameStats.java b/core/src/mindustry/game/GameStats.java index 19d404c802..5b54385e32 100644 --- a/core/src/mindustry/game/GameStats.java +++ b/core/src/mindustry/game/GameStats.java @@ -1,52 +1,16 @@ package mindustry.game; -import arc.math.*; -import arc.struct.*; -import mindustry.type.*; - -//TODO more stats: -//- units constructed public class GameStats{ - /** Total items delivered to global resoure counter. Campaign only. */ - public ObjectIntMap itemsDelivered = new ObjectIntMap<>(); /** Enemy (red team) units destroyed. */ public int enemyUnitsDestroyed; /** Total waves lasted. */ public int wavesLasted; - /** Total (ms) time lasted in this save/zone. */ - public long timeLasted; /** Friendly buildings fully built. */ public int buildingsBuilt; /** Friendly buildings fully deconstructed. */ public int buildingsDeconstructed; /** Friendly buildings destroyed. */ public int buildingsDestroyed; - - //unused - public RankResult calculateRank(Sector sector){ - float score = 0; - - int rankIndex = Mathf.clamp((int)score, 0, Rank.all.length - 1); - Rank rank = Rank.all[rankIndex]; - String sign = Math.abs((rankIndex + 0.5f) - score) < 0.2f || rank.name().contains("S") ? "" : (rankIndex + 0.5f) < score ? "-" : "+"; - - return new RankResult(rank, sign); - } - - public static class RankResult{ - public final Rank rank; - /** + or - */ - public final String modifier; - - public RankResult(Rank rank, String modifier){ - this.rank = rank; - this.modifier = modifier; - } - } - - public enum Rank{ - F, D, C, B, A, S, SS; - - public static final Rank[] all = values(); - } + /** Total units created by any means. */ + public int unitsCreated; } diff --git a/core/src/mindustry/ui/dialogs/GameOverDialog.java b/core/src/mindustry/ui/dialogs/GameOverDialog.java index 32e593ea0e..8ab6054b6b 100644 --- a/core/src/mindustry/ui/dialogs/GameOverDialog.java +++ b/core/src/mindustry/ui/dialogs/GameOverDialog.java @@ -4,7 +4,6 @@ import arc.*; import mindustry.core.GameState.*; import mindustry.game.EventType.*; import mindustry.game.*; -import mindustry.type.*; import static mindustry.Vars.*; @@ -52,6 +51,7 @@ public class GameOverDialog extends BaseDialog{ t.margin(13f); t.left().defaults().left(); t.add(Core.bundle.format("stat.wave", state.stats.wavesLasted)).row(); + t.add(Core.bundle.format("stat.unitsCreated", state.stats.unitsCreated)).row(); t.add(Core.bundle.format("stat.enemiesDestroyed", state.stats.enemyUnitsDestroyed)).row(); t.add(Core.bundle.format("stat.built", state.stats.buildingsBuilt)).row(); t.add(Core.bundle.format("stat.destroyed", state.stats.buildingsDestroyed)).row(); @@ -59,17 +59,6 @@ public class GameOverDialog extends BaseDialog{ if(control.saves.getCurrent() != null){ t.add(Core.bundle.format("stat.playtime", control.saves.getCurrent().getPlayTime())).row(); } - if(state.isCampaign() && !state.stats.itemsDelivered.isEmpty()){ - t.add("@stat.delivered").row(); - for(Item item : content.items()){ - if(state.stats.itemsDelivered.get(item, 0) > 0){ - t.table(items -> { - items.add(" [lightgray]" + state.stats.itemsDelivered.get(item, 0)); - items.image(item.uiIcon).size(8 * 3).pad(4); - }).left().row(); - } - } - } if(state.isCampaign() && net.client()){ t.add("@gameover.waiting").padTop(20f).row(); diff --git a/core/src/mindustry/world/blocks/power/PowerNode.java b/core/src/mindustry/world/blocks/power/PowerNode.java index 7ced9f8052..f9fb216592 100644 --- a/core/src/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/mindustry/world/blocks/power/PowerNode.java @@ -108,13 +108,15 @@ public class PowerNode extends PowerBlock{ Core.bundle.format("bar.powerbalance", ((entity.power.graph.getPowerBalance() >= 0 ? "+" : "") + UI.formatAmount((long)(entity.power.graph.getPowerBalance() * 60)))), () -> Pal.powerBar, - () -> Mathf.clamp(entity.power.graph.getLastPowerProduced() / entity.power.graph.getLastPowerNeeded()))); + () -> Mathf.clamp(entity.power.graph.getLastPowerProduced() / entity.power.graph.getLastPowerNeeded()) + )); bars.add("batteries", entity -> new Bar(() -> Core.bundle.format("bar.powerstored", (UI.formatAmount((long)entity.power.graph.getLastPowerStored())), UI.formatAmount((long)entity.power.graph.getLastCapacity())), () -> Pal.powerBar, - () -> Mathf.clamp(entity.power.graph.getLastPowerStored() / entity.power.graph.getLastCapacity()))); + () -> Mathf.clamp(entity.power.graph.getLastPowerStored() / entity.power.graph.getLastCapacity()) + )); bars.add("connections", entity -> new Bar(() -> Core.bundle.format("bar.powerlines", entity.power.links.size, maxNodes), diff --git a/gradle.properties b/gradle.properties index fa7fb4b746..9ff216de0d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,4 +11,4 @@ android.useAndroidX=true #used for slow jitpack builds; TODO see if this actually works http.socketTimeout=80000 http.connectionTimeout=80000 -archash=d9eb4aa5b85f51c87f2e5e78cea4043e65bd29f0 +archash=96dbecb52d98b54550bda3d6bb33c69d24884c08