Files
Dec2017-Script-Dump/UnityEngine/Experimental/UIElements/ClampedDragger.cs
T
2026-06-04 11:42:34 +02:00

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
}
}
}