Jazz2::UI::Menu::MainMenu class

Main menu.

Base classes

class Jazz2::IStateHandler
Base interface of a state handler, only one handler runs at a time.
class IMenuContainer
Base interface of a menu container.

Public static variables

static int32_t DefaultWidth constexpr
Default width of viewport.
static int32_t DefaultHeight constexpr
Default height of viewport.

Constructors, destructors, conversion operators

MainMenu(IRootController* root, bool afterIntro)
~MainMenu() override

Public functions

void Reset()
Recreates the menu to the default state.
auto GetViewSize() const -> Vector2i override
Returns viewport size of the handler.
void OnBeginFrame() override
Called at the beginning of each frame.
void OnInitializeViewport(std::int32_t width, std::int32_t height) override
Called when the viewport needs to be initialized (e.g., when the resolution is changed)
void OnKeyPressed(const KeyboardEvent& event) override
Called when a key is pressed.
void OnKeyReleased(const KeyboardEvent& event) override
Called when a key is released.
void OnTextInput(const TextInputEvent& event) override
Called when a text input is detected.
void OnTouchEvent(const nCine::TouchEvent& event) override
Called when a touch event is triggered.
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 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, 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
void PlaySfx(const StringView identifier, float gain = 1.0f) override
Plays a common sound effect.

Function documentation

void Jazz2::UI::Menu::MainMenu::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.