using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; using System.Text.RegularExpressions; using Cpp2IlInjected; using Photon.Pun; using RecRoom.Circuits; using RecRoom.Core.Creation.Circuits; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; // Token: 0x0200026D RID: 621 [Token(Token = "0x200026D")] [DisallowMultipleComponent] [StructLayout(3)] public abstract class PlayerEditableTextBase : MonoBehaviourPun, EOCLMMENCKH { // Token: 0x170002AB RID: 683 // (get) Token: 0x0600125D RID: 4701 RVA: 0x0004E5B8 File Offset: 0x0004C7B8 [Token(Token = "0x170002AB")] public IReadOnlyList FAPLMCMJEHG { [Token(Token = "0x600125D")] [Address(RVA = "0x4B81A0", Offset = "0x4B6BA0", VA = "0x1804B81A0")] get { /* An exception occurred when decompiling this method (0600125D) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IReadOnlyList`1 PlayerEditableTextBase::get_TextElements() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:class [mscorlib]System.Collections.Generic.List`1(var_0_06, ldfld:class [mscorlib]System.Collections.Generic.List`1(PlayerEditableTextBase::PGDICHHPLBI, ldloc:PlayerEditableTextBase(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: 0x0600125E RID: 4702 RVA: 0x0004E5CC File Offset: 0x0004C7CC [Token(Token = "0x600125E")] [Address(RVA = "0xFDD7E0", Offset = "0xFDC1E0", VA = "0x180FDD7E0", Slot = "13")] protected override void Awake() { base..ctor(); Text text = this.uiText; int num = 0; if (text != num) { Text text2 = this.uiText; List pgdichhplbi = this.PGDICHHPLBI; } TextMesh textMesh = this.textMesh; int num2 = 0; if (textMesh != num2) { TextMesh textMesh2 = this.textMesh; List pgdichhplbi2 = this.PGDICHHPLBI; } TextMeshPro textMeshPro = this.textMeshPro; int num3 = 0; if (textMeshPro != num3) { TextMeshPro textMeshPro2 = this.textMeshPro; List pgdichhplbi3 = this.PGDICHHPLBI; } int num4 = 0; InputSlot[] allStandardInputSlots = IOSlots.AllStandardInputSlots; if (num4 < allStandardInputSlots.Length) { InputSlot[] allStandardInputSlots2 = IOSlots.AllStandardInputSlots; Dictionary noggjiokbof = this.NOGGJIOKBOF; int num5 = 0; InputSlot inputSlot = allStandardInputSlots2[num4]; noggjiokbof[inputSlot] = num5; num4++; } CircuitNodeDisplay circuitNodeDisplay = this.nodeDisplay; int num6 = 0; if (circuitNodeDisplay != num6 && this.usesCircuits) { CircuitNodeDisplay circuitNodeDisplay2 = this.nodeDisplay; Action action = new Action(this.BJHFLABFJPM); circuitNodeDisplay2.DMKDMKIDPLC += action; } PlayerEditableTextBase.UnityStringEvent onTextUpdated = this.OnTextUpdated; UnityAction unityAction = new UnityAction(this.AMHHNDOJGHJ); onTextUpdated.AddListener(unityAction); } // Token: 0x0600125F RID: 4703 RVA: 0x0004E6F8 File Offset: 0x0004C8F8 [Token(Token = "0x600125F")] [Address(RVA = "0xFDE1E0", Offset = "0xFDCBE0", VA = "0x180FDE1E0")] protected void Start() { this.LDEGMHLJLGJ(); } // Token: 0x06001260 RID: 4704 [Token(Token = "0x6001260")] [Address(Slot = "18")] protected abstract void LMFHDPCGCGP(); // Token: 0x06001261 RID: 4705 RVA: 0x0004E70C File Offset: 0x0004C90C [Token(Token = "0x6001261")] [Address(RVA = "0xFDE0D0", Offset = "0xFDCAD0", VA = "0x180FDE0D0", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); CircuitNodeDisplay circuitNodeDisplay = this.nodeDisplay; int num = 0; if (circuitNodeDisplay != num) { CircuitNodeDisplay circuitNodeDisplay2 = this.nodeDisplay; Action action = new Action(this.BJHFLABFJPM); circuitNodeDisplay2.DMKDMKIDPLC -= action; } PlayerEditableTextBase.UnityStringEvent onTextUpdated = this.OnTextUpdated; UnityAction unityAction = new UnityAction(this.AMHHNDOJGHJ); onTextUpdated.RemoveListener(unityAction); } // Token: 0x06001262 RID: 4706 RVA: 0x0004E774 File Offset: 0x0004C974 [Token(Token = "0x6001262")] [Address(RVA = "0xFDDB80", Offset = "0xFDC580", VA = "0x180FDDB80")] public void Circuit_UpdateText(Dictionary signals) { int num; do { num = 0; Dictionary.Enumerator enumerator; if (enumerator != 0) { Dictionary noggjiokbof = this.NOGGJIOKBOF; } if (num != -1) { } } while (num != 0); this.usesCircuits = true; this.LDEGMHLJLGJ(); } // Token: 0x06001263 RID: 4707 RVA: 0x0004E7B0 File Offset: 0x0004C9B0 [Token(Token = "0x6001263")] [Address(RVA = "0xFDDB10", Offset = "0xFDC510", VA = "0x180FDDB10")] public void Circuit_UpdateSingleSignalText(int BECIIEHIPMJ) { Dictionary noggjiokbof = this.NOGGJIOKBOF; this.usesCircuits = true; int num = 0; noggjiokbof[num] = BECIIEHIPMJ; this.LDEGMHLJLGJ(); } // Token: 0x06001264 RID: 4708 RVA: 0x0004E7E4 File Offset: 0x0004C9E4 [Token(Token = "0x6001264")] [Address(RVA = "0xFDDB00", Offset = "0xFDC500", VA = "0x180FDDB00")] private void BJHFLABFJPM() { this.LDEGMHLJLGJ(); } // Token: 0x06001265 RID: 4709 RVA: 0x0004E7F8 File Offset: 0x0004C9F8 [Token(Token = "0x6001265")] [Address(RVA = "0xFDDE80", Offset = "0xFDC880", VA = "0x180FDDE80")] protected void LDEGMHLJLGJ() { if (!this.usesCircuits) { this.LMFHDPCGCGP(); bool flag; if (flag) { PlayerEditableTextBase.UnityStringEvent onTextUpdated = this.OnTextUpdated; } return; } this.LMFHDPCGCGP(); bool flag2; if (flag2) { int hashCode = this.OEHELEIBKEB.GetHashCode(); } int num = this.maxMessageLength; throw new NullReferenceException(); } // Token: 0x06001266 RID: 4710 RVA: 0x0004E848 File Offset: 0x0004CA48 [Token(Token = "0x6001266")] [Address(RVA = "0xFDDDF0", Offset = "0xFDC7F0", VA = "0x180FDDDF0")] private void ENIFIGCGICP() { this.LMFHDPCGCGP(); bool flag; if (flag) { PlayerEditableTextBase.UnityStringEvent onTextUpdated = this.OnTextUpdated; } } // Token: 0x06001267 RID: 4711 RVA: 0x0004E86C File Offset: 0x0004CA6C [Token(Token = "0x6001267")] [Address(RVA = "0xFDDCE0", Offset = "0xFDC6E0", VA = "0x180FDDCE0")] private void DGMJBFOMMML() { this.LMFHDPCGCGP(); bool flag; if (flag) { int hashCode = this.OEHELEIBKEB.GetHashCode(); } int num = this.maxMessageLength; string kknkmoncaej = this.KKNKMONCAEJ; string text; if (text != kknkmoncaej) { PlayerEditableTextBase.UnityStringEvent onTextUpdated = this.OnTextUpdated; this.KKNKMONCAEJ = text; onTextUpdated.Invoke(text); } } // Token: 0x06001268 RID: 4712 RVA: 0x0004E8CC File Offset: 0x0004CACC [Token(Token = "0x6001268")] [Address(RVA = "0xFDD2B0", Offset = "0xFDBCB0", VA = "0x180FDD2B0")] private bool AGMANNIBDDA(string NGPMADFHHKP) { int num = 0; if (NGPMADFHHKP.Contains("{") && NGPMADFHHKP.Contains("}")) { StringBuilder stringBuilder = this.OEHELEIBKEB.Clear(); StringBuilder stringBuilder2 = this.OEHELEIBKEB.Append(NGPMADFHHKP); InputSlot[] allStandardInputSlots = IOSlots.AllStandardInputSlots; if (num < allStandardInputSlots.Length) { InputSlot inputSlot = IOSlots.AllStandardInputSlots[num]; int num2 = this.MJCOCPMPPHH(inputSlot); bool flag = PlayerEditableTextBase.AADNLEIJENE.TryGetValue(inputSlot, num); if (!flag) { int hashCode = flag.GetHashCode(); PlayerEditableTextBase.BONDLNHHNIF bondlnhhnif = new PlayerEditableTextBase.BONDLNHHNIF(); string text2; string text = "{" + text2 + "}"; bondlnhhnif.NECNNNABFEA = text; string text4; string text3 = "{" + text4 + "}"; bondlnhhnif.CFEHFCGJGKI = text3; Dictionary aadnleijene = PlayerEditableTextBase.AADNLEIJENE; } StringBuilder oeheleibkeb = this.OEHELEIBKEB; StringBuilder oeheleibkeb2 = this.OEHELEIBKEB; num++; } return true; } throw new NullReferenceException(); } // Token: 0x06001269 RID: 4713 [Token(Token = "0x6001269")] [Address(Slot = "19")] protected abstract string NCOBPFBEHPD(); // Token: 0x0600126A RID: 4714 RVA: 0x0004E9C4 File Offset: 0x0004CBC4 [Token(Token = "0x600126A")] [Address(RVA = "0xFDDFD0", Offset = "0xFDC9D0", VA = "0x180FDDFD0")] protected static string LOFGKLDPGJI(string NGPMADFHHKP, int OMJLGGPHALE) { return NGPMADFHHKP; } // Token: 0x0600126B RID: 4715 RVA: 0x0004E9E4 File Offset: 0x0004CBE4 [Token(Token = "0x600126B")] [Address(RVA = "0xFDD600", Offset = "0xFDC000", VA = "0x180FDD600")] private void AMHHNDOJGHJ(string NCPBDBJDNHB) { int num; do { num = 0; if ((this.unescapeString ? 1 : 0) != num) { string text = Regex.Unescape(NCPBDBJDNHB); } List pgdichhplbi = this.PGDICHHPLBI; List.Enumerator enumerator; if (enumerator != 0) { num += num; num++; num++; num += 19; } if (num != -1) { } } while (num != 0); } // Token: 0x0600126C RID: 4716 RVA: 0x0004EA30 File Offset: 0x0004CC30 [Token(Token = "0x600126C")] [Address(RVA = "0xFDE000", Offset = "0xFDCA00", VA = "0x180FDE000")] protected int MJCOCPMPPHH(InputSlot POFOFFDCGCB) { CircuitNodeDisplay circuitNodeDisplay = this.nodeDisplay; int num = 0; if (circuitNodeDisplay != num && this.nodeDisplay.MBBJMCDGDMN != 0) { int num2; return num2; } Dictionary noggjiokbof = this.NOGGJIOKBOF; int num3; return num3; } // Token: 0x170002AC RID: 684 // (get) Token: 0x0600126D RID: 4717 RVA: 0x0004EA70 File Offset: 0x0004CC70 [Token(Token = "0x170002AC")] public bool JBMFJOBFJHP { [Token(Token = "0x600126D")] [Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "15")] get { } } // Token: 0x0600126E RID: 4718 [Token(Token = "0x600126E")] [Address(Slot = "20")] public abstract void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH); // Token: 0x0600126F RID: 4719 [Token(Token = "0x600126F")] [Address(Slot = "21")] public abstract void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB); // Token: 0x06001270 RID: 4720 RVA: 0x0004EA80 File Offset: 0x0004CC80 [Token(Token = "0x6001270")] [Address(RVA = "0xFDE270", Offset = "0xFDCC70", VA = "0x180FDE270")] protected PlayerEditableTextBase() { List list = new List(); this.PGDICHHPLBI = list; this.defaultMessage = "Rec Room"; this.maxMessageLength = (int)((ulong)100L); this.dialogMessage = "Enter a message to display"; StringBuilder stringBuilder = new StringBuilder(); this.OEHELEIBKEB = stringBuilder; Dictionary dictionary = new Dictionary(); this.NOGGJIOKBOF = dictionary; base..ctor(); } // Token: 0x04000E4F RID: 3663 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4000E4F")] [SerializeField] private TextMesh textMesh; // Token: 0x04000E50 RID: 3664 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4000E50")] [SerializeField] private TextMeshPro textMeshPro; // Token: 0x04000E51 RID: 3665 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4000E51")] [SerializeField] private Text uiText; // Token: 0x04000E52 RID: 3666 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x4000E52")] private readonly List PGDICHHPLBI; // Token: 0x04000E53 RID: 3667 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x4000E53")] [SerializeField] [Tooltip("Default message if none is provided by a player")] protected string defaultMessage; // Token: 0x04000E54 RID: 3668 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x4000E54")] [SerializeField] [Tooltip("Truncate message to this length")] protected int maxMessageLength; // Token: 0x04000E55 RID: 3669 [global::Cpp2IlInjected.FieldOffset(Offset = "0x6C")] [Token(Token = "0x4000E55")] [SerializeField] [Tooltip("Convert \"\\n\" to a newline, and other escape sequences")] protected bool unescapeString; // Token: 0x04000E56 RID: 3670 [global::Cpp2IlInjected.FieldOffset(Offset = "0x6D")] [Token(Token = "0x4000E56")] [SerializeField] [Tooltip("Will this attempt to replace {R} with a circuit signal")] private bool usesCircuits; // Token: 0x04000E57 RID: 3671 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x4000E57")] [SerializeField] [Tooltip("Message in the UI Dialog used by player to edit")] protected string dialogMessage; // Token: 0x04000E58 RID: 3672 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x4000E58")] [SerializeField] [Tooltip("Type of text editor used in input dialog")] protected EBPEIAPPJJK textInputMode; // Token: 0x04000E59 RID: 3673 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x4000E59")] [SerializeField] [OCIDFHDICIP(JIBDPHMGEGO.Self, false, false)] private CircuitNodeDisplay nodeDisplay; // Token: 0x04000E5A RID: 3674 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x4000E5A")] public PlayerEditableTextBase.UnityStringEvent OnTextUpdated; // Token: 0x04000E5B RID: 3675 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x4000E5B")] private readonly StringBuilder OEHELEIBKEB; // Token: 0x04000E5C RID: 3676 [Token(Token = "0x4000E5C")] private static readonly Dictionary AADNLEIJENE = new Dictionary(); // Token: 0x04000E5D RID: 3677 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x4000E5D")] private readonly Dictionary NOGGJIOKBOF; // Token: 0x04000E5E RID: 3678 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x4000E5E")] private string KKNKMONCAEJ; // Token: 0x0200026E RID: 622 [Token(Token = "0x200026E")] private class BONDLNHHNIF { // Token: 0x06001272 RID: 4722 RVA: 0x0004EAF4 File Offset: 0x0004CCF4 [Token(Token = "0x6001272")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public BONDLNHHNIF() { } // Token: 0x04000E5F RID: 3679 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4000E5F")] public string NECNNNABFEA; // Token: 0x04000E60 RID: 3680 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4000E60")] public string CFEHFCGJGKI; } // Token: 0x0200026F RID: 623 [Token(Token = "0x200026F")] [Serializable] public class UnityStringEvent : UnityEvent { // Token: 0x06001273 RID: 4723 RVA: 0x0004EB08 File Offset: 0x0004CD08 [Token(Token = "0x6001273")] [Address(RVA = "0xFEB100", Offset = "0xFE9B00", VA = "0x180FEB100")] public UnityStringEvent() { } } }