public static void AddOnTriggerExitCallback(this Collider collider, TriggerEventCallback callback)
        {
            if (collider == null || callback == null)
            {
                return;
            }

            var handle = collider.AddOrGetComponent <OnTriggerExitCallbackHandle>();

            handle.TriggerExited += callback;
        }
        public static void AddOnTriggerExitCallback(this Rigidbody rb, TriggerEventCallback callback)
        {
            if (rb == null || callback == null)
            {
                return;
            }

            var handle = rb.AddOrGetComponent <OnTriggerExitCallbackHandle>();

            handle.TriggerExited += callback;
        }
        public static void RemoveOnTriggerEnterCallback(this Collider collider, TriggerEventCallback callback)
        {
            if (collider == null || callback == null)
            {
                return;
            }

            var handle = collider.GetComponent <OnTriggerEnterCallbackHandle>();

            if (handle != null)
            {
                handle.TriggerEntered -= callback;
            }
        }
        public static void RemoveOnTriggerExitCallback(this Rigidbody rb, TriggerEventCallback callback)
        {
            if (rb == null || callback == null)
            {
                return;
            }

            var handle = rb.GetComponent <OnTriggerExitCallbackHandle>();

            if (handle != null)
            {
                handle.TriggerExited -= callback;
            }
        }