단일이든 다중이든 테이블을 훑어서 모든 요소들을 임의의 컨테이너에(이 코드는 게임브리오 내의 컨테이너) 몰아넣는 함수 입니다.
readStringTableToNiArray 만 노출시켜서 사용.
NiTObjectArray<NiFixedString> &kOut)
{
lua_pushstring(L, s);
lua_gettable(L, LUA_GLOBALSINDEX);
recursiveReadMultipleStringTable(L, kOut);
}
void recursiveReadMultipleStringTable(lua_State *L,
NiTObjectArray<NiFixedString> &kOut)
{
lua_pushnil(L);
while(lua_next(L, -2))
{
if (lua_istable(L, -1))
{
recursiveReadMultipleStringTable(L, kOut);
}
else
{
kOut.Add(lua_tostring(L, -1));
}
lua_pop(L, 1);
}
}