using System; using System.Collections.Generic; 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: 0x02000260 RID: 608 [Token(Token = "0x2000260")] [DisallowMultipleComponent] public abstract class PlayerEditableTextBase : MonoBehaviourPun, EOCLMMENCKH { // Token: 0x170002A5 RID: 677 // (get) Token: 0x06001211 RID: 4625 RVA: 0x0004D0E8 File Offset: 0x0004B2E8 [Token(Token = "0x170002A5")] public IReadOnlyList FAPLMCMJEHG { [Token(Token = "0x6001211")] [Address(RVA = "0x423D40", Offset = "0x422B40", VA = "0x180423D40")] get { /* An exception occurred when decompiling this method (06001211) 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 1660 */; } } // Token: 0x06001212 RID: 4626 RVA: 0x0004D0FC File Offset: 0x0004B2FC [Token(Token = "0x6001212")] [Address(RVA = "0xAE7150", Offset = "0xAE5F50", VA = "0x180AE7150", 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: 0x06001213 RID: 4627 RVA: 0x0004D228 File Offset: 0x0004B428 [Token(Token = "0x6001213")] [Address(RVA = "0xAE7B30", Offset = "0xAE6930", VA = "0x180AE7B30")] protected void Start() { this.LDEGMHLJLGJ(); } // Token: 0x06001214 RID: 4628 [Token(Token = "0x6001214")] [Address(Slot = "18")] protected abstract void LMFHDPCGCGP(); // Token: 0x06001215 RID: 4629 RVA: 0x0004D23C File Offset: 0x0004B43C [Token(Token = "0x6001215")] [Address(RVA = "0xAE7A20", Offset = "0xAE6820", VA = "0x180AE7A20", 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: 0x06001216 RID: 4630 RVA: 0x0004D2A4 File Offset: 0x0004B4A4 [Token(Token = "0x6001216")] [Address(RVA = "0xAE74F0", Offset = "0xAE62F0", VA = "0x180AE74F0")] public void Circuit_UpdateText(Dictionary signals) { int num; do { num = 0; bool flag; if (flag) { Dictionary noggjiokbof = this.NOGGJIOKBOF; } } while (num != 0); this.usesCircuits = true; this.LDEGMHLJLGJ(); } // Token: 0x06001217 RID: 4631 RVA: 0x0004D2DC File Offset: 0x0004B4DC [Token(Token = "0x6001217")] [Address(RVA = "0xAE7480", Offset = "0xAE6280", VA = "0x180AE7480")] public void Circuit_UpdateSingleSignalText(int BECIIEHIPMJ) { Dictionary noggjiokbof = this.NOGGJIOKBOF; this.usesCircuits = true; int num = 0; noggjiokbof[num] = BECIIEHIPMJ; this.LDEGMHLJLGJ(); } // Token: 0x06001218 RID: 4632 RVA: 0x0004D310 File Offset: 0x0004B510 [Token(Token = "0x6001218")] [Address(RVA = "0xAE7470", Offset = "0xAE6270", VA = "0x180AE7470")] private void BJHFLABFJPM() { this.LDEGMHLJLGJ(); } // Token: 0x06001219 RID: 4633 RVA: 0x0004D324 File Offset: 0x0004B524 [Token(Token = "0x6001219")] [Address(RVA = "0xAE77D0", Offset = "0xAE65D0", VA = "0x180AE77D0")] 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: 0x0600121A RID: 4634 RVA: 0x0004D374 File Offset: 0x0004B574 [Token(Token = "0x600121A")] [Address(RVA = "0xAE7740", Offset = "0xAE6540", VA = "0x180AE7740")] private void ENIFIGCGICP() { this.LMFHDPCGCGP(); bool flag; if (flag) { PlayerEditableTextBase.UnityStringEvent onTextUpdated = this.OnTextUpdated; } } // Token: 0x0600121B RID: 4635 RVA: 0x0004D398 File Offset: 0x0004B598 [Token(Token = "0x600121B")] [Address(RVA = "0xAE7630", Offset = "0xAE6430", VA = "0x180AE7630")] 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: 0x0600121C RID: 4636 RVA: 0x0004D3F8 File Offset: 0x0004B5F8 [Token(Token = "0x600121C")] [Address(RVA = "0xAE6C50", Offset = "0xAE5A50", VA = "0x180AE6C50")] 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; } string text5; StringBuilder stringBuilder3 = this.OEHELEIBKEB.Replace(num, text5); StringBuilder stringBuilder4 = this.OEHELEIBKEB.Replace(num, text5); num++; } return true; } throw new NullReferenceException(); } // Token: 0x0600121D RID: 4637 [Token(Token = "0x600121D")] [Address(Slot = "19")] protected abstract string NCOBPFBEHPD(); // Token: 0x0600121E RID: 4638 RVA: 0x0004D500 File Offset: 0x0004B700 [Token(Token = "0x600121E")] [Address(RVA = "0xAE7920", Offset = "0xAE6720", VA = "0x180AE7920")] protected static string LOFGKLDPGJI(string NGPMADFHHKP, int OMJLGGPHALE) { return NGPMADFHHKP; } // Token: 0x0600121F RID: 4639 RVA: 0x0004D520 File Offset: 0x0004B720 [Token(Token = "0x600121F")] [Address(RVA = "0xAE6FA0", Offset = "0xAE5DA0", VA = "0x180AE6FA0")] 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; bool flag; if (flag) { num += num; num++; num++; num += 19; } } while (num != 0); } // Token: 0x06001220 RID: 4640 RVA: 0x0004D568 File Offset: 0x0004B768 [Token(Token = "0x6001220")] [Address(RVA = "0xAE7950", Offset = "0xAE6750", VA = "0x180AE7950")] 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: 0x170002A6 RID: 678 // (get) Token: 0x06001221 RID: 4641 RVA: 0x0004D5A8 File Offset: 0x0004B7A8 [Token(Token = "0x170002A6")] public bool JBMFJOBFJHP { [Token(Token = "0x6001221")] [Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "15")] get { } } // Token: 0x06001222 RID: 4642 [Token(Token = "0x6001222")] [Address(Slot = "20")] public abstract void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH); // Token: 0x06001223 RID: 4643 [Token(Token = "0x6001223")] [Address(Slot = "21")] public abstract void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB); // Token: 0x06001224 RID: 4644 RVA: 0x0004D5B8 File Offset: 0x0004B7B8 [Token(Token = "0x6001224")] [Address(RVA = "0xAE7BC0", Offset = "0xAE69C0", VA = "0x180AE7BC0")] 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: 0x04000E05 RID: 3589 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4000E05")] [SerializeField] private TextMesh textMesh; // Token: 0x04000E06 RID: 3590 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4000E06")] [SerializeField] private TextMeshPro textMeshPro; // Token: 0x04000E07 RID: 3591 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4000E07")] [SerializeField] private Text uiText; // Token: 0x04000E08 RID: 3592 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4000E08")] private readonly List PGDICHHPLBI; // Token: 0x04000E09 RID: 3593 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4000E09")] [SerializeField] [Tooltip("Default message if none is provided by a player")] protected string defaultMessage; // Token: 0x04000E0A RID: 3594 [FieldOffset(Offset = "0x68")] [Token(Token = "0x4000E0A")] [SerializeField] [Tooltip("Truncate message to this length")] protected int maxMessageLength; // Token: 0x04000E0B RID: 3595 [FieldOffset(Offset = "0x6C")] [Token(Token = "0x4000E0B")] [SerializeField] [Tooltip("Convert \"\\n\" to a newline, and other escape sequences")] protected bool unescapeString; // Token: 0x04000E0C RID: 3596 [FieldOffset(Offset = "0x6D")] [Token(Token = "0x4000E0C")] [SerializeField] [Tooltip("Will this attempt to replace {R} with a circuit signal")] private bool usesCircuits; // Token: 0x04000E0D RID: 3597 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4000E0D")] [SerializeField] [Tooltip("Message in the UI Dialog used by player to edit")] protected string dialogMessage; // Token: 0x04000E0E RID: 3598 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4000E0E")] [SerializeField] [Tooltip("Type of text editor used in input dialog")] protected EBPEIAPPJJK textInputMode; // Token: 0x04000E0F RID: 3599 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4000E0F")] [SerializeField] [OCIDFHDICIP(JIBDPHMGEGO.Self, false, false, false)] private CircuitNodeDisplay nodeDisplay; // Token: 0x04000E10 RID: 3600 [FieldOffset(Offset = "0x88")] [Token(Token = "0x4000E10")] public PlayerEditableTextBase.UnityStringEvent OnTextUpdated; // Token: 0x04000E11 RID: 3601 [FieldOffset(Offset = "0x90")] [Token(Token = "0x4000E11")] private readonly StringBuilder OEHELEIBKEB; // Token: 0x04000E12 RID: 3602 [Token(Token = "0x4000E12")] private static readonly Dictionary AADNLEIJENE = new Dictionary(); // Token: 0x04000E13 RID: 3603 [FieldOffset(Offset = "0x98")] [Token(Token = "0x4000E13")] private readonly Dictionary NOGGJIOKBOF; // Token: 0x04000E14 RID: 3604 [FieldOffset(Offset = "0xA0")] [Token(Token = "0x4000E14")] private string KKNKMONCAEJ; // Token: 0x02000261 RID: 609 [Token(Token = "0x2000261")] private class BONDLNHHNIF { // Token: 0x06001226 RID: 4646 RVA: 0x0004D62C File Offset: 0x0004B82C [Token(Token = "0x6001226")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public BONDLNHHNIF() { } // Token: 0x04000E15 RID: 3605 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4000E15")] public string NECNNNABFEA; // Token: 0x04000E16 RID: 3606 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4000E16")] public string CFEHFCGJGKI; } // Token: 0x02000262 RID: 610 [Token(Token = "0x2000262")] [Serializable] public class UnityStringEvent : UnityEvent { // Token: 0x06001227 RID: 4647 RVA: 0x0004D640 File Offset: 0x0004B840 [Token(Token = "0x6001227")] [Address(RVA = "0xAFEBA0", Offset = "0xAFD9A0", VA = "0x180AFEBA0")] public UnityStringEvent() { } } }