Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/PlayerEditableTextBase.cs
T
2026-04-08 23:40:05 +02:00

504 lines
17 KiB
C#

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<KLDGLAAAILI> 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<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: 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<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: 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<string> 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<InputSlot, int> signals)
{
int num;
do
{
num = 0;
Dictionary.Enumerator enumerator;
if (enumerator != 0)
{
Dictionary<InputSlot, int> 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<InputSlot, int> 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<InputSlot, PlayerEditableTextBase.BONDLNHHNIF> 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<KLDGLAAAILI> 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<InputSlot, int> 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<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: 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<KLDGLAAAILI> 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<InputSlot, PlayerEditableTextBase.BONDLNHHNIF> AADNLEIJENE = new Dictionary();
// Token: 0x04000E5D RID: 3677
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
[Token(Token = "0x4000E5D")]
private readonly Dictionary<InputSlot, int> 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<string>
{
// Token: 0x06001273 RID: 4723 RVA: 0x0004EB08 File Offset: 0x0004CD08
[Token(Token = "0x6001273")]
[Address(RVA = "0xFEB100", Offset = "0xFE9B00", VA = "0x180FEB100")]
public UnityStringEvent()
{
}
}
}