/// <summary> /// TODO 未完成 /// </summary> /// <param name="l"></param> /// <param name="stackPos"></param> /// <returns></returns> public static object ToVarTable(IntPtr L, int stackPos) { LuaDLL.lua_pushvalue(L, stackPos); int reference = LuaDLL.toluaL_ref(L); return(LuaStatic.GetTable(L, reference)); }
public static object ToVarTable(IntPtr L, int stackPos) { stackPos = LuaDLL.abs_index(L, stackPos); switch (LuaDLL.tolua_getvaluetype(L, stackPos)) { case LuaValueType.Vector3: return(ToLua.ToVector3(L, stackPos)); case LuaValueType.Quaternion: return(ToLua.ToQuaternion(L, stackPos)); case LuaValueType.Vector2: return(ToLua.ToVector2(L, stackPos)); case LuaValueType.Color: return(ToLua.ToColor(L, stackPos)); case LuaValueType.Vector4: return(ToLua.ToVector4(L, stackPos)); case LuaValueType.Ray: return(ToLua.ToRay(L, stackPos)); case LuaValueType.Bounds: return(ToLua.ToBounds(L, stackPos)); case LuaValueType.LayerMask: return(ToLua.ToLayerMask(L, stackPos)); } LuaDLL.lua_pushvalue(L, stackPos); int reference = LuaDLL.toluaL_ref(L); return(LuaStatic.GetTable(L, reference)); }
public static LuaTable ToLuaTable(IntPtr L, int stackPos) { stackPos = LuaDLL.abs_index(L, stackPos); LuaDLL.lua_pushvalue(L, stackPos); int reference = LuaDLL.toluaL_ref(L); return(LuaStatic.GetTable(L, reference)); }
internal static LuaTable CheckLuaTable(IntPtr L, int stackPos) { LuaTypes luaType = LuaDLL.lua_type(L, stackPos); switch (luaType) { case LuaTypes.LUA_TNIL: return(null); case LuaTypes.LUA_TTABLE: LuaDLL.lua_pushvalue(L, stackPos); int reference = LuaDLL.toluaL_ref(L); return(LuaStatic.GetTable(L, reference)); default: // TODO 未完成 // LuaDLL.luaL_typerror(L, stackPos, "table"); return(null); } }