feat: add Pocket Dungeon game prototype
Main / Build (BookPlayer) (push) Has been cancelled
Main / Build (Brainfuck) (push) Has been cancelled
Main / Build (Breakout) (push) Has been cancelled
Main / Build (Calculator) (push) Has been cancelled
Main / Build (Diceware) (push) Has been cancelled
Main / Build (EpubReader) (push) Has been cancelled
Main / Build (GPIO) (push) Has been cancelled
Main / Build (GraphicsDemo) (push) Has been cancelled
Main / Build (HelloWorld) (push) Has been cancelled
Main / Build (M5UnitTest) (push) Has been cancelled
Main / Build (Magic8Ball) (push) Has been cancelled
Main / Build (MediaKeys) (push) Has been cancelled
Main / Build (MystifyDemo) (push) Has been cancelled
Main / Build (SerialConsole) (push) Has been cancelled
Main / Build (Snake) (push) Has been cancelled
Main / Build (TamaTac) (push) Has been cancelled
Main / Build (TodoList) (push) Has been cancelled
Main / Build (TwoEleven) (push) Has been cancelled
Main / Bundle (push) Has been cancelled

This commit is contained in:
aeroreyna
2026-07-16 22:31:55 -04:00
parent 214287193e
commit d976595879
23 changed files with 862 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
#pragma once
#include <lvgl.h>
#include <cstdint>
namespace GameKit {
struct Tick {
uint32_t dtMs = 0;
uint32_t nowMs = 0;
};
enum class InputKind : uint8_t {
Up,
Down,
Left,
Right,
Confirm,
Cancel,
Menu,
Touch,
Swipe,
Unknown,
};
struct InputEvent {
InputKind kind = InputKind::Unknown;
lv_point_t point {0, 0};
};
class Scene {
public:
virtual ~Scene() = default;
virtual void onEnter(lv_obj_t* root) = 0;
virtual void onExit() = 0;
virtual void onInput(const InputEvent& input) = 0;
virtual void onTick(const Tick& tick) = 0;
virtual void render() = 0;
};
} // namespace GameKit