mirror of
https://github.com/edubart/otclient.git
synced 2025-10-19 05:53:26 +02:00
a lot of changes in modules
This commit is contained in:
@@ -132,6 +132,9 @@ bool luavalue_cast(int index, std::vector<T>& vec);
|
||||
template<class T>
|
||||
void push_luavalue(const std::deque<T>& vec);
|
||||
|
||||
template<typename T>
|
||||
bool luavalue_cast(int index, std::deque<T>& vec);
|
||||
|
||||
// tuple
|
||||
template<typename... Args>
|
||||
void push_luavalue(const std::tuple<Args...>& tuple);
|
||||
@@ -279,6 +282,22 @@ void push_luavalue(const std::deque<T>& vec) {
|
||||
}
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
bool luavalue_cast(int index, std::deque<T>& vec)
|
||||
{
|
||||
if(g_lua.isTable(index)) {
|
||||
g_lua.pushNil();
|
||||
while(g_lua.next(index < 0 ? index-1 : index)) {
|
||||
T value;
|
||||
if(luavalue_cast(-1, value))
|
||||
vec.push_back(value);
|
||||
g_lua.pop();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
template<int N>
|
||||
struct push_tuple_luavalue {
|
||||
template<typename Tuple>
|
||||
|
Reference in New Issue
Block a user