diff --git a/src/main/java/nomadrealms/context/game/actor/Actor.java b/src/main/java/nomadrealms/context/game/actor/Actor.java index 712cc6b7..1054d47a 100644 --- a/src/main/java/nomadrealms/context/game/actor/Actor.java +++ b/src/main/java/nomadrealms/context/game/actor/Actor.java @@ -19,6 +19,8 @@ */ public interface Actor extends HasPosition, HasHealth, HasInventory, Target, Renderable { + String name(); + default List actions() { return new ArrayList<>(); } diff --git a/src/main/java/nomadrealms/context/game/actor/cardplayer/CardPlayer.java b/src/main/java/nomadrealms/context/game/actor/cardplayer/CardPlayer.java index be90c9ad..82b2e201 100644 --- a/src/main/java/nomadrealms/context/game/actor/cardplayer/CardPlayer.java +++ b/src/main/java/nomadrealms/context/game/actor/cardplayer/CardPlayer.java @@ -197,4 +197,9 @@ public void lastResolvedCard(WorldCard card) { this.lastResolvedCard = card; } + @Override + public String name() { + return "Card Player"; + } + } diff --git a/src/main/java/nomadrealms/context/game/actor/cardplayer/Farmer.java b/src/main/java/nomadrealms/context/game/actor/cardplayer/Farmer.java index 324fb8b3..e0f26073 100644 --- a/src/main/java/nomadrealms/context/game/actor/cardplayer/Farmer.java +++ b/src/main/java/nomadrealms/context/game/actor/cardplayer/Farmer.java @@ -101,4 +101,9 @@ public List appendages() { return asList(HEAD, EYE, EYE, TORSO, ARM, ARM, LEG, LEG); } + @Override + public String name() { + return name; + } + } diff --git a/src/main/java/nomadrealms/context/game/actor/cardplayer/FeralMonkey.java b/src/main/java/nomadrealms/context/game/actor/cardplayer/FeralMonkey.java index 2c3dbc11..00f818bf 100644 --- a/src/main/java/nomadrealms/context/game/actor/cardplayer/FeralMonkey.java +++ b/src/main/java/nomadrealms/context/game/actor/cardplayer/FeralMonkey.java @@ -75,4 +75,9 @@ public List appendages() { return asList(HEAD, EYE, EYE, TORSO, ARM, ARM, LEG, LEG, TAIL); } + @Override + public String name() { + return name; + } + } diff --git a/src/main/java/nomadrealms/context/game/actor/cardplayer/Nomad.java b/src/main/java/nomadrealms/context/game/actor/cardplayer/Nomad.java index 09b7faf9..be8fa4f4 100644 --- a/src/main/java/nomadrealms/context/game/actor/cardplayer/Nomad.java +++ b/src/main/java/nomadrealms/context/game/actor/cardplayer/Nomad.java @@ -76,4 +76,9 @@ public List appendages() { return asList(HEAD, EYE, EYE, TORSO, ARM, ARM, LEG, LEG); } + @Override + public String name() { + return name; + } + } diff --git a/src/main/java/nomadrealms/context/game/actor/structure/Structure.java b/src/main/java/nomadrealms/context/game/actor/structure/Structure.java index 607f6c49..351d2bb2 100644 --- a/src/main/java/nomadrealms/context/game/actor/structure/Structure.java +++ b/src/main/java/nomadrealms/context/game/actor/structure/Structure.java @@ -105,4 +105,9 @@ public void reinitializeAfterLoad(World world) { } } + @Override + public String name() { + return name; + } + } diff --git a/src/main/java/nomadrealms/render/ui/custom/tooltip/TooltipDeterminer.java b/src/main/java/nomadrealms/render/ui/custom/tooltip/TooltipDeterminer.java index 13d9c6c5..d3dfcf8b 100644 --- a/src/main/java/nomadrealms/render/ui/custom/tooltip/TooltipDeterminer.java +++ b/src/main/java/nomadrealms/render/ui/custom/tooltip/TooltipDeterminer.java @@ -3,9 +3,11 @@ import static engine.visuals.constraint.posdim.AbsoluteConstraint.zero; import static nomadrealms.context.game.world.map.generation.status.biome.nomenclature.BiomeCategory.HUMIDITY_CEIL; import static nomadrealms.context.game.world.map.generation.status.biome.nomenclature.BiomeCategory.HUMIDITY_FLOOR; +import static engine.common.colour.Colour.rgb; import static nomadrealms.context.game.world.map.generation.status.biome.nomenclature.BiomeCategory.TEMPERATURE_CEIL; import static nomadrealms.context.game.world.map.generation.status.biome.nomenclature.BiomeCategory.TEMPERATURE_FLOOR; +import nomadrealms.context.game.actor.Actor; import nomadrealms.context.game.actor.HasTooltip; import nomadrealms.context.game.world.map.area.Tile; import nomadrealms.context.game.world.map.area.Zone; @@ -51,6 +53,12 @@ public UIContent visit(Tile tile) { 500, 20, re.font, container.constraintBox().coordinate().add(tileSpotlight.constraintBox().w(), zero()))); sb.append("Tile coordinates: ").append(tile.coord()).append("\n"); + Actor actor = tile.actor(); + if (actor != null) { + container.fill(rgb(255, 100, 100)); + sb.append("Actor: ").append(actor.name()).append("\n"); + sb.append("Health: ").append(actor.health()).append("\n"); + } Zone zone = tile.zone(); BiomeParameters p = zone.biomeGenerationStep().parametersAt(tile.coord());