HighscoresSection class
#include <Jazz2/UI/Menu/HighscoresSection.h>
Highscores menu section.
Displays the saved highscore tables per series and lets the player enter a name when a completed run qualifies for a new entry.
Base classes
-
template<class TItem>class ScrollableMenuSection<HighscoreItem*>
- Simplifies creation of unified scrollable menu sections.
Public static functions
-
static auto TryGetSeriesIndex(StringView episodeName,
bool playerDied) -> std::
int32_t - Returns the highscore series index for the specified episode, or
-1if it has none.
Constructors, destructors, conversion operators
- HighscoresSection()
- Creates a new instance.
-
HighscoresSection(std::
int32_t seriesIndex, GameDifficulty difficulty, bool isReforged, bool cheatsUsed, std:: uint64_t elapsedMilliseconds, const PlayerCarryOver& itemToAdd) - Creates a new instance and adds a new highscore from a completed run.
Public functions
- void OnUpdate(float timeMult) override
- Called when the section should be updated.
- void OnDraw(Canvas* canvas) override
- Called when the section should be drawn — the bottom background layer.
- void OnDrawOverlay(Canvas* canvas) override
- Called when the section should be drawn — the top overlay layer.
-
void OnKeyPressed(const nCine::
KeyboardEvent& event) override - Called when a key is pressed.
-
void OnTextInput(const nCine::
TextInputEvent& event) override - Called when a text input is detected.
- auto GetNavigationFlags() const -> NavigationFlags override
- Allows to override navigation behavior.
Protected functions
- void OnLayoutItem(Canvas* canvas, ListViewItem& item) override
- Called when an item layout should be calculated.
-
void OnDrawItem(Canvas* canvas,
ListViewItem& item,
std::
int32_t& charOffset, bool isSelected) override - Called when an item should be drawn.
- void OnHandleInput() override
- Called when input should be handled.
-
void OnTouchEvent(const nCine::
TouchEvent& event, Vector2i viewSize) override - Called when a touch event is triggered.
-
void OnTouchUp(std::
int32_t newIndex, Vector2i viewSize, Vector2i touchPos) override - Called when a touch event is released.
- void OnExecuteSelected() override
- Called when the selected item should be executed.
- void OnBackPressed() override
- Called when back button is pressed.
Function documentation
Jazz2:: UI:: Menu:: HighscoresSection:: HighscoresSection(std:: int32_t seriesIndex,
GameDifficulty difficulty,
bool isReforged,
bool cheatsUsed,
std:: uint64_t elapsedMilliseconds,
const PlayerCarryOver& itemToAdd)
Creates a new instance and adds a new highscore from a completed run.
| Parameters | |
|---|---|
| seriesIndex | Index of the highscore series the new item belongs to |
| difficulty | Difficulty the run was played on |
| isReforged | Whether the run used the Reforged ruleset |
| cheatsUsed | Whether any cheats were used during the run |
| elapsedMilliseconds | Total time spent playing the run |
| itemToAdd | Player state carried over from the completed run |