protected virtual void OnDisable() { eventDispatcher.RemoveListener <DragCompletedEvent>(OnDragCompletedEvent); eventDispatcher.RemoveListener <DragEntered.DragEnteredEvent>(OnDragEnteredEvent); eventDispatcher.RemoveListener <DragExited.DragExitedEvent>(OnDragExitedEvent); if (draggableObject != null) { draggableObject.UnregisterHandler(this); } eventDispatcher = null; }