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; } } }
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(); }