GetTable() public static method

public static GetTable ( IntPtr L, int reference ) : LuaTable
L System.IntPtr
reference int
return LuaTable
示例#1
0
        /// <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));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }
示例#4
0
        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);
            }
        }