Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/PlayerEditableTextBase.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

520 lines
17 KiB
C#

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: 0x02000263 RID: 611
[Token(Token = "0x2000263")]
[DisallowMultipleComponent]
public abstract class PlayerEditableTextBase : MonoBehaviourPun, EOCLMMENCKH
{
// Token: 0x170002A8 RID: 680
// (get) Token: 0x0600123A RID: 4666 RVA: 0x0004D9B4 File Offset: 0x0004BBB4
[Token(Token = "0x170002A8")]
public IReadOnlyList<KLDGLAAAILI> FAPLMCMJEHG
{
[Token(Token = "0x600123A")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")]
get
{
/*
An exception occurred when decompiling this method (0600123A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IReadOnlyList`1<KLDGLAAAILI> PlayerEditableTextBase::get_TextElements()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:class [mscorlib]System.Collections.Generic.List`1<class KLDGLAAAILI>(var_0_06, ldfld:class [mscorlib]System.Collections.Generic.List`1<class KLDGLAAAILI>(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: 0x0600123B RID: 4667 RVA: 0x0004D9C8 File Offset: 0x0004BBC8
[Token(Token = "0x600123B")]
[Address(RVA = "0x142DD50", Offset = "0x142CD50", VA = "0x18142DD50", Slot = "13")]
protected override void Awake()
{
base..ctor();
Text text = this.uiText;
int num = 0;
if (text != num)
{
Text text2 = this.uiText;
List<KLDGLAAAILI> pgdichhplbi = this.PGDICHHPLBI;
}
TextMesh textMesh = this.textMesh;
int num2 = 0;
if (textMesh != num2)
{
TextMesh textMesh2 = this.textMesh;
List<KLDGLAAAILI> pgdichhplbi2 = this.PGDICHHPLBI;
}
TextMeshPro textMeshPro = this.textMeshPro;
int num3 = 0;
if (textMeshPro != num3)
{
TextMeshPro textMeshPro2 = this.textMeshPro;
List<KLDGLAAAILI> pgdichhplbi3 = this.PGDICHHPLBI;
}
int num4 = 0;
InputSlot[] allStandardInputSlots = IOSlots.AllStandardInputSlots;
if (num4 < allStandardInputSlots.Length)
{
InputSlot[] allStandardInputSlots2 = IOSlots.AllStandardInputSlots;
Dictionary<InputSlot, int> 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<string> unityAction = new UnityAction(this.AMHHNDOJGHJ);
onTextUpdated.AddListener(unityAction);
}
// Token: 0x0600123C RID: 4668 RVA: 0x0004DAF4 File Offset: 0x0004BCF4
[Token(Token = "0x600123C")]
[Address(RVA = "0x142E800", Offset = "0x142D800", VA = "0x18142E800")]
protected void Start()
{
if (!this.DIKNJPBKDBG && EIMGAFPPJFD.IKDFDELJBII())
{
this.DIKNJPBKDBG = true;
}
this.LDEGMHLJLGJ();
}
// Token: 0x0600123D RID: 4669 RVA: 0x0004DB24 File Offset: 0x0004BD24
[Token(Token = "0x600123D")]
[Address(RVA = "0x142E780", Offset = "0x142D780", VA = "0x18142E780")]
public void RegisterEditables()
{
if (!this.DIKNJPBKDBG && EIMGAFPPJFD.IKDFDELJBII())
{
this.DIKNJPBKDBG = true;
this.JHNBIICLJLM();
return;
}
}
// Token: 0x0600123E RID: 4670
[Token(Token = "0x600123E")]
[Address(Slot = "18")]
protected abstract void JHNBIICLJLM();
// Token: 0x0600123F RID: 4671 RVA: 0x0004DB54 File Offset: 0x0004BD54
[Token(Token = "0x600123F")]
[Address(RVA = "0x142E670", Offset = "0x142D670", VA = "0x18142E670", 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<string> unityAction = new UnityAction(this.AMHHNDOJGHJ);
onTextUpdated.RemoveListener(unityAction);
}
// Token: 0x06001240 RID: 4672 RVA: 0x0004DBBC File Offset: 0x0004BDBC
[Token(Token = "0x6001240")]
[Address(RVA = "0x142E0F0", Offset = "0x142D0F0", VA = "0x18142E0F0")]
public void Circuit_UpdateText(Dictionary<InputSlot, int> signals)
{
int num;
do
{
num = 0;
bool flag;
if (flag)
{
Dictionary<InputSlot, int> noggjiokbof = this.NOGGJIOKBOF;
}
}
while (num != 0);
this.usesCircuits = true;
this.LDEGMHLJLGJ();
}
// Token: 0x06001241 RID: 4673 RVA: 0x0004DBF4 File Offset: 0x0004BDF4
[Token(Token = "0x6001241")]
[Address(RVA = "0x142E080", Offset = "0x142D080", VA = "0x18142E080")]
public void Circuit_UpdateSingleSignalText(int BECIIEHIPMJ)
{
Dictionary<InputSlot, int> noggjiokbof = this.NOGGJIOKBOF;
this.usesCircuits = true;
int num = 0;
noggjiokbof[num] = BECIIEHIPMJ;
this.LDEGMHLJLGJ();
}
// Token: 0x06001242 RID: 4674 RVA: 0x0004DC28 File Offset: 0x0004BE28
[Token(Token = "0x6001242")]
[Address(RVA = "0x142E070", Offset = "0x142D070", VA = "0x18142E070")]
private void BJHFLABFJPM()
{
this.LDEGMHLJLGJ();
}
// Token: 0x06001243 RID: 4675 RVA: 0x0004DC3C File Offset: 0x0004BE3C
[Token(Token = "0x6001243")]
[Address(RVA = "0x142E3C0", Offset = "0x142D3C0", VA = "0x18142E3C0")]
protected void LDEGMHLJLGJ()
{
if (!this.usesCircuits)
{
this.JHNBIICLJLM();
bool flag;
if (flag)
{
PlayerEditableTextBase.UnityStringEvent onTextUpdated = this.OnTextUpdated;
}
return;
}
this.JHNBIICLJLM();
bool flag2;
if (flag2)
{
int hashCode = this.OEHELEIBKEB.GetHashCode();
}
string kknkmoncaej = this.KKNKMONCAEJ;
string text;
bool flag3 = text != kknkmoncaej;
throw new NullReferenceException();
}
// Token: 0x06001244 RID: 4676 RVA: 0x0004DC94 File Offset: 0x0004BE94
[Token(Token = "0x6001244")]
[Address(RVA = "0x142E330", Offset = "0x142D330", VA = "0x18142E330")]
private void ENIFIGCGICP()
{
this.JHNBIICLJLM();
bool flag;
if (flag)
{
PlayerEditableTextBase.UnityStringEvent onTextUpdated = this.OnTextUpdated;
}
}
// Token: 0x06001245 RID: 4677 RVA: 0x0004DCB8 File Offset: 0x0004BEB8
[Token(Token = "0x6001245")]
[Address(RVA = "0x142E230", Offset = "0x142D230", VA = "0x18142E230")]
private void DGMJBFOMMML()
{
this.JHNBIICLJLM();
bool flag;
if (flag)
{
int hashCode = this.OEHELEIBKEB.GetHashCode();
}
string kknkmoncaej = this.KKNKMONCAEJ;
string text;
if (text != kknkmoncaej)
{
PlayerEditableTextBase.UnityStringEvent onTextUpdated = this.OnTextUpdated;
this.KKNKMONCAEJ = text;
onTextUpdated.Invoke(text);
}
}
// Token: 0x06001246 RID: 4678 RVA: 0x0004DD0C File Offset: 0x0004BF0C
[Token(Token = "0x6001246")]
[Address(RVA = "0x142D850", Offset = "0x142C850", VA = "0x18142D850")]
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<InputSlot, PlayerEditableTextBase.BONDLNHHNIF> 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: 0x06001247 RID: 4679
[Token(Token = "0x6001247")]
[Address(Slot = "19")]
protected abstract string NCOBPFBEHPD();
// Token: 0x06001248 RID: 4680 RVA: 0x0004DE14 File Offset: 0x0004C014
[Token(Token = "0x6001248")]
[Address(RVA = "0x142E510", Offset = "0x142D510", VA = "0x18142E510")]
protected static string LOFGKLDPGJI(string NGPMADFHHKP, int OMJLGGPHALE)
{
return NGPMADFHHKP;
}
// Token: 0x06001249 RID: 4681 RVA: 0x0004DE34 File Offset: 0x0004C034
[Token(Token = "0x6001249")]
[Address(RVA = "0x142DBA0", Offset = "0x142CBA0", VA = "0x18142DBA0")]
private void AMHHNDOJGHJ(string NCPBDBJDNHB)
{
int num;
do
{
num = 0;
if ((this.unescapeString ? 1 : 0) != num)
{
string text = Regex.Unescape(NCPBDBJDNHB);
}
List<KLDGLAAAILI> pgdichhplbi = this.PGDICHHPLBI;
bool flag;
if (flag)
{
num += num;
num++;
num++;
num += 19;
}
}
while (num != 0);
}
// Token: 0x0600124A RID: 4682 RVA: 0x0004DE7C File Offset: 0x0004C07C
[Token(Token = "0x600124A")]
[Address(RVA = "0x142E5A0", Offset = "0x142D5A0", VA = "0x18142E5A0")]
protected int MJCOCPMPPHH(InputSlot POFOFFDCGCB)
{
CircuitNodeDisplay circuitNodeDisplay = this.nodeDisplay;
int num = 0;
if (circuitNodeDisplay != num && this.nodeDisplay.MBBJMCDGDMN != 0)
{
int num2;
return num2;
}
Dictionary<InputSlot, int> noggjiokbof = this.NOGGJIOKBOF;
int num3;
return num3;
}
// Token: 0x170002A9 RID: 681
// (get) Token: 0x0600124B RID: 4683 RVA: 0x0004DEBC File Offset: 0x0004C0BC
[Token(Token = "0x170002A9")]
public bool JBMFJOBFJHP
{
[Token(Token = "0x600124B")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "15")]
get
{
}
}
// Token: 0x0600124C RID: 4684
[Token(Token = "0x600124C")]
[Address(Slot = "20")]
public abstract void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH);
// Token: 0x0600124D RID: 4685
[Token(Token = "0x600124D")]
[Address(Slot = "21")]
public abstract void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB);
// Token: 0x0600124E RID: 4686 RVA: 0x0004DECC File Offset: 0x0004C0CC
[Token(Token = "0x600124E")]
[Address(RVA = "0x142E8E0", Offset = "0x142D8E0", VA = "0x18142E8E0")]
protected PlayerEditableTextBase()
{
List<KLDGLAAAILI> 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<InputSlot, int> dictionary = new Dictionary();
this.NOGGJIOKBOF = dictionary;
base..ctor();
}
// Token: 0x04000E2B RID: 3627
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4000E2B")]
[SerializeField]
private TextMesh textMesh;
// Token: 0x04000E2C RID: 3628
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4000E2C")]
[SerializeField]
private TextMeshPro textMeshPro;
// Token: 0x04000E2D RID: 3629
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4000E2D")]
[SerializeField]
private Text uiText;
// Token: 0x04000E2E RID: 3630
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4000E2E")]
private readonly List<KLDGLAAAILI> PGDICHHPLBI;
// Token: 0x04000E2F RID: 3631
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4000E2F")]
[SerializeField]
[Tooltip("Default message if none is provided by a player")]
protected string defaultMessage;
// Token: 0x04000E30 RID: 3632
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4000E30")]
[SerializeField]
[Tooltip("Truncate message to this length")]
protected int maxMessageLength;
// Token: 0x04000E31 RID: 3633
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4000E31")]
[SerializeField]
[Tooltip("Convert \"\\n\" to a newline, and other escape sequences")]
protected bool unescapeString;
// Token: 0x04000E32 RID: 3634
[FieldOffset(Offset = "0x6D")]
[Token(Token = "0x4000E32")]
[SerializeField]
[Tooltip("Will this attempt to replace {R} with a circuit signal")]
private bool usesCircuits;
// Token: 0x04000E33 RID: 3635
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4000E33")]
[SerializeField]
[Tooltip("Message in the UI Dialog used by player to edit")]
protected string dialogMessage;
// Token: 0x04000E34 RID: 3636
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4000E34")]
[SerializeField]
[Tooltip("Type of text editor used in input dialog")]
protected EBPEIAPPJJK textInputMode;
// Token: 0x04000E35 RID: 3637
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4000E35")]
[SerializeField]
[OAGJHJAIMMP(FHBJCBPFODN.Self, false, false, false)]
private CircuitNodeDisplay nodeDisplay;
// Token: 0x04000E36 RID: 3638
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4000E36")]
public PlayerEditableTextBase.UnityStringEvent OnTextUpdated;
// Token: 0x04000E37 RID: 3639
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4000E37")]
private readonly StringBuilder OEHELEIBKEB;
// Token: 0x04000E38 RID: 3640
[Token(Token = "0x4000E38")]
private static readonly Dictionary<InputSlot, PlayerEditableTextBase.BONDLNHHNIF> AADNLEIJENE = new Dictionary();
// Token: 0x04000E39 RID: 3641
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4000E39")]
private readonly Dictionary<InputSlot, int> NOGGJIOKBOF;
// Token: 0x04000E3A RID: 3642
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4000E3A")]
private string KKNKMONCAEJ;
// Token: 0x04000E3B RID: 3643
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4000E3B")]
private bool DIKNJPBKDBG;
// Token: 0x02000264 RID: 612
[Token(Token = "0x2000264")]
private class BONDLNHHNIF
{
// Token: 0x06001250 RID: 4688 RVA: 0x0004DF40 File Offset: 0x0004C140
[Token(Token = "0x6001250")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public BONDLNHHNIF()
{
}
// Token: 0x04000E3C RID: 3644
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4000E3C")]
public string NECNNNABFEA;
// Token: 0x04000E3D RID: 3645
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4000E3D")]
public string CFEHFCGJGKI;
}
// Token: 0x02000265 RID: 613
[Token(Token = "0x2000265")]
[Serializable]
public class UnityStringEvent : UnityEvent<string>
{
// Token: 0x06001251 RID: 4689 RVA: 0x0004DF54 File Offset: 0x0004C154
[Token(Token = "0x6001251")]
[Address(RVA = "0x1444A30", Offset = "0x1443A30", VA = "0x181444A30")]
public UnityStringEvent()
{
}
}
}