Files
2026-04-08 23:40:05 +02:00

436 lines
14 KiB
C#

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<Punchkey> ABJCHGOFDNP
{
[Token(Token = "0x60006A0")]
[Address(RVA = "0x1244720", Offset = "0x1243120", VA = "0x181244720")]
[CompilerGenerated]
add
{
Action<Punchkey> 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<Punchkey> 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<bool> unityAction = new UnityAction(this.CFBJBKKCJKO);
onClick.AddListener(unityAction);
Collider[] componentsInChildren = base.GetComponentsInChildren<Collider>(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<Punchkey> 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<Punchkey> 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<Punchkey> 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
}
}