Example #1
0
        /// <inheritdoc />
        protected override void OnControlClicked(Event inputEvent)
        {
            mouseDownOverSubPart = mouseoveredSubPart;
            HandleOnClickSelection(inputEvent, ReasonSelectionChanged.ControlClicked);

            if (mouseoveredSubPart == SliderSubPart.Slider)
            {
                sliderFocused = true;
                return;
            }

            if (mouseoveredSubPart == SliderSubPart.NumberField)
            {
                focusSlider   = 0;
                sliderFocused = false;

                //if field was already selected when it was clicked, don't use the event
                //this way Unity can handle positioning the cursor in a specific point on the text field etc.
                if (Selected)
                {
                    return;
                }

                DrawGUI.Use(inputEvent);
                StartEditingField();
            }
        }
Example #2
0
 /// <inheritdoc/>
 public override void Dispose()
 {
     focusSlider          = 0;
     sliderFocused        = false;
     mouseoveredSubPart   = SliderSubPart.None;
     mouseDownOverSubPart = SliderSubPart.None;
     base.Dispose();
 }
Example #3
0
 /// <inheritdoc />
 protected override void OnPrefixClicked(Event inputEvent)
 {
     mouseDownOverSubPart = mouseoveredSubPart;
     HandleOnClickSelection(inputEvent, ReasonSelectionChanged.PrefixClicked);
     DrawGUI.EditingTextField = false;
     DrawGUI.Use(inputEvent);
     FocusSlider();
 }
Example #4
0
        /// <inheritdoc/>
        protected sealed override void OnLayoutEvent(Rect position)
        {
            base.OnLayoutEvent(position);

            if (sliderClickableAreaRect.MouseIsOver())
            {
                mouseoveredSubPart = SliderSubPart.Slider;
            }
            else if (HasNumberField && numberFieldPosition.MouseIsOver())
            {
                mouseoveredSubPart = SliderSubPart.NumberField;
            }
            else
            {
                mouseoveredSubPart = SliderSubPart.None;
            }
        }