Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/RecRoom/UI/Touch/TouchRadialMenu.cs
T
2026-04-08 23:40:05 +02:00

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