+ MenuEntry(const std::string &text, lua_State *L, int lua_ref)
+ : text(text), is_submenu(false), entry{L, lua_ref} {}
+ MenuEntry(const std::string &text, std::vector<std::unique_ptr<MenuEntry>> submenu)
+ : text(text), is_submenu(true), submenu(std::move(submenu)) {}
+ ~MenuEntry();
+