Jazz2::UI::Menu::InGameMenu class

In-game menu.

Base classes

class IMenuContainer
Base interface of a menu container.

Public static variables

static std::int32_t DefaultWidth constexpr
static std::int32_t DefaultHeight constexpr

Constructors, destructors, conversion operators

InGameMenu(LevelHandler* root)
~InGameMenu()

Public functions

void OnKeyPressed(const nCine::KeyboardEvent& event)
void OnKeyReleased(const nCine::KeyboardEvent& event)
void OnTouchEvent(const nCine::TouchEvent& event)
void OnInitializeViewport(std::int32_t width, std::int32_t height)
auto SwitchToSectionDirect(std::unique_ptr<MenuSection> section) -> MenuSection* override
Switches to already created section.
void LeaveSection() override
Leaves current section.
auto GetUnderlyingSection() const -> MenuSection* override
Returns the next section after the top one.
void ChangeLevel(LevelInitialization&& levelInit) override
Changes current level.
auto HasResumableState() const -> bool override
Returns true if a saved state can be resumed.
void ResumeSavedState() override
Resumes a saved state.
void ApplyPreferencesChanges(ChangedPreferencesType type) override
Applies preferences changes.
auto ActionPressed(PlayerActions action) -> bool override
Returns true if specified action is pressed.
auto ActionHit(PlayerActions action) -> bool override
Returns true if specified action is hit (newly pressed)
auto GetViewSize() const -> Vector2i override
Returns viewport size of the menu.
auto GetContentBounds() const -> Recti override
Returns content bounds.
void DrawElement(AnimState state, std::int32_t frame, float x, float y, std::uint16_t z, Alignment align, const Colorf& color, float scaleX = 1.0f, float scaleY = 1.0f, bool additiveBlending = false, bool unaligned = false) override
void DrawElement(AnimState state, float x, float y, std::uint16_t z, Alignment align, const Colorf& color, Vector2f size, const Vector4f& texCoords, bool unaligned = false) override
void DrawSolid(float x, float y, std::uint16_t z, Alignment align, Vector2f size, const Colorf& color, bool additiveBlending = false) override
Draws a solid rectangle.
void DrawTexture(const Texture& texture, float x, float y, std::uint16_t z, Alignment align, Vector2f size, const Colorf& color, bool unaligned = false) override
Draws a textured rectangle.
auto MeasureString(const StringView text, float scale = 1.0f, float charSpacing = 1.0f, float lineSpacing = 1.0f) -> Vector2f override
Measures a string.
void DrawStringShadow(const StringView text, std::int32_t& charOffset, float x, float y, std::uint16_t z, Alignment align, const Colorf& color, float scale = 1.0f, float angleOffset = 0.0f, float varianceX = 4.0f, float varianceY = 4.0f, float speed = 0.4f, float charSpacing = 1.0f, float lineSpacing = 1.0f) override
Draws a string with shadow.
void PlaySfx(const StringView identifier, float gain = 1.0f) override
Plays a common sound effect.
void ResumeGame()
void GoToMainMenu()

Function documentation

void Jazz2::UI::Menu::InGameMenu::DrawElement(AnimState state, float x, float y, std::uint16_t z, Alignment align, const Colorf& color, Vector2f size, const Vector4f& texCoords, bool unaligned = false) override

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.