using System; using System.Diagnostics; namespace UnityEngine.Experimental.UIElements { // Token: 0x0200030C RID: 780 internal class ClampedDragger : Clickable { // Token: 0x060031F4 RID: 12788 RVA: 0x0004A178 File Offset: 0x00048378 public ClampedDragger(Slider slider, Action clickHandler, Action dragHandler) : base(clickHandler, 250L, 30L) { this.dragDirection = ClampedDragger.DragDirection.None; this.slider = slider; this.dragging += dragHandler; } // Token: 0x14000025 RID: 37 // (add) Token: 0x060031F5 RID: 12789 RVA: 0x0004A1A0 File Offset: 0x000483A0 // (remove) Token: 0x060031F6 RID: 12790 RVA: 0x0004A1D8 File Offset: 0x000483D8 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Action dragging; // Token: 0x17000B52 RID: 2898 // (get) Token: 0x060031F7 RID: 12791 RVA: 0x0004A210 File Offset: 0x00048410 // (set) Token: 0x060031F8 RID: 12792 RVA: 0x0004A22C File Offset: 0x0004842C public ClampedDragger.DragDirection dragDirection { get; set; } // Token: 0x17000B53 RID: 2899 // (get) Token: 0x060031F9 RID: 12793 RVA: 0x0004A238 File Offset: 0x00048438 // (set) Token: 0x060031FA RID: 12794 RVA: 0x0004A254 File Offset: 0x00048454 private Slider slider { get; set; } // Token: 0x17000B54 RID: 2900 // (get) Token: 0x060031FB RID: 12795 RVA: 0x0004A260 File Offset: 0x00048460 // (set) Token: 0x060031FC RID: 12796 RVA: 0x0004A27C File Offset: 0x0004847C public Vector2 startMousePosition { get; private set; } // Token: 0x17000B55 RID: 2901 // (get) Token: 0x060031FD RID: 12797 RVA: 0x0004A288 File Offset: 0x00048488 public Vector2 delta { get { return base.lastMousePosition - this.startMousePosition; } } // Token: 0x060031FE RID: 12798 RVA: 0x0004A2B0 File Offset: 0x000484B0 public override EventPropagation HandleEvent(Event evt, VisualElement finalTarget) { EventType type = evt.type; if (type != EventType.MouseDown) { if (type != EventType.MouseDrag) { if (type == EventType.MouseUp) { if (base.CanStopManipulation(evt)) { return base.HandleEvent(evt, finalTarget); } } } else if (this.HasCapture()) { base.HandleEvent(evt, finalTarget); if (this.dragDirection == ClampedDragger.DragDirection.None) { this.dragDirection = ClampedDragger.DragDirection.Free; } if (this.dragDirection == ClampedDragger.DragDirection.Free) { if (this.dragging != null) { this.dragging(); } } return EventPropagation.Stop; } } else if (base.CanStartManipulation(evt)) { this.startMousePosition = evt.mousePosition; this.dragDirection = ClampedDragger.DragDirection.None; base.HandleEvent(evt, finalTarget); return EventPropagation.Stop; } return EventPropagation.Continue; } // Token: 0x0200030D RID: 781 [Flags] public enum DragDirection { // Token: 0x04000A0F RID: 2575 None = 0, // Token: 0x04000A10 RID: 2576 LowToHigh = 1, // Token: 0x04000A11 RID: 2577 HighToLow = 2, // Token: 0x04000A12 RID: 2578 Free = 4 } } }