local DataTableUtils = {} local BusyGamePlayLibrary = import("BusyGamePlayLibrary") function DataTableUtils.GetDataTable(table_name) return BusyGamePlayLibrary.GetGameDataTable(table_name) end function DataTableUtils.GetDataTableRow(table_name, row_name) local data_table = DataTableUtils.GetDataTable(table_name) if not data_table then return nil end return data_table:FindRow(row_name) end --[[ LuaExtensionMethod.cpp:22-28 // 封装函数示例 static int FindRowWrapper(lua_State* L) { UDataTable* dataTable = LuaObject::checkUD(L, 1); FName rowName = LuaObject::checkValue(L, 2); UScriptStruct* rowStruct = LuaObject::checkUD(L, 3); // 使用反射调用 FindRow uint8* rowData = dataTable->FindRowUnchecked(rowName); if (rowData && rowStruct) { // 将结果推送到 Lua return LuaObject::pushStruct(L, rowStruct, rowData); } return LuaObject::pushNil(L); } 这段代码中,pushStruct只接受两个参数,如何改 ]] return DataTableUtils