예제 #1
0
        public override bool Equals(object obj)
        {
            bool flag = obj == null;
            bool result;

            if (flag)
            {
                result = !this.isValid;
            }
            else
            {
                bool flag2 = obj is EventDelegate.Callback;
                if (flag2)
                {
                    EventDelegate.Callback callback = obj as EventDelegate.Callback;
                    bool flag3 = callback.Equals(this.mCachedCallback);
                    if (flag3)
                    {
                        result = true;
                    }
                    else
                    {
                        UnityEngine.Object y = callback.Target as UnityEngine.Object;
                        result = (this.mTarget == y && string.Equals(this.mMethodName, EventDelegate.GetMethodName(callback)));
                    }
                }
                else
                {
                    bool flag4 = obj is Delegate;
                    if (flag4)
                    {
                        Delegate @delegate = obj as Delegate;
                        bool     flag5     = @delegate.Equals(this.mCachedCallback);
                        if (flag5)
                        {
                            result = true;
                        }
                        else
                        {
                            UnityEngine.Object y2 = @delegate.Target as UnityEngine.Object;
                            result = (this.mTarget == y2 && string.Equals(this.mMethodName, EventDelegate.GetMethodName(@delegate)));
                        }
                    }
                    else
                    {
                        bool flag6 = obj is EventDelegate;
                        if (flag6)
                        {
                            EventDelegate eventDelegate = obj as EventDelegate;
                            result = (this.mTarget == eventDelegate.mTarget && string.Equals(this.mMethodName, eventDelegate.mMethodName));
                        }
                        else
                        {
                            result = false;
                        }
                    }
                }
            }
            return(result);
        }
예제 #2
0
 public override bool Equals(object obj)
 {
     if (obj == null)
     {
         return(!this.isValid);
     }
     if (obj is EventDelegate.Callback)
     {
         EventDelegate.Callback callback = obj as EventDelegate.Callback;
         if (callback.Equals(this.mCachedCallback))
         {
             return(true);
         }
         MonoBehaviour y = callback.Target as MonoBehaviour;
         return(this.mTarget == y && string.Equals(this.mMethodName, EventDelegate.GetMethodName(callback)));
     }
     else
     {
         if (obj is EventDelegate)
         {
             EventDelegate eventDelegate = obj as EventDelegate;
             return(this.mTarget == eventDelegate.mTarget && string.Equals(this.mMethodName, eventDelegate.mMethodName));
         }
         return(false);
     }
 }
예제 #3
0
    public override bool Equals(object obj)
    {
        bool result;

        if (obj == null)
        {
            result = false;
        }
        else if (obj is EventDelegate.Callback)
        {
            EventDelegate.Callback callback = obj as EventDelegate.Callback;
            result = callback.Equals(this.mCachedCallback);
        }
        else
        {
            if (obj is EventDelegate)
            {
                EventDelegate eventDelegate = obj as EventDelegate;
                if (eventDelegate.mCachedCallback != null)
                {
                    result = eventDelegate.mCachedCallback.Equals(this.mCachedCallback);
                    return(result);
                }
            }
            result = false;
        }
        return(result);
    }