public virtual void Dispose(bool bIsDisposing)
        {
            if (this.mIsDisposed)
            {
                return;
            }

            if (bIsDisposing && this.mUnityEventBinder != null)
            {
                this.mUnityEventBinder.Dispose();
                this.mUnityEventBinder = null;
            }
            this.mIsDisposed = true;
        }
        public UnityEventWatcher(Component rComp, string rEventName, Action <EventArg> rAction)
        {
            var rBindableEvent = DataBindingTypeResolve.GetBoundEvent(rEventName, rComp);

            this.mUnityEventBinder = UnityEventBinderFactory.Create(rBindableEvent?.UnityEvent, rAction);
        }