コード例 #1
0
        private void SetSliderValueFromClick()
        {
            bool flag = this.clampedDragger.dragDirection == ClampedDragger <float> .DragDirection.Free;

            if (!flag)
            {
                bool flag2 = this.m_DragMinThumbRect.Contains(this.clampedDragger.startMousePosition);
                if (flag2)
                {
                    this.m_DragState = MinMaxSlider.DragState.MinThumb;
                }
                else
                {
                    bool flag3 = this.m_DragMaxThumbRect.Contains(this.clampedDragger.startMousePosition);
                    if (flag3)
                    {
                        this.m_DragState = MinMaxSlider.DragState.MaxThumb;
                    }
                    else
                    {
                        bool flag4 = this.dragElement.layout.Contains(this.clampedDragger.startMousePosition);
                        if (flag4)
                        {
                            this.m_DragState = MinMaxSlider.DragState.MiddleThumb;
                        }
                        else
                        {
                            this.m_DragState = MinMaxSlider.DragState.NoThumb;
                        }
                    }
                }
                bool flag5 = this.m_DragState == MinMaxSlider.DragState.NoThumb;
                if (flag5)
                {
                    this.m_DragElementStartPos        = new Vector2(this.clampedDragger.startMousePosition.x, this.dragElement.resolvedStyle.top);
                    this.clampedDragger.dragDirection = ClampedDragger <float> .DragDirection.Free;
                    this.ComputeValueDragStateNoThumb((float)this.dragElement.resolvedStyle.unitySliceLeft, base.visualInput.layout.width - (float)this.dragElement.resolvedStyle.unitySliceRight, this.m_DragElementStartPos.x);
                    this.m_DragState     = MinMaxSlider.DragState.MiddleThumb;
                    this.m_ValueStartPos = this.value;
                }
                else
                {
                    this.m_ValueStartPos = this.value;
                    this.clampedDragger.dragDirection = ClampedDragger <float> .DragDirection.Free;
                    this.m_DragElementStartPos        = this.clampedDragger.startMousePosition;
                }
            }
        }
コード例 #2
0
        public MinMaxSlider(string label, float minValue = 0f, float maxValue = 10f, float minLimit = -3.40282347E+38f, float maxLimit = 3.40282347E+38f) : base(label, null)
        {
            this.lowLimit  = minLimit;
            this.highLimit = maxLimit;
            this.minValue  = minValue;
            this.maxValue  = maxValue;
            base.AddToClassList(MinMaxSlider.ussClassName);
            base.labelElement.AddToClassList(MinMaxSlider.labelUssClassName);
            base.visualInput.AddToClassList(MinMaxSlider.inputUssClassName);
            base.pickingMode             = PickingMode.Ignore;
            this.m_DragState             = MinMaxSlider.DragState.NoThumb;
            base.visualInput.pickingMode = PickingMode.Position;
            VisualElement visualElement = new VisualElement
            {
                name = "unity-tracker"
            };

            visualElement.AddToClassList(MinMaxSlider.trackerUssClassName);
            base.visualInput.Add(visualElement);
            this.dragElement = new VisualElement
            {
                name = "unity-dragger"
            };
            this.dragElement.AddToClassList(MinMaxSlider.draggerUssClassName);
            this.dragElement.RegisterCallback <GeometryChangedEvent>(new EventCallback <GeometryChangedEvent>(this.UpdateDragElementPosition), TrickleDown.NoTrickleDown);
            base.visualInput.Add(this.dragElement);
            this.dragMinThumb = new VisualElement
            {
                name = "unity-thumb-min"
            };
            this.dragMaxThumb = new VisualElement
            {
                name = "unity-thumb-max"
            };
            this.dragMinThumb.AddToClassList(MinMaxSlider.minThumbUssClassName);
            this.dragMaxThumb.AddToClassList(MinMaxSlider.maxThumbUssClassName);
            this.dragElement.Add(this.dragMinThumb);
            this.dragElement.Add(this.dragMaxThumb);
            this.clampedDragger = new ClampedDragger <float>(null, new Action(this.SetSliderValueFromClick), new Action(this.SetSliderValueFromDrag));
            base.visualInput.AddManipulator(this.clampedDragger);
            this.m_MinLimit = minLimit;
            this.m_MaxLimit = maxLimit;
            base.rawValue   = this.ClampValues(new Vector2(minValue, maxValue));
            this.UpdateDragElementPosition();
        }