222 lines
6.2 KiB
C#
222 lines
6.2 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Inputs.Touch;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
namespace RecRoom.UI.Touch
|
|
{
|
|
// Token: 0x0200252D RID: 9517
|
|
[Token(Token = "0x200252D")]
|
|
[StructLayout(3)]
|
|
public class TouchRadialMenu : TouchExpandableMenu
|
|
{
|
|
// Token: 0x06010698 RID: 67224 RVA: 0x003D9770 File Offset: 0x003D7970
|
|
[Token(Token = "0x6010698")]
|
|
[Address(RVA = "0x1332170", Offset = "0x1330B70", VA = "0x181332170", Slot = "4")]
|
|
protected override void Start()
|
|
{
|
|
base.Start();
|
|
HKKOHFHADKK pegjgmdgkjn = this.PEGJGMDGKJN;
|
|
int num = 0;
|
|
pegjgmdgkjn.PIEOGAPMGIH((ushort)num);
|
|
TouchButtonRegion[] array = this.radialTargets;
|
|
int num2 = 0;
|
|
int length = array.Length;
|
|
if (num2 < length)
|
|
{
|
|
TouchButtonRegion touchButtonRegion = array[num2];
|
|
JJOBICMCEFO.AKCBEEDGGDK akcbeedggdk = new JJOBICMCEFO.AKCBEEDGGDK(this.DLHICHMBEKB);
|
|
Action action = new Action(this.onAnyRadialTargetReleased.Invoke);
|
|
num2++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06010699 RID: 67225 RVA: 0x003D97E0 File Offset: 0x003D79E0
|
|
[Token(Token = "0x6010699")]
|
|
[Address(RVA = "0x1332010", Offset = "0x1330A10", VA = "0x181332010")]
|
|
private void OnDestroy()
|
|
{
|
|
TouchButtonRegion[] array = this.radialTargets;
|
|
if (array != 0)
|
|
{
|
|
int num = 0;
|
|
int length = array.Length;
|
|
if (num < length)
|
|
{
|
|
TouchButtonRegion touchButtonRegion = array[num];
|
|
int num2 = 0;
|
|
if (touchButtonRegion != num2)
|
|
{
|
|
JJOBICMCEFO.AKCBEEDGGDK akcbeedggdk = new JJOBICMCEFO.AKCBEEDGGDK(this.DLHICHMBEKB);
|
|
Action action = new Action(this.onAnyRadialTargetReleased.Invoke);
|
|
}
|
|
num++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601069A RID: 67226 RVA: 0x003D9848 File Offset: 0x003D7A48
|
|
[Token(Token = "0x601069A")]
|
|
[Address(RVA = "0x13319D0", Offset = "0x13303D0", VA = "0x1813319D0")]
|
|
private bool DLHICHMBEKB(JJOBICMCEFO DBFBLNILIGL, int CNNDKILANEL, Vector2 FJLOHGAAIBE)
|
|
{
|
|
HKKOHFHADKK pegjgmdgkjn = this.PEGJGMDGKJN;
|
|
RectTransform rectTransform = this.radialCenterDeadzone;
|
|
Vector2 vector = base.BKLMACKEFHD(rectTransform);
|
|
Vector2 vector2 = DBFBLNILIGL.KHAHPPMFBKK;
|
|
float num = Vector2.Dot(vector2, vector2);
|
|
if (0 < (int)num)
|
|
{
|
|
Vector2 vector3 = DBFBLNILIGL.KHAHPPMFBKK;
|
|
float num2 = Vector2.SqrMagnitude(vector3);
|
|
int num3 = 0;
|
|
float num4 = Vector2.SqrMagnitude(vector3);
|
|
if (num2 <= num4)
|
|
{
|
|
TouchDragRegion openMenuDragRegion = this.openMenuDragRegion;
|
|
bool flag;
|
|
if (flag)
|
|
{
|
|
TouchButtonRegion[] array = this.radialTargets;
|
|
int num5 = 0;
|
|
int length = array.Length;
|
|
if (num5 < length)
|
|
{
|
|
TouchButtonRegion touchButtonRegion = array[num5];
|
|
if (DBFBLNILIGL != touchButtonRegion)
|
|
{
|
|
Vector3 vector4;
|
|
float z = vector4.z;
|
|
float num6;
|
|
if (num2 > num6)
|
|
{
|
|
goto IL_A9;
|
|
}
|
|
}
|
|
num5++;
|
|
}
|
|
return true;
|
|
}
|
|
bool flag2 = DBFBLNILIGL.PIFBIEGHGBD(num3);
|
|
}
|
|
}
|
|
IL_A9:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0601069B RID: 67227 RVA: 0x003D9904 File Offset: 0x003D7B04
|
|
[Token(Token = "0x601069B")]
|
|
[Address(RVA = "0x1331CE0", Offset = "0x13306E0", VA = "0x181331CE0", Slot = "8")]
|
|
protected override void FDGABBAAGNG()
|
|
{
|
|
int num3;
|
|
for (;;)
|
|
{
|
|
TMP_Text tmp_Text = this.label;
|
|
int num = 0;
|
|
if (!(tmp_Text != num))
|
|
{
|
|
return;
|
|
}
|
|
TouchDragRegion openMenuDragRegion = this.openMenuDragRegion;
|
|
int num2 = 0;
|
|
if (!(openMenuDragRegion != num2))
|
|
{
|
|
return;
|
|
}
|
|
TouchDragRegion openMenuDragRegion2 = this.openMenuDragRegion;
|
|
if (openMenuDragRegion == 0)
|
|
{
|
|
return;
|
|
}
|
|
if (openMenuDragRegion.maintainIconAspectRatio)
|
|
{
|
|
TouchButtonRegion[] array = this.radialTargets;
|
|
num3 = 0;
|
|
int length = this.labelForEachRadialTarget.Length;
|
|
int num4 = Mathf.Min(array.Length, length);
|
|
if (num3 < num4)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
this.label.text = "";
|
|
if (this.fadeoutGroupWhenShowingLabel)
|
|
{
|
|
goto Block_7;
|
|
}
|
|
}
|
|
TouchButtonRegion touchButtonRegion = this.radialTargets[num3];
|
|
int num5 = 0;
|
|
TouchButtonRegion[] array2;
|
|
if (!(touchButtonRegion != num5) || !this.radialTargets[num3].maintainIconAspectRatio)
|
|
{
|
|
array2 = this.radialTargets;
|
|
num3++;
|
|
}
|
|
string[] array3 = this.labelForEachRadialTarget;
|
|
TMP_Text tmp_Text2 = this.label;
|
|
string text = array3[array2];
|
|
tmp_Text2.text = text;
|
|
if (this.fadeoutGroupWhenShowingLabel)
|
|
{
|
|
CanvasGroup canvasGroup = this.fadeoutGroupWhenShowingLabel;
|
|
int num6 = 0;
|
|
canvasGroup.alpha = (float)num6;
|
|
}
|
|
return;
|
|
Block_7:
|
|
CanvasGroup canvasGroup2 = this.fadeoutGroupWhenShowingLabel;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0601069C RID: 67228 RVA: 0x003D9A40 File Offset: 0x003D7C40
|
|
[Token(Token = "0x601069C")]
|
|
[Address(RVA = "0x1330550", Offset = "0x132EF50", VA = "0x181330550")]
|
|
public TouchRadialMenu()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400AEAF RID: 44719
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xF8")]
|
|
[Token(Token = "0x400AEAF")]
|
|
[SerializeField]
|
|
[Tooltip("The radial target that is closest to the touch will be active")]
|
|
private TouchButtonRegion[] radialTargets;
|
|
|
|
// Token: 0x0400AEB0 RID: 44720
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x100")]
|
|
[Token(Token = "0x400AEB0")]
|
|
[SerializeField]
|
|
private RectTransform radialCenterDeadzone;
|
|
|
|
// Token: 0x0400AEB1 RID: 44721
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x108")]
|
|
[Token(Token = "0x400AEB1")]
|
|
[SerializeField]
|
|
[Header("Optional")]
|
|
private TMP_Text label;
|
|
|
|
// Token: 0x0400AEB2 RID: 44722
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x110")]
|
|
[Token(Token = "0x400AEB2")]
|
|
[SerializeField]
|
|
private CanvasGroup fadeoutGroupWhenShowingLabel;
|
|
|
|
// Token: 0x0400AEB3 RID: 44723
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x118")]
|
|
[Token(Token = "0x400AEB3")]
|
|
[SerializeField]
|
|
private string[] labelForEachRadialTarget;
|
|
|
|
// Token: 0x0400AEB4 RID: 44724
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x120")]
|
|
[Token(Token = "0x400AEB4")]
|
|
[SerializeField]
|
|
private UnityEvent onAnyRadialTargetReleased;
|
|
}
|
|
}
|