#pragma once #include "script/gui_types.hpp" #include "script/lua_helpers.hpp" #include #include namespace sdl3cpp::script { class GuiManager { public: explicit GuiManager(lua_State* L); std::vector LoadGuiCommands(); void UpdateGuiInput(const GuiInputSnapshot& input); bool HasGuiCommands() const; private: lua_State* L_; int guiInputRef_ = LUA_REFNIL; int guiCommandsFnRef_ = LUA_REFNIL; GuiCommand::RectData ReadRect(int index); GuiColor ReadColor(int index, const GuiColor& defaultColor); bool ReadStringField(int index, const char* name, std::string& outString); std::string GetLuaError(); }; } // namespace sdl3cpp::script