group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
DamageNumberWidget.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
6#include "hud/HudWidget.hpp"
7
8#include <array>
9#include <cstddef>
10#include <glm/mat4x4.hpp>
11
19{
21 void update(float dt, const HudGameState& state, HudTweenPool& tweens) override;
22 void draw(HudContext& ctx, float drawX, float drawY) override;
23
24private:
25 struct Entry
26 {
28 float driftY = 0.f;
29 int damage = 0;
31 float life = 0.f;
32 float maxLife = 0.f;
33 };
34
35 static constexpr size_t k_maxEntries = 32;
36 std::array<Entry, k_maxEntries> entries_{};
37 size_t count_ = 0;
38
39 glm::mat4 viewProj_{1.f};
40 float screenW_ = 1280.f;
41 float screenH_ = 720.f;
42};
Base struct for all HUD widgets.
Accumulates HUD geometry during a frame for batch rendering.
Definition HudContext.hpp:19
Fixed-size tween pool. No heap allocations.
Definition HudTween.hpp:35
Definition DamageNumberWidget.hpp:26
float worldX
Definition DamageNumberWidget.hpp:27
float life
Remaining lifetime.
Definition DamageNumberWidget.hpp:31
float driftY
Accumulated upward drift.
Definition DamageNumberWidget.hpp:28
float worldY
Definition DamageNumberWidget.hpp:27
float worldZ
Original hit position.
Definition DamageNumberWidget.hpp:27
HudColor color
Definition DamageNumberWidget.hpp:30
int damage
Definition DamageNumberWidget.hpp:29
float maxLife
Initial lifetime (for alpha calc).
Definition DamageNumberWidget.hpp:32
void draw(HudContext &ctx, float drawX, float drawY) override
Emit geometry into the draw context.
Definition DamageNumberWidget.cpp:55
float screenH_
Definition DamageNumberWidget.hpp:41
void update(float dt, const HudGameState &state, HudTweenPool &tweens) override
Called each frame before draw(). Update animation, consume events.
Definition DamageNumberWidget.cpp:15
std::array< Entry, k_maxEntries > entries_
Definition DamageNumberWidget.hpp:36
float screenW_
Definition DamageNumberWidget.hpp:40
size_t count_
Definition DamageNumberWidget.hpp:37
static constexpr size_t k_maxEntries
Definition DamageNumberWidget.hpp:35
DamageNumberWidget()
Definition DamageNumberWidget.cpp:9
glm::mat4 viewProj_
Definition DamageNumberWidget.hpp:39
RGBA color for HUD elements (linear space, straight alpha).
Definition HudTypes.hpp:24
Snapshot of game state consumed by the HUD each frame.
Definition HudTypes.hpp:367
Base class for a retained HUD element.
Definition HudWidget.hpp:16