LuaInterface.LuaDLL.lua_isthread C# (CSharp) Method

lua_isthread() public static method

public static lua_isthread ( IntPtr luaState, int stackPos ) : bool
luaState System.IntPtr
stackPos int
return bool
        public static bool lua_isthread(IntPtr luaState, int stackPos)
        {
            return lua_type(luaState, stackPos) == LuaTypes.LUA_TTHREAD;
        }

Usage Example

示例#1
0
        public static int traceback(IntPtr L)
        {
            int    arg;
            IntPtr L1;

            if (LuaDLL.lua_isthread(L, 1))
            {
                arg = 1;
                L1  = LuaDLL.lua_tothread(L, 1);
            }
            else
            {
                arg = 0;
                L1  = L;
            }

            string msg = LuaDLL.lua_tostring(L, arg + 1);

            if (string.IsNullOrEmpty(msg))
            {
                LuaDLL.lua_pushvalue(L, arg + 1);
            }
            else
            {
                int level = (int)LuaDLL.luaL_optinteger(L, arg + 2, (L == L1) ? 1 : 0);
                LuaDLL.lua_getref(L, 3);
                LuaDLL.lua_pushthread(L1);
                LuaDLL.lua_pushvalue(L, arg + 1);
                LuaDLL.lua_pushnumber(L, level + 1);
                LuaDLL.lua_call(L, 3, 1);
            }

            return(1);
        }
All Usage Examples Of LuaInterface.LuaDLL::lua_isthread
LuaDLL