107 lines
3.1 KiB
C#
107 lines
3.1 KiB
C#
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
|
|
}
|
|
}
|
|
}
|