feat(scene): add credits scene and UI

This commit is contained in:
2026-07-14 16:28:26 +08:00
parent 279f6162b8
commit e911413d84
10 changed files with 174 additions and 6 deletions

View File

@@ -0,0 +1,20 @@
#pragma once
#include "Cubed/scene/scene.hpp"
#include "Cubed/ui/credits_ui.hpp"
namespace Cubed {
class SceneManager;
class CreditsScene : public Scene {
public:
CreditsScene(SceneManager& scene_manager);
void update(float dt) override;
void render(Renderer& renderer) override;
bool handle_event(const Event& e) override;
void on_enter() override;
SceneManager& scene_manager();
private:
SceneManager& m_scene_manager;
CreditsUI m_ui;
};
} // namespace Cubed

View File

@@ -3,7 +3,7 @@
namespace Cubed {
class Renderer;
enum class SceneType { MAIN_MENU, WORLD };
enum class SceneType { MAIN_MENU, WORLD, CREDITS };
class Scene {
public:

View File

@@ -15,7 +15,7 @@ public:
float width() const override;
float height() const override;
void set_spacing(int spacing);
ColumnLayout& set_spacing(int spacing);
// No need for parent node pointer; do not modify children's anchors and
// scale.

View File

@@ -0,0 +1,16 @@
#pragma once
#include "Cubed/ui/ui_manager.hpp"
namespace Cubed {
class CreditsScene;
class CreditsUI : public UIManager {
public:
CreditsUI(CreditsScene& m_scene);
void init() override;
private:
CreditsScene& m_scene;
};
} // namespace Cubed