#pragma once #include "DungeonModel.h" #include "DungeonRenderer.h" #include #include #include #include namespace PocketDungeon { class PocketDungeon final : public App, public GameKit::Scene { lv_obj_t* root = nullptr; GameKit::Loop loop; GameKit::Prefs prefs {"PocketDungeon"}; DungeonModel model; DungeonRenderer renderer; SfxEngine* sfx = nullptr; MoveResult lastResult = MoveResult::None; void playResultSound(MoveResult result); void saveBests(); public: void onShow(AppHandle app, lv_obj_t* parent) override; void onHide(AppHandle app) override; void onEnter(lv_obj_t* root) override; void onExit() override; void onInput(const GameKit::InputEvent& input) override; void onTick(const GameKit::Tick& tick) override; void render() override; }; } // namespace PocketDungeon