Files
2026-04-10 22:50:51 +02:00

497 lines
16 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: 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<KLDGLAAAILI> 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<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: 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<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: 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<string> 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<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: 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<InputSlot, int> 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<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: 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<KLDGLAAAILI> 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<InputSlot, int> 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<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: 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<KLDGLAAAILI> 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<InputSlot, PlayerEditableTextBase.BONDLNHHNIF> AADNLEIJENE = new Dictionary();
// Token: 0x04000E13 RID: 3603
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4000E13")]
private readonly Dictionary<InputSlot, int> 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<string>
{
// Token: 0x06001227 RID: 4647 RVA: 0x0004D640 File Offset: 0x0004B840
[Token(Token = "0x6001227")]
[Address(RVA = "0xAFEBA0", Offset = "0xAFD9A0", VA = "0x180AFEBA0")]
public UnityStringEvent()
{
}
}
}