Exemple #1
0
        public override bool Equals(object o)
        {
            if (o != null && this.GetType() == o.GetType())
            {
#if THREAD_SAFE || HOTFIX_ENABLE
                lock (luaEnv.luaEnvLock)
                {
#endif
                LuaBase rhs = ( LuaBase )o;
                var L       = luaEnv.L;
                if (L != rhs.luaEnv.L)
                {
                    return(false);
                }
                int top = LuaAPI.lua_gettop(L);
                LuaAPI.lua_getref(L, rhs.luaReference);
                LuaAPI.lua_getref(L, luaReference);
                int equal = LuaAPI.lua_rawequal(L, -1, -2);
                LuaAPI.lua_settop(L, top);
                return(equal != 0);

#if THREAD_SAFE || HOTFIX_ENABLE
            }
#endif
            }
            else
            {
                return(false);
            }
        }