15#include <glm/mat4x4.hpp>
17#include <unordered_map>
63 std::unordered_map<std::string, EnemyState>
enemies_;
Accumulates HUD geometry during a frame for batch rendering.
Definition HudContext.hpp:18
Fixed-size tween pool. No heap allocations.
Definition HudTween.hpp:35
Definition EnemyWorldHealthBar.hpp:35
float worldX
Definition EnemyWorldHealthBar.hpp:36
int maxHp
Definition EnemyWorldHealthBar.hpp:38
float trailHp
Definition EnemyWorldHealthBar.hpp:42
float worldZ
Definition EnemyWorldHealthBar.hpp:36
int displayHp
Definition EnemyWorldHealthBar.hpp:40
int maxSh
Definition EnemyWorldHealthBar.hpp:39
int sh
Definition EnemyWorldHealthBar.hpp:39
bool initialized
Distinguishes "first time we've seen this enemy" from "took damage".
Definition EnemyWorldHealthBar.hpp:55
bool alive
Definition EnemyWorldHealthBar.hpp:48
float liveHp
Definition EnemyWorldHealthBar.hpp:46
float trailShHold
Definition EnemyWorldHealthBar.hpp:45
float trailSh
Definition EnemyWorldHealthBar.hpp:43
int hp
Definition EnemyWorldHealthBar.hpp:38
std::string name
Definition EnemyWorldHealthBar.hpp:37
int displaySh
Definition EnemyWorldHealthBar.hpp:41
float trailHpHold
Definition EnemyWorldHealthBar.hpp:44
float worldY
Definition EnemyWorldHealthBar.hpp:36
float showTimer
Seconds remaining to display this enemy's bar before it fades to transparent.
Definition EnemyWorldHealthBar.hpp:54
float liveSh
Definition EnemyWorldHealthBar.hpp:47
float showAfterDamageSecs
Window after the most recent hit during which the bar stays visible.
Definition EnemyWorldHealthBar.hpp:26
float screenW_
Definition EnemyWorldHealthBar.hpp:59
void update(float dt, const HudGameState &state, HudTweenPool &tweens) override
Called each frame before draw(). Update animation, consume events.
Definition EnemyWorldHealthBar.cpp:19
float barWidth
Shorter than v1 — design feedback wanted compact bars.
Definition EnemyWorldHealthBar.hpp:21
std::unordered_map< std::string, EnemyState > enemies_
Per-enemy state keyed by name (stable across frames).
Definition EnemyWorldHealthBar.hpp:63
void draw(HudContext &ctx, float drawX, float drawY) override
Emit geometry into the draw context.
Definition EnemyWorldHealthBar.cpp:101
glm::mat4 viewProj_
Definition EnemyWorldHealthBar.hpp:58
float fadeOutSecs
Final fade-out length appended to the visibility window.
Definition EnemyWorldHealthBar.hpp:27
float shieldHeight
Definition EnemyWorldHealthBar.hpp:22
float fontSize
Definition EnemyWorldHealthBar.hpp:24
float yOffsetPx
Pixels above the projected world point.
Definition EnemyWorldHealthBar.hpp:25
float healthHeight
Definition EnemyWorldHealthBar.hpp:23
EnemyWorldHealthBar()
Definition EnemyWorldHealthBar.cpp:13
float screenH_
Definition EnemyWorldHealthBar.hpp:59
Snapshot of game state consumed by the HUD each frame.
Definition HudTypes.hpp:192