ui: add main menu scene and interactive button widget

- Implement MainMenuScene with a "Start Game" button that pushes the WorldScene.
- Extend Button class with background/foreground, hover detection, and size queries.
- Add virtual width/height and event handlers to Widget base class.
- Update WorldUIManager to propagate mouse move events.
- Adjust Window mouse mode based on game running state.
This commit is contained in:
2026-07-13 10:38:30 +08:00
parent 8bbed7b7b9
commit 01c9f61d1c
20 changed files with 453 additions and 18 deletions

View File

@@ -4,7 +4,7 @@
#include "Cubed/tools/font.hpp"
namespace Cubed {
Label::Label(const std::string& id) : Widget(id) {}
Label::Label() {}
Label& Label::set_text(std::string_view text) {
m_text.text = text;
m_dirty = true;