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