public static IntPtr luaL_checkudata(IntPtr L, int ud, string tname)
{
IntPtr intPtr = LuaDLL.lua_touserdata(L, ud);
if (intPtr != IntPtr.Zero && LuaDLL.lua_getmetatable(L, ud) != 0)
{
LuaDLL.lua_getfield(L, LuaIndexes.LUA_REGISTRYINDEX, tname);
if (LuaDLL.lua_rawequal(L, -1, -2) != 0)
{
LuaDLL.lua_pop(L, 2);
return(intPtr);
}
}
LuaDLL.luaL_typerror(L, ud, tname, null);
return(IntPtr.Zero);
}