private void OnEnable()
        {
            scrollSnap = (OmniDirectionalScrollSnap)target;

            content               = serializedObject.FindProperty("m_Content");
            movementType          = serializedObject.FindProperty("m_MovementType");
            simulateFlings        = serializedObject.FindProperty("m_SimulateFlings");
            friction              = serializedObject.FindProperty("m_Friction");
            interpolator          = serializedObject.FindProperty("m_InterpolatorType");
            tension               = serializedObject.FindProperty("m_Tension");
            scrollSensitivity     = serializedObject.FindProperty("m_ScrollSensitivity");
            scrollWheelDirection  = serializedObject.FindProperty("m_ScrollWheelDirection");
            scrollDelay           = serializedObject.FindProperty("m_ScrollDelay");
            minDuration           = serializedObject.FindProperty("m_MinDuration");
            maxDuration           = serializedObject.FindProperty("m_MaxDuration");
            addToCalculateFilter  = serializedObject.FindProperty("m_AddInactiveChildrenToCalculatingFilter");
            calculateFilterMode   = serializedObject.FindProperty("m_FilterModeForCalculatingSize");
            calculateFilter       = serializedObject.FindProperty("m_CalculatingFilter");
            addToSnapFilter       = serializedObject.FindProperty("m_AddInactiveChildrenToSnapPositionsFilter");
            snapFilterMode        = serializedObject.FindProperty("m_FilterModeForSnapPositions");
            snapFilter            = serializedObject.FindProperty("m_SnapPositionsFilter");
            viewPort              = serializedObject.FindProperty("m_Viewport");
            horizontalScrollBar   = serializedObject.FindProperty("m_HorizontalScrollbar");
            verticalScrollBar     = serializedObject.FindProperty("m_VerticalScrollbar");
            onValueChanged        = serializedObject.FindProperty("m_OnValueChanged");
            startMovement         = serializedObject.FindProperty("m_StartMovementEvent");
            closestSnapChanged    = serializedObject.FindProperty("m_ClosestSnapPositionChanged");
            snappedToItem         = serializedObject.FindProperty("m_SnappedToItem");
            targetItemSelected    = serializedObject.FindProperty("m_TargetItemSelected");
            drawGizmos            = serializedObject.FindProperty("m_DrawGizmos");
            scrollFriction        = serializedObject.FindProperty("m_ScrollFriction");
            scrollInterpolator    = serializedObject.FindProperty("m_ScrollInterpolator");
            scrollBarFriction     = serializedObject.FindProperty("m_ScrollBarFriction");
            scrollBarInterpolator = serializedObject.FindProperty("m_ScrollBarInterpolator");
            scrollBarTension      = serializedObject.FindProperty("m_ScrollBarTension");
            scrollTension         = serializedObject.FindProperty("m_ScrollTension");
            allowTouch            = serializedObject.FindProperty("m_AllowTouchInput");
            startItem             = serializedObject.FindProperty("m_StartItem");

            showFriction = new AnimBool(simulateFlings.boolValue);
            showFriction.valueChanged.AddListener(Repaint);
            showTension = new AnimBool(interpolator.enumValueIndex == (int)OmniDirectionalScrollSnap.InterpolatorType.Anticipate || interpolator.enumValueIndex == (int)OmniDirectionalScrollSnap.InterpolatorType.AnticipateOvershoot || interpolator.enumValueIndex == (int)OmniDirectionalScrollSnap.InterpolatorType.Overshoot);
            showTension.valueChanged.AddListener(Repaint);
            showScrollBarTension = new AnimBool(ShowTension(scrollBarInterpolator.enumValueIndex));
            showScrollBarTension.valueChanged.AddListener(Repaint);
            showScrollTension = new AnimBool(ShowTension(scrollInterpolator.enumValueIndex));
            showScrollTension.valueChanged.AddListener(Repaint);
            showScrollInfo = new AnimBool(scrollSensitivity.floatValue > 0);
            showScrollInfo.valueChanged.AddListener(Repaint);
            showCalculateError = new AnimBool(calculateFilterMode.enumValueIndex == (int)OmniDirectionalScrollSnap.FilterMode.WhiteList && calculateFilter.arraySize == 0);
            showCalculateError.valueChanged.AddListener(Repaint);
            showSnapError = new AnimBool(snapFilterMode.enumValueIndex == (int)OmniDirectionalScrollSnap.FilterMode.WhiteList && snapFilter.arraySize == 0);
            showSnapError.valueChanged.AddListener(Repaint);
            showDrawGizmos = new AnimBool(scrollSnap.content != null);
            showDrawGizmos.valueChanged.AddListener(Repaint);

            CheckMatching();
        }