1260 lines
52 KiB
C#
1260 lines
52 KiB
C#
// Copyright (c) Supernova Technologies LLC
|
|
using Nova.InternalNamespace_16;
|
|
using Nova.InternalNamespace_0;
|
|
using Nova.InternalNamespace_0.InternalNamespace_11.InternalNamespace_15;
|
|
using Nova.InternalNamespace_0.InternalNamespace_12;
|
|
using Nova.InternalNamespace_0.InternalNamespace_5;
|
|
using Nova.InternalNamespace_0.InternalNamespace_5.InternalNamespace_6;
|
|
using Unity.Mathematics;
|
|
using UnityEngine;
|
|
|
|
namespace Nova
|
|
{
|
|
internal interface InternalType_489 : InternalType_493, InternalType_506 { }
|
|
|
|
/// <summary>
|
|
/// Scrolls the attached <see cref="UIBlock"/>'s content along its <see cref="AutoLayout"/>.<see cref="Axis">Axis</see> with an iOS-like inertia and bounce effect
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// If there's a <see cref="ListView"/> on the same <see cref="GameObject"/>, this component will also handle scrolling the virtualized <see cref="ListView"/>
|
|
/// </remarks>
|
|
/// <see cref="Interaction.Scroll(Interaction.Update, Vector3, float, int, InputAccuracy)"/>
|
|
/// <seealso cref="Gesture.OnClick"/>
|
|
/// <seealso cref="Gesture.OnPress"/>
|
|
/// <seealso cref="Gesture.OnRelease"/>
|
|
/// <seealso cref="Gesture.OnHover"/>
|
|
/// <seealso cref="Gesture.OnUnhover"/>
|
|
/// <seealso cref="Gesture.OnMove"/>
|
|
/// <seealso cref="Gesture.OnScroll"/>
|
|
/// <seealso cref="Gesture.OnCancel"/>
|
|
[AddComponentMenu("Nova/Scroller")]
|
|
[HelpURL("https://novaui.io/manual/Scroller.html")]
|
|
public sealed class Scroller : GestureRecognizer, InternalType_489
|
|
{
|
|
#region Public
|
|
/// <summary>
|
|
/// The animation applied to content once it's scrolled past the edges of its viewport
|
|
/// </summary>
|
|
[SerializeField]
|
|
public OverscrollEffect OverscrollEffect = OverscrollEffect.Bounce;
|
|
|
|
/// <summary>
|
|
/// The scroll speed multiplier for vector (e.g. mouse wheel) scrolling
|
|
/// </summary>
|
|
[SerializeField]
|
|
public float VectorScrollMultiplier = 1;
|
|
|
|
/// <summary>
|
|
/// Allow pointer drag events to trigger a scroll
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <see cref="Interaction.Point(Interaction.Update, bool, bool, float, int, InputAccuracy)"/><br/>
|
|
/// <see cref="Interaction.Point(Sphere, uint, object, int, InputAccuracy)"/>
|
|
/// </remarks>
|
|
/// <see cref="GestureRecognizer.DragThreshold"/>
|
|
/// <see cref="GestureRecognizer.LowAccuracyDragThreshold"/>
|
|
public bool DragScrolling
|
|
{
|
|
get
|
|
{
|
|
return dragScrolling;
|
|
}
|
|
set
|
|
{
|
|
if (value == dragScrolling)
|
|
{
|
|
return;
|
|
}
|
|
|
|
dragScrolling = value;
|
|
|
|
if (!InternalProperty_911)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (dragScrolling)
|
|
{
|
|
if (!VectorScrolling)
|
|
{
|
|
InternalMethod_2074();
|
|
}
|
|
|
|
UIBlock.InternalProperty_23.InternalEvent_2 += InternalProperty_766;
|
|
}
|
|
else
|
|
{
|
|
UIBlock.InternalProperty_23.InternalEvent_2 -= InternalProperty_766;
|
|
|
|
if (!VectorScrolling)
|
|
{
|
|
InternalMethod_2073();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Allow mouse wheel or joystick vector events to trigger a scroll via <see cref="Interaction.Scroll(Interaction.Update, Vector3, float, int, InputAccuracy)"/>
|
|
/// </summary>
|
|
public bool VectorScrolling
|
|
{
|
|
get
|
|
{
|
|
return vectorScrolling;
|
|
}
|
|
set
|
|
{
|
|
if (value == vectorScrolling)
|
|
{
|
|
return;
|
|
}
|
|
|
|
vectorScrolling = value;
|
|
|
|
if (!InternalProperty_911)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (vectorScrolling)
|
|
{
|
|
if (!DragScrolling)
|
|
{
|
|
InternalMethod_2074();
|
|
}
|
|
|
|
UIBlock.InternalProperty_23.InternalEvent_3 += InternalProperty_765;
|
|
}
|
|
else
|
|
{
|
|
UIBlock.InternalProperty_23.InternalEvent_3 -= InternalProperty_765;
|
|
|
|
if (!DragScrolling)
|
|
{
|
|
InternalMethod_2073();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// The <see cref="Nova.UIBlock"/> scrollbar root
|
|
/// </summary>
|
|
public UIBlock ScrollbarVisual => scrollbarVisual;
|
|
|
|
/// <summary>
|
|
/// Indicates whether or not the <see cref="Scroller"/> should handle drag events on the <see cref="ScrollbarVisual"/>.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Proper configuration requires the <see cref= "ScrollbarVisual"/> to have an <see cref="Interactable"/> attached to it which must have <see cref="Interactable.Draggable"/> set to <see langword="true"/> along the scrolling axis.
|
|
/// </remarks>
|
|
/// <seealso cref="Interactable"/>
|
|
/// <seealso cref="Interactable.Draggable"/>
|
|
public bool DraggableScrollbar
|
|
{
|
|
get
|
|
{
|
|
return draggableScrollbar;
|
|
}
|
|
set
|
|
{
|
|
if (value == draggableScrollbar)
|
|
{
|
|
return;
|
|
}
|
|
|
|
draggableScrollbar = value;
|
|
|
|
if (scrollbarVisual == null || !InternalProperty_911)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (draggableScrollbar)
|
|
{
|
|
scrollbarVisual.InternalMethod_3272(InternalProperty_749, InternalParameter_3056: true);
|
|
scrollbarVisual.InternalMethod_3272(InternalProperty_750, InternalParameter_3056: true);
|
|
}
|
|
else
|
|
{
|
|
scrollbarVisual.InternalMethod_3271(InternalProperty_749);
|
|
scrollbarVisual.InternalMethod_3271(InternalProperty_750);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// The number of child UIBlocks this scroller is capable of scrolling to.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <list type="bullet">
|
|
/// <item><description>
|
|
/// Value can be larger than <see cref="UIBlock.ChildCount"/> if this <see cref="GameObject"/> has an attached <see cref="ListView"/> component.
|
|
/// </description></item>
|
|
/// <item><description>
|
|
/// This is the upper limit (exclusive) for the index that can be passed to <see cref="ScrollToIndex(int, bool)"/>.
|
|
/// </description></item>
|
|
/// </list>
|
|
/// </remarks>
|
|
public int ScrollableChildCount => InternalProperty_912 ? InternalField_2802.InternalProperty_0 : UIBlock.ChildCount;
|
|
|
|
/// <summary>
|
|
/// Abruptly stop the active scroll
|
|
/// </summary>
|
|
/// <remarks>If <c>this.ActiveAndEnabled == <see langword="false"/></c>, this call won't do anything.</remarks>
|
|
public void CancelScroll()
|
|
{
|
|
if (!InternalProperty_911)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (InternalField_2259.InternalProperty_167)
|
|
{
|
|
UIBlock.InternalProperty_23.InternalMethod_467(InternalField_2259);
|
|
}
|
|
else
|
|
{
|
|
InternalMethod_2662(ref InternalField_2259);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Scrolls to the child item at the provided index <paramref name="index"/> and applies a brief "after scroll" animation.
|
|
/// </summary>
|
|
/// <remarks>If <c>this.ActiveAndEnabled == <see langword="false"/></c>, this call won't do anything.</remarks>
|
|
/// <param name="index">The index of the child in the range [0, <see cref="ScrollableChildCount"/>) to scroll to</param>
|
|
/// <exception cref="System.IndexOutOfRangeException">if <c><paramref name="index"/> < 0 || <paramref name="index"/> >= <see cref="ScrollableChildCount"/></c></exception>
|
|
/// <exception cref="System.InvalidOperationException">if <c><see cref="UIBlock">UIBlock</see>.<see cref="UIBlock.AutoLayout">AutoLayout</see>.<see cref="AutoLayout.Axis">Axis</see> == <see cref="Axis"/>.<see cref="Axis.None">None</see></c></exception>
|
|
public void ScrollToIndex(int index) => ScrollToIndex(index, animate: true);
|
|
|
|
/// <summary>
|
|
/// Scrolls to the child item at the provided index <paramref name="index"/> and optionally applies a brief "after scroll" animation.
|
|
/// </summary>
|
|
/// <remarks>If <c>this.ActiveAndEnabled == <see langword="false"/></c>, this call won't do anything.</remarks>
|
|
/// <param name="index">The index of the child in the range [0, <see cref="ScrollableChildCount"/>) to scroll to</param>
|
|
///<param name="animate">Applies an "after scroll" animation when <c>true</c>. Jumps to the position without animating when <c>false</c>.</param>
|
|
/// <exception cref="System.IndexOutOfRangeException">if <c><paramref name="index"/> < 0 || <paramref name="index"/> >= <see cref="ScrollableChildCount"/></c></exception>
|
|
/// <exception cref="System.InvalidOperationException">if <c><see cref="UIBlock">UIBlock</see>.<see cref="UIBlock.AutoLayout">AutoLayout</see>.<see cref="AutoLayout.Axis">Axis</see> == <see cref="Axis"/>.<see cref="Axis.None">None</see></c></exception>
|
|
public void ScrollToIndex(int index, bool animate)
|
|
{
|
|
if (!InternalProperty_911)
|
|
{
|
|
return;
|
|
}
|
|
|
|
float InternalVar_1 = 0;
|
|
|
|
if (!InternalProperty_912)
|
|
{
|
|
ref AutoLayout InternalVar_2 = ref UIBlock.AutoLayout;
|
|
|
|
if (!InternalVar_2.Axis.TryGetIndex(out int InternalVar_3))
|
|
{
|
|
throw new System.InvalidOperationException($"{UIBlock.name}'s Auto Layout axis is unassigned.");
|
|
}
|
|
|
|
if (index < 0 || index >= UIBlock.ChildCount)
|
|
{
|
|
throw new System.IndexOutOfRangeException($"Expected: [0, {UIBlock.ChildCount}). Actual: {index}.");
|
|
}
|
|
|
|
UIBlock InternalVar_4 = UIBlock.GetChild(index);
|
|
|
|
InternalVar_1 = InternalType_182.InternalMethod_3654(InternalVar_4, InternalVar_3, InternalVar_2.Alignment);
|
|
|
|
if (!animate)
|
|
{
|
|
InternalVar_2.Offset += InternalVar_1 * InternalVar_2.InternalProperty_14;
|
|
InternalVar_1 = 0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (animate)
|
|
{
|
|
InternalVar_1 = InternalField_2802.JumpToIndexPage(index);
|
|
}
|
|
else
|
|
{
|
|
InternalField_2802.JumpToIndex(index);
|
|
}
|
|
}
|
|
|
|
InternalMethod_2403();
|
|
|
|
InternalField_2793 = false;
|
|
|
|
InternalProperty_547.InternalMethod_717(InternalField_2262 - InternalField_2263, 0);
|
|
|
|
float InternalVar_5 = InternalVar_1 * -InternalType_508.InternalField_2233;
|
|
|
|
InternalMethod_1991(InternalVar_5, InternalType_508.InternalField_2234);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Scrolls content by the provided <paramref name="delta"/> along the <see cref="UIBlock"/>'s <see cref="AutoLayout"/>.<see cref="AutoLayout.Axis">Axis</see>
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// If <c>this.ActiveAndEnabled == <see langword="false"/></c>, this call won't do anything.
|
|
/// May require a call to <see cref="UIBlock.CalculateLayout"/> if attempting to scroll immediately
|
|
/// after child content has been modified.
|
|
/// </remarks>
|
|
/// <param name="delta">Value is in <c><see cref="UIBlock"/>.transform</c> local space</param>
|
|
/// <exception cref="System.InvalidOperationException">if <c><see cref="UIBlock">UIBlock</see>.<see cref="UIBlock.AutoLayout">AutoLayout</see>.<see cref="AutoLayout.Axis">Axis</see> == <see cref="Axis"/>.<see cref="Axis.None">None</see></c></exception>
|
|
public void Scroll(float delta)
|
|
{
|
|
if (!InternalProperty_911)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (!UIBlock.InternalMethod_79().Axis.TryGetIndex(out int InternalVar_1))
|
|
{
|
|
throw new System.InvalidOperationException($"{UIBlock.name}'s Auto Layout axis is unassigned.");
|
|
}
|
|
|
|
Vector3 InternalVar_2 = Vector3.zero;
|
|
InternalVar_2[InternalVar_1] = delta;
|
|
|
|
InternalNamespace_0.InternalType_78 InternalVar_3 = InternalNamespace_0.InternalType_78.InternalField_260;
|
|
|
|
InternalMethod_1994(InternalVar_2, ref InternalVar_3);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Moves the scrollbar to the <paramref name="newScrollbarWorldPosition"/> and scrolls the content accordingly
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// If <c><see cref="DraggableScrollbar"/> == <see langword="true"/></c>, this will be called automatically whenever the <see cref="ScrollbarVisual"/> fires <see cref="Gesture.OnDrag"/> events.<br/>
|
|
/// If <c>this.ActiveAndEnabled == <see langword="false"/></c>, this call won't do anything.
|
|
/// </remarks>
|
|
/// <param name="newScrollbarWorldPosition">The position to move the scrollbar to in world space. This will clamp everything to move along the scrolling axis.</param>
|
|
public void DragScrollbarToPosition(Vector3 newScrollbarWorldPosition)
|
|
{
|
|
if (!InternalProperty_911 || scrollbarVisual == null || scrollbarVisual.Parent == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
InternalField_2793 = false;
|
|
|
|
AutoLayout InternalVar_1 = UIBlock.InternalMethod_79();
|
|
|
|
if (!InternalVar_1.Axis.TryGetIndex(out int InternalVar_2))
|
|
{
|
|
return;
|
|
}
|
|
|
|
Vector3 InternalVar_3 = scrollbarVisual.transform.parent.InverseTransformPoint(newScrollbarWorldPosition);
|
|
float InternalVar_4 = scrollbarVisual.Parent.PaddedSize[InternalVar_2];
|
|
float InternalVar_5 = InternalVar_3[InternalVar_2] - scrollbarVisual.transform.localPosition[InternalVar_2];
|
|
|
|
Length.Calculated InternalVar_6 = scrollbarVisual.CalculatedSize[InternalVar_2] + scrollbarVisual.CalculatedMargin[InternalVar_2].Sum();
|
|
|
|
float InternalVar_7 = math.max(0, 0.5f - (InternalVar_6.Percent * 0.5f));
|
|
|
|
if (InternalType_187.InternalMethod_914(InternalVar_7))
|
|
{
|
|
return;
|
|
}
|
|
|
|
float InternalVar_8 = InternalVar_5 / InternalVar_4;
|
|
float InternalVar_9 = InternalProperty_912 ? InternalField_2802.InternalProperty_1 : UIBlock.InternalProperty_18[InternalVar_2];
|
|
|
|
float InternalVar_10 = -InternalVar_8 * InternalVar_9;
|
|
|
|
Scroll(InternalVar_10);
|
|
}
|
|
#endregion
|
|
|
|
#region Internal
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private const int InternalField_815 = 2;
|
|
|
|
[SerializeField, InternalType_22, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private bool dragScrolling = true;
|
|
[SerializeField, InternalType_22, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private bool vectorScrolling = true;
|
|
[SerializeField, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private UIBlock scrollbarVisual;
|
|
[SerializeField, InternalType_22, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private bool draggableScrollbar = false;
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private InternalType_726 InternalField_2808 = new InternalType_726();
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
internal float InternalProperty_920 => InternalField_2393.InternalProperty_242;
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private InternalType_1 InternalField_2802 = null;
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private bool InternalProperty_912 => (InternalField_2802 as MonoBehaviour) != null && InternalField_2802.InternalProperty_0 > 0;
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private bool InternalField_2793 = true;
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private float InternalField_2792 = 0;
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private bool InternalField_2773 = false;
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private int InternalField_3392 = 0;
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private InternalType_14.InternalType_23 InternalField_2405 = null;
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private InternalType_14.InternalType_23 InternalProperty_765
|
|
{
|
|
get
|
|
{
|
|
if (InternalField_2405 == null)
|
|
{
|
|
InternalField_2405 = InternalMethod_311;
|
|
}
|
|
|
|
return InternalField_2405;
|
|
}
|
|
}
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private UIEventHandler<Gesture.OnDrag> InternalField_2397 = null;
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private UIEventHandler<Gesture.OnDrag> InternalProperty_750
|
|
{
|
|
get
|
|
{
|
|
if (InternalField_2397 == null)
|
|
{
|
|
InternalField_2397 = InternalMethod_2070;
|
|
}
|
|
|
|
return InternalField_2397;
|
|
}
|
|
}
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private UIEventHandler<Gesture.OnRelease> InternalField_2394 = null;
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private UIEventHandler<Gesture.OnRelease> InternalProperty_749
|
|
{
|
|
get
|
|
{
|
|
if (InternalField_2394 == null)
|
|
{
|
|
InternalField_2394 = InternalMethod_2033;
|
|
}
|
|
|
|
return InternalField_2394;
|
|
}
|
|
}
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
System.Type InternalType_523.InternalProperty_439 => typeof(UIBlock);
|
|
bool InternalType_523.InternalMethod_1635(InternalType_273 receiver, System.Type _, out InternalType_273 target)
|
|
{
|
|
target = UIBlock;
|
|
return true;
|
|
}
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private InternalType_190 InternalField_2393 = default;
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private InternalType_190 InternalField_2392 = default;
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private float InternalField_2263 = 0;
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private float InternalField_2262 = 0;
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private float InternalField_2261 = 0;
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private InternalType_505 InternalField_2260 = null;
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private InternalType_505 InternalProperty_547
|
|
{
|
|
get
|
|
{
|
|
if (InternalField_2260 == null)
|
|
{
|
|
InternalField_2260 = new InternalType_505(this);
|
|
}
|
|
|
|
return InternalField_2260;
|
|
}
|
|
}
|
|
|
|
|
|
[System.NonSerialized, HideInInspector]
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private InternalNamespace_0.InternalType_78 InternalField_2259 = InternalNamespace_0.InternalType_78.InternalField_260;
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
internal float InternalProperty_748
|
|
{
|
|
get
|
|
{
|
|
if (!InternalProperty_911)
|
|
{
|
|
return 0f;
|
|
}
|
|
|
|
if (!InternalProperty_912)
|
|
{
|
|
if (!UIBlock.InternalMethod_79().Axis.TryGetIndex(out int InternalVar_1))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return UIBlock.InternalProperty_19[InternalVar_1];
|
|
}
|
|
|
|
return InternalField_2802.InternalProperty_3;
|
|
}
|
|
}
|
|
|
|
private void InternalMethod_2403()
|
|
{
|
|
AutoLayout InternalVar_1 = UIBlock.InternalMethod_79();
|
|
if (!InternalVar_1.Axis.TryGetIndex(out int InternalVar_2))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (InternalVar_1.Alignment == 1)
|
|
{
|
|
InternalField_2261 = InternalVar_1.Offset;
|
|
return;
|
|
}
|
|
|
|
float InternalVar_3 = UIBlock.PaddedSize[InternalVar_2];
|
|
float InternalVar_4 = UIBlock.InternalProperty_18[InternalVar_2];
|
|
float InternalVar_5 = InternalVar_1.Offset;
|
|
float InternalVar_6 = UIBlock.CalculatedPadding.Offset[InternalVar_2];
|
|
|
|
float InternalVar_7 = InternalType_182.InternalMethod_857(InternalVar_5, InternalVar_4, InternalVar_3, InternalVar_6, InternalVar_1.Alignment);
|
|
|
|
InternalField_2261 = InternalType_182.InternalMethod_858(InternalVar_7, InternalVar_4, InternalVar_3, InternalVar_6, 1);
|
|
}
|
|
|
|
internal void InternalMethod_2078(float InternalParameter_2153)
|
|
{
|
|
Scroll(InternalParameter_2153 - InternalProperty_748);
|
|
}
|
|
|
|
private protected override void InternalMethod_2750()
|
|
{
|
|
InternalProperty_547.InternalMethod_500();
|
|
|
|
if (InternalField_2802 == null)
|
|
{
|
|
InternalField_2802 = GetComponent<InternalType_1>();
|
|
}
|
|
|
|
InternalField_2393 = new InternalType_190(0);
|
|
InternalField_2392 = new InternalType_190(0);
|
|
|
|
InternalField_2792 = 0;
|
|
|
|
if (DragScrolling || VectorScrolling)
|
|
{
|
|
InternalMethod_2074();
|
|
}
|
|
|
|
if (VectorScrolling)
|
|
{
|
|
UIBlock.InternalProperty_23.InternalEvent_3 += InternalProperty_765;
|
|
}
|
|
|
|
if (DragScrolling)
|
|
{
|
|
UIBlock.InternalProperty_23.InternalEvent_2 += InternalProperty_766;
|
|
}
|
|
|
|
UIBlock.InternalProperty_23.InternalMethod_3551(this);
|
|
|
|
if (DraggableScrollbar && scrollbarVisual != null)
|
|
{
|
|
scrollbarVisual.InternalMethod_3272(InternalProperty_749, InternalParameter_3056: true);
|
|
scrollbarVisual.InternalMethod_3272(InternalProperty_750, InternalParameter_3056: true);
|
|
}
|
|
|
|
InternalField_2808.InternalMethod_2963(UIBlock, InternalField_2802, scrollbarVisual);
|
|
}
|
|
|
|
private bool InternalMethod_2027(InternalType_5 InternalParameter_2351, int InternalParameter_2350)
|
|
{
|
|
Bounds InternalVar_1 = new Bounds(InternalParameter_2351.InternalMethod_1035(), InternalParameter_2351.InternalProperty_144.InternalProperty_124);
|
|
Vector3 InternalVar_2 = UIBlock.CalculatedSize.Value * 0.5f;
|
|
|
|
return InternalVar_1.min[InternalParameter_2350] >= -InternalVar_2[InternalParameter_2350] && InternalVar_1.max[InternalParameter_2350] <= InternalVar_2[InternalParameter_2350];
|
|
}
|
|
|
|
private bool InternalMethod_1034(InternalType_5 InternalParameter_1043, int InternalParameter_378)
|
|
{
|
|
Bounds InternalVar_1 = new Bounds(InternalParameter_1043.InternalMethod_1035(), InternalParameter_1043.InternalProperty_144.InternalProperty_124);
|
|
Vector3 InternalVar_2 = UIBlock.CalculatedSize.Value * 0.5f;
|
|
|
|
return InternalVar_1.max[InternalParameter_378] < -InternalVar_2[InternalParameter_378] || InternalVar_1.min[InternalParameter_378] > InternalVar_2[InternalParameter_378];
|
|
}
|
|
|
|
private protected override void InternalMethod_2664()
|
|
{
|
|
if (DragScrolling || VectorScrolling)
|
|
{
|
|
InternalMethod_2073();
|
|
}
|
|
|
|
if (VectorScrolling)
|
|
{
|
|
UIBlock.InternalProperty_23.InternalEvent_3 -= InternalProperty_765;
|
|
}
|
|
|
|
if (DragScrolling)
|
|
{
|
|
UIBlock.InternalProperty_23.InternalEvent_2 -= InternalProperty_766;
|
|
}
|
|
|
|
UIBlock.InternalProperty_23.InternalMethod_3552();
|
|
|
|
if (DraggableScrollbar && scrollbarVisual != null)
|
|
{
|
|
scrollbarVisual.InternalMethod_3271(InternalProperty_749);
|
|
scrollbarVisual.InternalMethod_3271(InternalProperty_750);
|
|
}
|
|
|
|
InternalField_2259 = default;
|
|
InternalMethod_2403();
|
|
}
|
|
|
|
private void InternalMethod_2074()
|
|
{
|
|
UIBlock.InternalMethod_89(this);
|
|
UIBlock.InternalProperty_23.InternalMethod_3548(this);
|
|
UIBlock.InternalProperty_23.InternalEvent_4 += InternalProperty_770;
|
|
}
|
|
|
|
private void InternalMethod_2073()
|
|
{
|
|
UIBlock.InternalMethod_90(this);
|
|
UIBlock.InternalProperty_23.InternalMethod_3549();
|
|
UIBlock.InternalProperty_23.InternalEvent_4 -= InternalProperty_770;
|
|
}
|
|
|
|
private void LateUpdate()
|
|
{
|
|
if (InternalField_2792 != 0)
|
|
{
|
|
InternalField_3392 = 0;
|
|
}
|
|
|
|
if (InternalField_2773 && InternalField_2792 == 0 && ++InternalField_3392 >= InternalField_815)
|
|
{
|
|
InternalField_3392 = 0;
|
|
InternalField_2773 = false;
|
|
|
|
if (InternalMethod_1990())
|
|
{
|
|
InternalType_492 InternalVar_1 = default;
|
|
Gesture.OnRelease InternalVar_2 = Gesture.InternalMethod_3227(InternalField_2259.InternalMethod_2179(), UIBlock, InternalParameter_3041: true, InternalParameter_3040: false);
|
|
InternalMethod_2661(ref InternalVar_1, ref InternalVar_2);
|
|
}
|
|
else
|
|
{
|
|
InternalMethod_2662(ref InternalField_2259);
|
|
}
|
|
}
|
|
|
|
InternalProperty_547.InternalField_2276 = OverscrollEffect == OverscrollEffect.Clamp;
|
|
|
|
if (InternalField_2793)
|
|
{
|
|
InternalMethod_1988(InternalProperty_547.InternalMethod_960(InternalField_2262));
|
|
|
|
}
|
|
else if (UIBlock.InternalMethod_79().Axis.TryGetIndex(out int InternalVar_3))
|
|
{
|
|
float InternalVar_4 = InternalField_2792;
|
|
float InternalVar_5 = UIBlock.PaddedSize[InternalVar_3] * 0.5f;
|
|
|
|
InternalField_2392.InternalMethod_957(InternalType_187.InternalMethod_884(InternalVar_4, -InternalVar_5, InternalVar_5));
|
|
|
|
float InternalVar_6 = InternalField_2773 ? InternalVar_4 : InternalField_2392.InternalProperty_242;
|
|
InternalField_2393.InternalMethod_957(InternalVar_6 / Time.unscaledDeltaTime);
|
|
|
|
InternalMethod_1988(InternalProperty_547.InternalMethod_959(InternalVar_6, InternalField_2262));
|
|
|
|
}
|
|
|
|
if (UIBlock.InternalProperty_22 || InternalField_2808.InternalProperty_938)
|
|
{
|
|
InternalField_2808.InternalMethod_2960();
|
|
}
|
|
|
|
InternalField_2262 += Time.unscaledDeltaTime;
|
|
InternalField_2792 = 0;
|
|
}
|
|
|
|
private void InternalMethod_2070(Gesture.OnDrag InternalParameter_2151)
|
|
{
|
|
DragScrollbarToPosition(scrollbarVisual.transform.position + InternalParameter_2151.DragDeltaWorldSpace);
|
|
InternalField_2773 = false;
|
|
}
|
|
|
|
private void InternalMethod_2033(Gesture.OnRelease InternalParameter_2150)
|
|
{
|
|
InternalNamespace_0.InternalType_78 InternalVar_1 = InternalParameter_2150.Interaction.InternalMethod_2204();
|
|
InternalMethod_2662(ref InternalVar_1);
|
|
}
|
|
|
|
private void InternalMethod_311(ref InternalType_14.InternalType_16<InternalType_755<Vector3>> InternalParameter_96)
|
|
{
|
|
if (!InternalParameter_96.InternalField_67.HasValue)
|
|
{
|
|
return;
|
|
}
|
|
|
|
InternalType_76<InternalType_755<Vector3>> InternalVar_1 = InternalParameter_96.InternalField_67.Value;
|
|
|
|
if (!InternalVar_1.InternalField_246 || InternalVar_1.InternalField_247.InternalField_3546 == Vector3.zero)
|
|
{
|
|
return;
|
|
}
|
|
|
|
InternalMethod_1994(InternalVar_1.InternalField_247.InternalField_3546 * VectorScrollMultiplier, ref InternalParameter_96.InternalField_3029);
|
|
}
|
|
|
|
private void InternalMethod_1994(Vector3 InternalParameter_2148, ref InternalNamespace_0.InternalType_78 InternalParameter_2147)
|
|
{
|
|
InternalField_2773 = true;
|
|
InternalMethod_1989(InternalParameter_2148, ref InternalParameter_2147);
|
|
}
|
|
|
|
private protected override void InternalMethod_339(ref InternalType_14.InternalType_16<bool> InternalParameter_330, ref InternalType_492 InternalParameter_714, ref Vector3 InternalParameter_713, ref Matrix4x4 InternalParameter_712)
|
|
{
|
|
if (InternalField_2259.InternalProperty_167 && InternalParameter_330.InternalField_3029.InternalField_257 != InternalField_2259.InternalField_257 && InternalProperty_921.TryGetValue(InternalField_2259.InternalField_257, out InternalType_492 InternalVar_1) && InternalVar_1.InternalField_2809)
|
|
{
|
|
return;
|
|
}
|
|
|
|
InternalType_76<bool> InternalVar_2 = InternalParameter_330.InternalField_70.GetValueOrDefault();
|
|
InternalType_76<bool> InternalVar_3 = InternalParameter_330.InternalField_67.GetValueOrDefault();
|
|
|
|
bool InternalVar_4 = InternalVar_2.InternalField_247;
|
|
bool InternalVar_5 = InternalVar_3.InternalField_247;
|
|
|
|
bool InternalVar_6 = InternalVar_3.InternalProperty_166 && !InternalVar_2.InternalProperty_166;
|
|
bool InternalVar_7 = InternalVar_3.InternalProperty_166 || InternalVar_2.InternalProperty_166;
|
|
bool InternalVar_8 = InternalVar_2.InternalProperty_166 && !InternalVar_5;
|
|
|
|
if (!InternalVar_4 && InternalVar_5)
|
|
{
|
|
InternalMethod_2662(ref InternalParameter_330.InternalField_3029);
|
|
}
|
|
|
|
if (!InternalVar_7)
|
|
{
|
|
return;
|
|
}
|
|
|
|
InternalParameter_714.InternalField_2809 = true;
|
|
|
|
InternalField_2773 = false;
|
|
|
|
Vector3 InternalVar_9 = Vector3.zero;
|
|
|
|
float InternalVar_10 = math.abs(math.sin(math.radians(InternalMethod_1985(ref InternalVar_3)))) * Vector3.Distance(InternalParameter_330.InternalField_3029.InternalField_258.origin, InternalVar_3.InternalField_248);
|
|
|
|
Vector3 InternalVar_11 = InternalParameter_330.InternalField_70.HasValue ? InternalParameter_712.MultiplyPoint(InternalParameter_714.InternalField_2933) : InternalVar_3.InternalField_248;
|
|
|
|
if (InternalVar_6)
|
|
{
|
|
InternalMethod_2403();
|
|
InternalProperty_547.InternalMethod_717(InternalField_2262 - InternalField_2263, InternalVar_10);
|
|
InternalField_2392.InternalProperty_242 = 0;
|
|
|
|
if (InternalVar_4)
|
|
{
|
|
InternalVar_9 = InternalParameter_330.InternalMethod_3808(InternalVar_11);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
InternalVar_9 = InternalParameter_330.InternalMethod_3808(InternalVar_11);
|
|
|
|
}
|
|
|
|
if (!InternalVar_5)
|
|
{
|
|
return;
|
|
}
|
|
|
|
InternalMethod_1989(InternalVar_9, ref InternalParameter_330.InternalField_3029);
|
|
}
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
private protected override bool InternalProperty_937 => InternalMethod_2389();
|
|
|
|
private protected override void InternalMethod_2662(ref InternalNamespace_0.InternalType_78 InternalParameter_1327)
|
|
{
|
|
InternalField_2793 = true;
|
|
InternalField_2263 = InternalField_2262;
|
|
|
|
InternalMethod_2403();
|
|
|
|
InternalProperty_547.InternalMethod_533(InternalField_2263);
|
|
|
|
InternalField_2773 = false;
|
|
InternalField_2792 = 0;
|
|
|
|
if (InternalField_2393.InternalProperty_242 == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
InternalField_2393.InternalProperty_242 = 0;
|
|
|
|
}
|
|
|
|
private protected override void InternalMethod_2661(ref InternalType_492 InternalParameter_906, ref Gesture.OnRelease InternalParameter_951)
|
|
{
|
|
if (InternalField_2793)
|
|
{
|
|
return;
|
|
}
|
|
|
|
InternalMethod_1991(InternalField_2393.InternalProperty_242);
|
|
|
|
InternalField_2259 = InternalParameter_951.Interaction.InternalMethod_2204();
|
|
}
|
|
|
|
private void InternalMethod_1991(float InternalParameter_1794, double InternalParameter_1793 = InternalType_508.InternalField_2235)
|
|
{
|
|
if (InternalField_2793)
|
|
{
|
|
return;
|
|
}
|
|
|
|
InternalField_2793 = true;
|
|
InternalField_2263 = InternalField_2262;
|
|
InternalProperty_547.InternalMethod_1648(InternalParameter_1794, InternalField_2263, InternalParameter_1793);
|
|
|
|
}
|
|
|
|
InternalType_513 InternalType_506.InternalMethod_965()
|
|
{
|
|
AutoLayout InternalVar_1 = UIBlock.InternalMethod_79();
|
|
|
|
if (!InternalVar_1.Axis.TryGetIndex(out int InternalVar_2))
|
|
{
|
|
return default;
|
|
}
|
|
|
|
float InternalVar_3 = UIBlock.PaddedSize[InternalVar_2];
|
|
float InternalVar_4 = UIBlock.InternalProperty_18[InternalVar_2];
|
|
float InternalVar_5 = UIBlock.CalculatedPadding.Offset[InternalVar_2];
|
|
float InternalVar_6 = InternalVar_3 - InternalVar_4;
|
|
float InternalVar_7 = UIBlock.InternalProperty_19[InternalVar_2];
|
|
|
|
bool InternalVar_8 = InternalProperty_912;
|
|
|
|
bool InternalVar_9 = InternalVar_8 && InternalField_2802.InternalMethod_45(-1);
|
|
bool InternalVar_10 = InternalVar_8 && InternalField_2802.InternalMethod_45(1);
|
|
|
|
if (InternalVar_6 < 0 || InternalVar_10 || InternalVar_9)
|
|
{
|
|
float InternalVar_11 = InternalType_182.InternalMethod_858(InternalVar_7, InternalVar_4, InternalVar_3, InternalVar_5, 1);
|
|
float InternalVar_12 = InternalField_2261 - InternalVar_11;
|
|
|
|
float InternalVar_13 = InternalVar_8 ? InternalField_2802.InternalProperty_1 : InternalVar_4;
|
|
|
|
double2 InternalVar_14 = default;
|
|
InternalVar_14.x = InternalVar_9 ? double.NegativeInfinity : math.max(InternalVar_6 + InternalVar_12, -InternalVar_13);
|
|
InternalVar_14.y = InternalVar_10 ? double.PositiveInfinity : math.min(InternalVar_12, InternalVar_13);
|
|
|
|
if (InternalVar_14.x > InternalVar_14.y)
|
|
{
|
|
InternalVar_14 = InternalVar_14.yx;
|
|
}
|
|
|
|
return new InternalType_513(InternalVar_14, InternalField_2261, InternalVar_3);
|
|
}
|
|
|
|
float InternalVar_15 = (InternalVar_1.Alignment - 1) * -0.5f;
|
|
float InternalVar_16 = InternalVar_6 * InternalVar_15;
|
|
|
|
return new InternalType_513(InternalVar_16, InternalField_2261, InternalVar_3);
|
|
}
|
|
|
|
private bool InternalMethod_1990()
|
|
{
|
|
AutoLayout InternalVar_1 = UIBlock.InternalMethod_79();
|
|
|
|
if (InternalVar_1.Axis.TryGetIndex(out int InternalVar_2) || InternalVar_1.Offset == 0)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool InternalVar_3 = !InternalMethod_1987(1, out _);
|
|
bool InternalVar_4 = !InternalMethod_1987(-1, out _);
|
|
|
|
if (!InternalVar_3 && !InternalVar_4)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
float InternalVar_5 = UIBlock.InternalProperty_19[InternalVar_2];
|
|
float InternalVar_6 = UIBlock.InternalProperty_18[InternalVar_2];
|
|
float InternalVar_7 = UIBlock.PaddedSize[InternalVar_2];
|
|
|
|
float InternalVar_8 = InternalVar_6 * 0.5f;
|
|
float InternalVar_9 = InternalVar_5 - InternalVar_8;
|
|
float InternalVar_10 = InternalVar_5 + InternalVar_8;
|
|
float InternalVar_11 = InternalVar_7 * 0.5f;
|
|
|
|
return (InternalVar_3 && InternalVar_10 < InternalVar_11) ||
|
|
(InternalVar_4 && InternalVar_9 > -InternalVar_11);
|
|
}
|
|
|
|
private void InternalMethod_1989(Vector3 InternalParameter_1792, ref InternalNamespace_0.InternalType_78 InternalParameter_1791)
|
|
{
|
|
|
|
|
|
InternalField_2793 = false;
|
|
|
|
if (UIBlock.InternalMethod_79().Axis.TryGetIndex(out int InternalVar_1))
|
|
{
|
|
InternalField_2792 += InternalParameter_1792[InternalVar_1];
|
|
}
|
|
|
|
InternalField_2259 = InternalParameter_1791;
|
|
}
|
|
|
|
private void InternalMethod_1988(float InternalParameter_1790)
|
|
{
|
|
float InternalVar_1 = (float)InternalField_2261 - InternalParameter_1790;
|
|
|
|
if (InternalField_2793)
|
|
{
|
|
InternalField_2393.InternalProperty_242 = InternalProperty_547.InternalMethod_961(InternalField_2262);
|
|
}
|
|
|
|
if (InternalType_187.InternalMethod_914(InternalVar_1))
|
|
{
|
|
return;
|
|
}
|
|
|
|
ref AutoLayout InternalVar_2 = ref UIBlock.AutoLayout;
|
|
|
|
if (!InternalVar_2.Axis.TryGetIndex(out int InternalVar_3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
float InternalVar_4 = UIBlock.PaddedSize[InternalVar_3];
|
|
|
|
InternalVar_1 = InternalType_187.InternalMethod_869(InternalVar_1, 2 * InternalVar_4 * InternalType_187.InternalMethod_892(InternalVar_1));
|
|
|
|
if (InternalProperty_912)
|
|
{
|
|
InternalField_2802.Scroll(InternalVar_1);
|
|
InternalField_2261 = InternalParameter_1790;
|
|
}
|
|
else
|
|
{
|
|
InternalVar_2.Offset += InternalVar_1 * InternalVar_2.InternalProperty_14;
|
|
InternalMethod_2403();
|
|
}
|
|
|
|
Vector3 InternalVar_5 = Vector3.zero;
|
|
InternalVar_5[InternalVar_3] = InternalVar_1;
|
|
|
|
ScrollType InternalVar_6 = InternalField_2793 ? ScrollType.Inertial : ScrollType.Manual;
|
|
|
|
UIBlock.InternalMethod_91(Gesture.InternalMethod_3225(InternalField_2259.InternalMethod_2179(), UIBlock, InternalVar_6, InternalVar_5));
|
|
}
|
|
|
|
InternalType_77 InternalType_75.InternalMethod_3340<T>(Ray InternalParameter_329, InternalType_76<T> InternalParameter_328, InternalType_76<T> InternalParameter_2232, Transform InternalParameter_2233)
|
|
{
|
|
int InternalVar_1 = UIBlock.InternalMethod_79().Axis.Index();
|
|
|
|
Vector3 InternalVar_2 = Vector3.zero;
|
|
|
|
InternalType_77 InternalVar_3 = InternalType_77.InternalField_251;
|
|
|
|
if (InternalVar_1 >= 0)
|
|
{
|
|
InternalVar_2[InternalVar_1] = 1;
|
|
}
|
|
else
|
|
{
|
|
return InternalVar_3;
|
|
}
|
|
|
|
System.Type InternalVar_4 = typeof(T);
|
|
|
|
if (InternalMethod_2389() && InternalParameter_2233.IsChildOf(transform))
|
|
{
|
|
return InternalType_77.InternalField_253;
|
|
}
|
|
|
|
InternalVar_3 = InternalType_77.InternalField_252;
|
|
|
|
if (InternalVar_4 == typeof(bool))
|
|
{
|
|
Vector3 InternalVar_5 = UIBlock.transform.TransformDirection(InternalVar_2);
|
|
Vector3 InternalVar_6 = InternalParameter_329.direction;
|
|
Vector3 InternalVar_7 = InternalParameter_329.origin;
|
|
Vector3 InternalVar_8 = Vector3.Cross(InternalVar_6, InternalVar_5);
|
|
|
|
if (InternalVar_8 == Vector3.zero)
|
|
{
|
|
InternalVar_2 = InternalVar_1 != 0 ? Vector3.right : InternalVar_1 != 1 ? Vector3.up : Vector3.forward;
|
|
InternalVar_6 = UIBlock.transform.TransformDirection(InternalVar_2);
|
|
InternalVar_7 = InternalParameter_328.InternalField_248;
|
|
InternalVar_8 = Vector3.Cross(InternalVar_6, InternalVar_5);
|
|
}
|
|
|
|
Vector3 InternalVar_9 = InternalType_187.InternalMethod_3642(InternalParameter_2232.InternalField_248 - InternalVar_7);
|
|
|
|
float InternalVar_10 = InternalType_187.InternalMethod_907(InternalVar_6, InternalVar_9, InternalVar_8);
|
|
InternalVar_10 = math.min(InternalVar_10, 180 - InternalVar_10);
|
|
|
|
InternalVar_3 = InternalVar_10 >= InternalMethod_1985(ref InternalParameter_2232) ? InternalMethod_1986(ref InternalParameter_328, ref InternalParameter_2232, InternalVar_1) : InternalVar_3;
|
|
}
|
|
else if (InternalVar_4 == typeof(InternalType_755<Vector3>))
|
|
{
|
|
_ = InternalParameter_2232.InternalMethod_474(out InternalType_76<InternalType_755<Vector3>>? InternalVar_5);
|
|
Vector3 InternalVar_6 = InternalVar_5.Value.InternalField_247.InternalField_3546;
|
|
|
|
InternalVar_3 = InternalVar_6[InternalVar_1] != 0 ? InternalMethod_3649(Vector3.zero, InternalVar_6, InternalVar_1) : InternalVar_3;
|
|
}
|
|
|
|
return InternalVar_3;
|
|
}
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
bool InternalType_754.InternalProperty_1153 => InternalProperty_164;
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
bool InternalType_754.InternalProperty_1154 => OnSelect == SelectBehavior.FireEvents;
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
bool InternalType_754.InternalProperty_1155 => OnSelect == SelectBehavior.ScopeNavigation;
|
|
|
|
bool InternalType_754.InternalMethod_3559(Vector3 InternalParameter_3234)
|
|
{
|
|
if (InternalType_182.InternalMethod_3638(UIBlock, InternalParameter_3234, out int _, out int InternalVar_1))
|
|
{
|
|
return !InternalMethod_1987(InternalVar_1, out _);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
bool InternalType_754.InternalMethod_3561(Vector3 InternalParameter_3238, out InternalType_5 InternalParameter_3239)
|
|
{
|
|
InternalParameter_3239 = null;
|
|
|
|
if (!InternalProperty_164)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return Navigation.InternalMethod_2715(InternalParameter_3238, out InternalParameter_3239);
|
|
}
|
|
|
|
bool InternalType_754.InternalMethod_3576(InternalType_5 InternalParameter_3264, InternalType_5 InternalParameter_3263, Vector3 InternalParameter_3262)
|
|
{
|
|
if (!InternalProperty_164)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
if (!InternalType_182.InternalMethod_3638(UIBlock, InternalParameter_3262, out int InternalVar_1, out int InternalVar_2))
|
|
{
|
|
return false;
|
|
}
|
|
|
|
if (InternalParameter_3264 == null)
|
|
{
|
|
if (InternalMethod_1987(InternalVar_2, out float InternalVar_3))
|
|
{
|
|
float InternalVar_4 = InternalType_187.InternalMethod_869(UIBlock.InternalMethod_3595(0).InternalProperty_150[InternalVar_1] + UIBlock.CalculatedSpacing.Value, InternalVar_3);
|
|
Scroll(InternalVar_4 * -InternalVar_2);
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
if (InternalParameter_3263 == null)
|
|
{
|
|
if (InternalMethod_1987(InternalVar_2, out float InternalVar_3))
|
|
{
|
|
float InternalVar_4 = InternalType_187.InternalMethod_869(InternalParameter_3264.InternalProperty_150[InternalVar_1] + UIBlock.CalculatedSpacing.Value, InternalVar_3);
|
|
Scroll(InternalVar_4 * InternalVar_2);
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
if (InternalMethod_1034(InternalParameter_3263, InternalVar_1))
|
|
{
|
|
float InternalVar_3 = InternalType_182.InternalMethod_3654(InternalParameter_3263, InternalVar_1, UIBlock.InternalMethod_79().Alignment);
|
|
float InternalVar_4 = (InternalParameter_3263.InternalProperty_150[InternalVar_1] + UIBlock.CalculatedSpacing.Value) * InternalVar_2;
|
|
|
|
if (!InternalType_187.InternalMethod_3644(InternalType_187.InternalMethod_871(InternalVar_3), InternalType_187.InternalMethod_871(InternalVar_4)))
|
|
{
|
|
Scroll(InternalVar_4);
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
if (!InternalMethod_2027(InternalParameter_3263, InternalVar_1))
|
|
{
|
|
int InternalVar_3 = 0;
|
|
|
|
if (InternalProperty_912)
|
|
{
|
|
InternalType_5 InternalVar_4 = InternalParameter_3263.InternalProperty_203 ? InternalParameter_3263.InternalMethod_3595(0) : InternalParameter_3263;
|
|
if (!InternalField_2802.InternalMethod_868(InternalVar_4, out InternalVar_3))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
InternalVar_3 = UIBlock.InternalMethod_3594(InternalParameter_3263);
|
|
}
|
|
|
|
ScrollToIndex(InternalVar_3, animate: false);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
void InternalType_754.InternalMethod_3585(InternalType_5 InternalParameter_3313)
|
|
{
|
|
AutoLayout InternalVar_1 = UIBlock.InternalMethod_79();
|
|
if (!InternalVar_1.Axis.TryGetIndex(out int InternalVar_2))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (InternalParameter_3313 == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Vector3 InternalVar_3 = InternalType_457.InternalProperty_190.InternalMethod_682(InternalParameter_3313).c3.xyz;
|
|
Vector3 InternalVar_4 = UIBlock.transform.InverseTransformPoint(InternalVar_3);
|
|
|
|
float InternalVar_5 = InternalParameter_3313.InternalProperty_147.InternalProperty_139[InternalVar_2];
|
|
float InternalVar_6 = InternalVar_5 + UIBlock.CalculatedPadding.Offset[InternalVar_2];
|
|
float InternalVar_7 = InternalVar_4[InternalVar_2];
|
|
float InternalVar_8 = InternalParameter_3313.InternalProperty_144[InternalVar_2].InternalField_153;
|
|
|
|
float InternalVar_9 = InternalType_182.InternalMethod_858(InternalVar_7, InternalVar_8, UIBlock.PaddedSize[InternalVar_2], InternalVar_6, InternalVar_1.Alignment);
|
|
|
|
float InternalVar_10 = InternalType_182.InternalMethod_3696(InternalVar_8, InternalVar_9, InternalVar_5, UIBlock, InternalVar_2, InternalVar_1.Alignment);
|
|
int InternalVar_11 = -(int)InternalType_187.InternalMethod_892(InternalVar_10);
|
|
|
|
if (!InternalType_187.InternalMethod_914(InternalVar_10) && InternalMethod_1987(InternalVar_11, out _))
|
|
{
|
|
Scroll(InternalVar_10);
|
|
LateUpdate();
|
|
}
|
|
}
|
|
|
|
private bool InternalMethod_2389()
|
|
{
|
|
if (!UIBlock.InternalMethod_79().Axis.TryGetIndex(out int InternalVar_1))
|
|
{
|
|
return !InternalType_187.InternalMethod_914(InternalField_2393.InternalProperty_242);
|
|
}
|
|
|
|
double InternalVar_2 = 0.1f * math.pow(10, math.round(math.log10(UIBlock.CalculatedSize[InternalVar_1].Value)));
|
|
|
|
return !InternalType_187.InternalMethod_915(InternalField_2393.InternalProperty_242, InternalParameter_851: InternalVar_2);
|
|
}
|
|
|
|
private bool InternalMethod_1987(int InternalParameter_1789, out float InternalParameter_2143)
|
|
{
|
|
if (InternalProperty_912 && InternalField_2802.InternalMethod_45(InternalParameter_1789))
|
|
{
|
|
InternalParameter_2143 = InternalParameter_1789 < 0 ? float.MinValue : float.MaxValue;
|
|
|
|
return true;
|
|
}
|
|
|
|
if (!UIBlock.InternalMethod_79().Axis.TryGetIndex(out int InternalVar_1))
|
|
{
|
|
InternalParameter_2143 = 0;
|
|
return false;
|
|
}
|
|
|
|
float InternalVar_2 = UIBlock.CalculatedPadding.Offset[InternalVar_1] + 0.5f * InternalParameter_1789 * UIBlock.PaddedSize[InternalVar_1];
|
|
float InternalVar_3 = UIBlock.InternalProperty_19[InternalVar_1] + 0.5f * InternalParameter_1789 * UIBlock.InternalProperty_18[InternalVar_1];
|
|
|
|
InternalParameter_2143 = InternalParameter_1789 * (InternalVar_3 - InternalVar_2);
|
|
|
|
float InternalVar_4 = InternalType_187.InternalMethod_871(InternalVar_3);
|
|
float InternalVar_5 = InternalType_187.InternalMethod_871(InternalVar_2);
|
|
|
|
return InternalType_187.InternalMethod_922(InternalVar_4, InternalVar_5) ? false : InternalVar_5 < InternalVar_4;
|
|
}
|
|
|
|
private InternalType_77 InternalMethod_1986<T>(ref InternalType_76<T> InternalParameter_1788, ref InternalType_76<T> InternalParameter_1787, int InternalParameter_1786) where T : unmanaged, System.IEquatable<T>
|
|
{
|
|
Vector3 InternalVar_1 = UIBlock.transform.InverseTransformPoint(InternalParameter_1788.InternalField_248);
|
|
Vector3 InternalVar_2 = UIBlock.transform.InverseTransformPoint(InternalParameter_1787.InternalField_248);
|
|
return InternalMethod_3649(InternalVar_1, InternalVar_2, InternalParameter_1786);
|
|
}
|
|
|
|
private InternalType_77 InternalMethod_3649(Vector3 InternalParameter_2144, Vector3 InternalParameter_3266, int InternalParameter_3265)
|
|
{
|
|
int InternalVar_1 = (int)InternalType_187.InternalMethod_892((InternalParameter_2144 - InternalParameter_3266)[InternalParameter_3265]);
|
|
|
|
return InternalMethod_1987(InternalVar_1, out _) ? InternalType_77.InternalField_255 : InternalType_77.InternalField_254;
|
|
}
|
|
|
|
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
|
|
bool InternalType_75.InternalProperty_741 => ObstructDrags;
|
|
|
|
private float InternalMethod_1985<T>(ref InternalType_76<T> InternalParameter_1767) where T : unmanaged, System.IEquatable<T> => InternalParameter_1767.InternalField_250 ? LowAccuracyDragThreshold : DragThreshold;
|
|
|
|
private Scroller() : base()
|
|
{
|
|
ClickBehavior = ClickBehavior.None;
|
|
onSelect = SelectBehavior.ScopeNavigation;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|