LuaInterface.LuaBaseRef.CompareRef C# (CSharp) Method

CompareRef() static private method

static private CompareRef ( LuaBaseRef a, LuaBaseRef b ) : bool
a LuaBaseRef
b LuaBaseRef
return bool
        static bool CompareRef(LuaBaseRef a, LuaBaseRef b)
        {
            if (System.Object.ReferenceEquals(a, b))
            {
                return true;
            }

            object l = a;
            object r = b;

            if (l == null && r != null)
            {
                return r == null || b.reference <= 0;
            }

            if (l != null && r == null)
            {
                return a.reference <= 0;
            }

            if (a.reference != b.reference)
            {
                return false;
            }

            return a.reference > 0;
        }

Usage Example

示例#1
0
 public static bool operator !=(LuaBaseRef a, LuaBaseRef b)
 {
     return(!LuaBaseRef.CompareRef(a, b));
 }