From b677fddf03c36f2f2ca6534aaeff07e3a803deb0 Mon Sep 17 00:00:00 2001 From: Aang23 Date: Sat, 31 Dec 2022 00:25:17 +0100 Subject: [PATCH] If possible, map to lua with an index --- src-core/common/lua/lua_utils.cpp | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src-core/common/lua/lua_utils.cpp b/src-core/common/lua/lua_utils.cpp index e4b4019c3..f59ecac1a 100644 --- a/src-core/common/lua/lua_utils.cpp +++ b/src-core/common/lua/lua_utils.cpp @@ -9,14 +9,29 @@ namespace lua_utils { try { - if (el.value().is_number_integer()) - l[el.key()] = el.value().get(); - else if (el.value().is_number()) - l[el.key()] = el.value().get(); - else if (el.value().is_string()) - l[el.key()] = el.value().get(); - else - l[el.key()] = mapJsonToLua(lua, el.value()); + try + { + int index = std::stoi(el.key()); + if (el.value().is_number_integer()) + l[index] = el.value().get(); + else if (el.value().is_number()) + l[index] = el.value().get(); + else if (el.value().is_string()) + l[index] = el.value().get(); + else + l[index] = mapJsonToLua(lua, el.value()); + } + catch (std::exception &e) + { + if (el.value().is_number_integer()) + l[el.key()] = el.value().get(); + else if (el.value().is_number()) + l[el.key()] = el.value().get(); + else if (el.value().is_string()) + l[el.key()] = el.value().get(); + else + l[el.key()] = mapJsonToLua(lua, el.value()); + } } catch (std::exception &e) {