Files
tactility_apps/Libraries/GameKit/Include/GameKitScene.h
T
aeroreyna d976595879
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
feat: add Pocket Dungeon game prototype
2026-07-16 22:31:55 -04:00

42 lines
669 B
C++

#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