using System; using System.Collections; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using AGUI.StackedUI; using Cpp2IlInjected; using RecRoom; using RecRoom.Utils; using TMPro; using UnityEngine; using UnityEngine.Events; // Token: 0x020000FC RID: 252 [Token(Token = "0x20000FC")] [StructLayout(3)] public class Punchkey : MonoBehaviour { // Token: 0x14000005 RID: 5 // (add) Token: 0x060006A0 RID: 1696 RVA: 0x00022358 File Offset: 0x00020558 // (remove) Token: 0x060006A1 RID: 1697 RVA: 0x00022380 File Offset: 0x00020580 [Token(Token = "0x14000005")] public event Action ABJCHGOFDNP { [Token(Token = "0x60006A0")] [Address(RVA = "0x1244720", Offset = "0x1243120", VA = "0x181244720")] [CompilerGenerated] add { Action abjchgofdnp; Delegate @delegate; do { abjchgofdnp = this.ABJCHGOFDNP; @delegate = Delegate.Combine(abjchgofdnp, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != abjchgofdnp) { } } [Token(Token = "0x60006A1")] [Address(RVA = "0x1244890", Offset = "0x1243290", VA = "0x181244890")] [CompilerGenerated] remove { Action abjchgofdnp; Delegate @delegate; do { abjchgofdnp = this.ABJCHGOFDNP; @delegate = Delegate.Remove(abjchgofdnp, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != abjchgofdnp) { } } } // Token: 0x170000ED RID: 237 // (get) Token: 0x060006A2 RID: 1698 RVA: 0x000223A8 File Offset: 0x000205A8 [Token(Token = "0x170000ED")] public Punchkey.JABLHKIMJAD IPHCBJBCDLO { [Token(Token = "0x60006A2")] [Address(RVA = "0x4D24F0", Offset = "0x4D0EF0", VA = "0x1804D24F0")] get { return this.specialKeyType; } } // Token: 0x170000EE RID: 238 // (get) Token: 0x060006A3 RID: 1699 RVA: 0x000223BC File Offset: 0x000205BC // (set) Token: 0x060006A4 RID: 1700 RVA: 0x000223F4 File Offset: 0x000205F4 [Token(Token = "0x170000EE")] public bool LODFDOLMDCK { [Token(Token = "0x60006A3")] [Address(RVA = "0x1244800", Offset = "0x1243200", VA = "0x181244800")] get { ToggleButton3D elanimgbmem = this.ELANIMGBMEM; int num = 0; bool flag = elanimgbmem != num; if (!flag) { return flag; } return this.ELANIMGBMEM.LLJFGDMOOFA; } [Token(Token = "0x60006A4")] [Address(RVA = "0x12449A0", Offset = "0x12433A0", VA = "0x1812449A0")] set { ToggleButton3D elanimgbmem = this.ELANIMGBMEM; int num = 0; if (elanimgbmem != num) { this.ELANIMGBMEM.BOHIGPFGJBA = value; } } } // Token: 0x170000EF RID: 239 // (get) Token: 0x060006A5 RID: 1701 RVA: 0x00022428 File Offset: 0x00020628 [Token(Token = "0x170000EF")] public bool LHKNGFDHKJP { [Token(Token = "0x60006A5")] [Address(RVA = "0x12447E0", Offset = "0x12431E0", VA = "0x1812447E0")] get { return !string.IsNullOrEmpty(this.KeyCapChar_Shift); } } // Token: 0x170000F0 RID: 240 // (get) Token: 0x060006A6 RID: 1702 RVA: 0x00022444 File Offset: 0x00020644 [Token(Token = "0x170000F0")] public bool CMDANGFEMAL { [Token(Token = "0x60006A6")] [Address(RVA = "0x12447C0", Offset = "0x12431C0", VA = "0x1812447C0")] get { return !string.IsNullOrEmpty(this.KeyCapChar_Alt); } } // Token: 0x170000F1 RID: 241 // (get) Token: 0x060006A7 RID: 1703 RVA: 0x00022460 File Offset: 0x00020660 // (set) Token: 0x060006A8 RID: 1704 RVA: 0x00022474 File Offset: 0x00020674 [Token(Token = "0x170000F1")] public bool HHFNCGONFHA { [Token(Token = "0x60006A7")] [Address(RVA = "0x6374D0", Offset = "0x635ED0", VA = "0x1806374D0")] get { return this.JNDODHKLPGN; } [Token(Token = "0x60006A8")] [Address(RVA = "0x1244930", Offset = "0x1243330", VA = "0x181244930")] set { Collider[] nnbalfkkndo = this.NNBALFKKNDO; this.JNDODHKLPGN = value; if (nnbalfkkndo != 0) { int num = 0; int length = nnbalfkkndo.Length; if (num < length) { nnbalfkkndo[num].enabled = value; num++; } } } } // Token: 0x170000F2 RID: 242 // (get) Token: 0x060006A9 RID: 1705 RVA: 0x000224B8 File Offset: 0x000206B8 [Token(Token = "0x170000F2")] public bool DDMPLPFHMHE { [Token(Token = "0x60006A9")] [Address(RVA = "0x9D83C0", Offset = "0x9D6DC0", VA = "0x1809D83C0")] get { return this.specialKeyType == Punchkey.JABLHKIMJAD.None; } } // Token: 0x060006AA RID: 1706 RVA: 0x000224D0 File Offset: 0x000206D0 [Token(Token = "0x60006AA")] [Address(RVA = "0x1244220", Offset = "0x1242C20", VA = "0x181244220")] public void Initialize(Punchkeyboard HABAMPGHGEP) { Button3DBase button3DBase = this.button3d; this.PBKAGCMDBJK = HABAMPGHGEP; if (button3DBase == 0) { } int num = 0; this.ELANIMGBMEM = button3DBase; int num2 = 0; if (!(button3DBase != num2)) { Button3DBase button3DBase2 = this.button3d; Button3DBase.IOJHBLEGKFK iojhblegkfk = new Button3DBase.IOJHBLEGKFK(this.NMCJGABDLIB); button3DBase2.DMKKNEOIIGG += iojhblegkfk; } ToggleButton3D.OnToggleButton3DClick onClick = this.ELANIMGBMEM.OnClick; UnityAction unityAction = new UnityAction(this.CFBJBKKCJKO); onClick.AddListener(unityAction); Collider[] componentsInChildren = base.GetComponentsInChildren(true); this.NNBALFKKNDO = componentsInChildren; int length = componentsInChildren.Length; if (num < length) { Collider collider = componentsInChildren[num]; int num3 = 0; collider.enabled = num3 != 0; num++; } this.RefreshKeyCapText(); } // Token: 0x060006AB RID: 1707 RVA: 0x00022590 File Offset: 0x00020790 [Token(Token = "0x60006AB")] [Address(RVA = "0x1244450", Offset = "0x1242E50", VA = "0x181244450")] private void NMCJGABDLIB(Button3DBase AKBHFOFHHNK) { this.PBKAGCMDBJK.SimulateKeyPress(this); Action abjchgofdnp = this.ABJCHGOFDNP; if (abjchgofdnp != 0) { abjchgofdnp(this); } if (this.supportsPressAndHold) { Coroutine jpepbflgccp = this.JPEPBFLGCCP; this.SafeStopCoroutine(jpepbflgccp); Punchkey.EOLAKAIANHI eolakaianhi; eolakaianhi.System.IDisposable.Dispose(); eolakaianhi.<>1__state = (int)((ulong)0L); eolakaianhi.<>4__this = this; Coroutine coroutine = base.StartCoroutine(eolakaianhi); this.JPEPBFLGCCP = coroutine; } } // Token: 0x060006AC RID: 1708 RVA: 0x00022600 File Offset: 0x00020800 [Token(Token = "0x60006AC")] [Address(RVA = "0x12441B0", Offset = "0x1242BB0", VA = "0x1812441B0")] private void CFBJBKKCJKO(bool LLJFGDMOOFA) { this.PBKAGCMDBJK.SimulateKeyPress(this); Action abjchgofdnp = this.ABJCHGOFDNP; if (abjchgofdnp != 0) { abjchgofdnp(this); return; } } // Token: 0x060006AD RID: 1709 RVA: 0x00022634 File Offset: 0x00020834 [Token(Token = "0x60006AD")] [Address(RVA = "0x12441B0", Offset = "0x1242BB0", VA = "0x1812441B0")] private void EEKJLKDAPJK() { this.PBKAGCMDBJK.SimulateKeyPress(this); Action abjchgofdnp = this.ABJCHGOFDNP; if (abjchgofdnp != 0) { abjchgofdnp(this); return; } } // Token: 0x060006AE RID: 1710 RVA: 0x00022668 File Offset: 0x00020868 [Token(Token = "0x60006AE")] [Address(RVA = "0x1244520", Offset = "0x1242F20", VA = "0x181244520")] public void RefreshKeyCapText() { TextMeshProUGUI label = this.button3d.label; int num = 0; if (label != num) { if (this.specialKeyType == Punchkey.JABLHKIMJAD.DecimalSeparator) { bool isNeutralCulture = CultureUtil.CurrentCultureInfo.IsNeutralCulture; return; } if (!this.PBKAGCMDBJK.shiftKey.LODFDOLMDCK || string.IsNullOrEmpty(this.KeyCapChar_Shift)) { bool flag; if (this.PBKAGCMDBJK.altKey.LODFDOLMDCK) { flag = string.IsNullOrEmpty(this.KeyCapChar_Alt); if (!flag) { string keyCapChar_Alt = this.KeyCapChar_Alt; label.text = keyCapChar_Alt; return; } } int num2 = 0; while (flag) { } label.text = num2; return; } string keyCapChar_Shift = this.KeyCapChar_Shift; label.text = keyCapChar_Shift; } } // Token: 0x060006AF RID: 1711 RVA: 0x00022724 File Offset: 0x00020924 [Token(Token = "0x60006AF")] [Address(RVA = "0x12443F0", Offset = "0x1242DF0", VA = "0x1812443F0")] private IEnumerator KCAHAOGLALJ() { /* An exception occurred when decompiling this method (060006AF) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator Punchkey::KCAHAOGLALJ() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(EOLAKAIANHI::System.IDisposable.Dispose, ldloc:EOLAKAIANHI(var_0)) stfld:int32(EOLAKAIANHI::<>1__state, ldloc:EOLAKAIANHI(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:Punchkey(EOLAKAIANHI::<>4__this, ldloc:EOLAKAIANHI(var_0), ldloc:Punchkey(this)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060006B0 RID: 1712 RVA: 0x00022748 File Offset: 0x00020948 [Token(Token = "0x60006B0")] [Address(RVA = "0x12446C0", Offset = "0x12430C0", VA = "0x1812446C0")] public Punchkey() { } // Token: 0x040005F0 RID: 1520 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x40005F0")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private Button3DBase button3d; // Token: 0x040005F1 RID: 1521 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40005F1")] [SerializeField] private Punchkey.JABLHKIMJAD specialKeyType; // Token: 0x040005F2 RID: 1522 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x40005F2")] [SerializeField] [Tooltip("If true the key will be repeated as long as it stays pressed. (e.g. Backspace)")] private bool supportsPressAndHold; // Token: 0x040005F3 RID: 1523 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x40005F3")] public string KeyCapChar = ""; // Token: 0x040005F4 RID: 1524 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x40005F4")] public string KeyCapChar_Shift = ""; // Token: 0x040005F5 RID: 1525 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x40005F5")] public string KeyCapChar_Alt = ""; // Token: 0x040005F6 RID: 1526 [Token(Token = "0x40005F6")] private const float FAIKFDKNKHD = 1f; // Token: 0x040005F7 RID: 1527 [Token(Token = "0x40005F7")] private const float DDDCCJLEGOF = 0.1f; // Token: 0x040005F8 RID: 1528 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x40005F8")] private float NOMLOCCGNOL; // Token: 0x040005F9 RID: 1529 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x40005F9")] private Punchkeyboard PBKAGCMDBJK; // Token: 0x040005FA RID: 1530 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x40005FA")] private Collider[] NNBALFKKNDO; // Token: 0x040005FB RID: 1531 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x40005FB")] private ToggleButton3D ELANIMGBMEM; // Token: 0x040005FC RID: 1532 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x40005FC")] private Coroutine JPEPBFLGCCP; // Token: 0x040005FD RID: 1533 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x40005FD")] private bool JNDODHKLPGN = true; // Token: 0x020000FD RID: 253 [Token(Token = "0x20000FD")] public enum JABLHKIMJAD { // Token: 0x040005FF RID: 1535 [Token(Token = "0x40005FF")] None, // Token: 0x04000600 RID: 1536 [Token(Token = "0x4000600")] Space, // Token: 0x04000601 RID: 1537 [Token(Token = "0x4000601")] BackSpace, // Token: 0x04000602 RID: 1538 [Token(Token = "0x4000602")] Return, // Token: 0x04000603 RID: 1539 [Token(Token = "0x4000603")] Alt, // Token: 0x04000604 RID: 1540 [Token(Token = "0x4000604")] Shift, // Token: 0x04000605 RID: 1541 [Token(Token = "0x4000605")] DecimalSeparator } }