// Emulator copy of game.h #ifndef GAME_H #define GAME_H #include #include "input_event.h" #include "../display/low_level_render.h" #include "../display/low_level_gui.h" class InputManager; class Game { public: Game(uint16_t width, uint16_t height, LowLevelRenderer* renderer, LowLevelGUI* gui, InputManager* input_manager) : width(width), height(height), renderer(renderer), gui(gui), input_manager(input_manager) {} virtual ~Game() {} virtual void init() = 0; virtual bool update(const InputEvent& event) = 0; virtual void draw() = 0; virtual bool wants_to_exit() const { return false; } // Public members for Lua bindings access uint16_t width; uint16_t height; LowLevelRenderer* renderer; LowLevelGUI* gui; InputManager* input_manager; }; #endif // GAME_H