group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
MiniScoreboardWidget.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 <vector>
10
12{
13 struct RowTuning
14 {
15 float offsetX = 42.f;
16 float offsetY = 48.f;
17 };
18
19 float backgroundWidth = 226.f;
20 float backgroundHeight = 70.f;
21 float backgroundScale = 2.3f;
22 float backgroundOffsetX = 0.f;
23 float backgroundOffsetY = -39.f;
24 float backgroundStretchX = 0.43f;
25 float backgroundStretchY = 0.95f;
27 float rowsRotationDeg = -12.5f;
28 bool showRowBorders = false;
29 float rowFontSize = 30.f;
30 float scoreFontSize = 30.f;
31 float colorCubeSize = 22.5f;
32 float rowBorderPadding = 5.5f;
33 float cubeTextGap = 36.f;
34 float nameScoreGap = 38.f;
35 std::array<RowTuning, 2> rows{{RowTuning{23.f, 38.5f}, RowTuning{23.5f, 85.5f}}};
36
38 void update(float dt, const HudGameState& state, HudTweenPool& tweens) override;
39 void draw(HudContext& ctx, float anchorX, float anchorY) override;
40
41private:
43 {
45 bool valid = false;
46 };
47
48 std::vector<HudTeamMemberStatus> players_;
49 std::array<DisplayRow, 2> displayRows_{};
50};
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
Snapshot of game state consumed by the HUD each frame.
Definition HudTypes.hpp:367
Per-teammate status (for scoreboard / team bar).
Definition HudTypes.hpp:190
Base class for a retained HUD element.
Definition HudWidget.hpp:16
Definition MiniScoreboardWidget.hpp:43
HudTeamMemberStatus player
Definition MiniScoreboardWidget.hpp:44
bool valid
Definition MiniScoreboardWidget.hpp:45
Definition MiniScoreboardWidget.hpp:14
float offsetX
Definition MiniScoreboardWidget.hpp:15
float offsetY
Definition MiniScoreboardWidget.hpp:16
float backgroundWidth
Definition MiniScoreboardWidget.hpp:19
std::array< DisplayRow, 2 > displayRows_
Definition MiniScoreboardWidget.hpp:49
float colorCubeSize
Definition MiniScoreboardWidget.hpp:31
float backgroundHeight
Definition MiniScoreboardWidget.hpp:20
float cubeTextGap
Definition MiniScoreboardWidget.hpp:33
float scoreFontSize
Definition MiniScoreboardWidget.hpp:30
float backgroundOffsetY
Definition MiniScoreboardWidget.hpp:23
float backgroundOffsetX
Definition MiniScoreboardWidget.hpp:22
bool showRowBorders
Definition MiniScoreboardWidget.hpp:28
float backgroundStretchY
Definition MiniScoreboardWidget.hpp:25
float backgroundRotationDeg
Definition MiniScoreboardWidget.hpp:26
std::array< RowTuning, 2 > rows
Definition MiniScoreboardWidget.hpp:35
float backgroundScale
Definition MiniScoreboardWidget.hpp:21
float nameScoreGap
Definition MiniScoreboardWidget.hpp:34
float rowFontSize
Definition MiniScoreboardWidget.hpp:29
float backgroundStretchX
Definition MiniScoreboardWidget.hpp:24
float rowsRotationDeg
Definition MiniScoreboardWidget.hpp:27
void update(float dt, const HudGameState &state, HudTweenPool &tweens) override
Called each frame before draw(). Update animation, consume events.
Definition MiniScoreboardWidget.cpp:37
std::vector< HudTeamMemberStatus > players_
Definition MiniScoreboardWidget.hpp:48
float rowBorderPadding
Definition MiniScoreboardWidget.hpp:32
MiniScoreboardWidget()
Definition MiniScoreboardWidget.cpp:28
void draw(HudContext &ctx, float anchorX, float anchorY) override
Emit geometry into the draw context.
Definition MiniScoreboardWidget.cpp:78