using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom; using TMPro; using UnityEngine; // Token: 0x0200051C RID: 1308 [Token(Token = "0x200051C")] [StructLayout(3)] public class TextField3D : MonoBehaviour { // Token: 0x170006ED RID: 1773 // (get) Token: 0x060026BA RID: 9914 RVA: 0x000A0AB8 File Offset: 0x0009ECB8 // (set) Token: 0x060026BB RID: 9915 RVA: 0x000A0ACC File Offset: 0x0009ECCC [Token(Token = "0x170006ED")] public float FMMHNPOGFGI { [Token(Token = "0x60026BA")] [Address(RVA = "0x621D80", Offset = "0x620780", VA = "0x180621D80")] get; [Token(Token = "0x60026BB")] [Address(RVA = "0x9E8110", Offset = "0x9E6B10", VA = "0x1809E8110")] set; } = 0.2f; // Token: 0x170006EE RID: 1774 // (get) Token: 0x060026BC RID: 9916 RVA: 0x000A0AE0 File Offset: 0x0009ECE0 [Token(Token = "0x170006EE")] public string KKJIOHNFHFJ { [Token(Token = "0x60026BC")] [Address(RVA = "0xFB2DF0", Offset = "0xFB17F0", VA = "0x180FB2DF0")] get { return this.linkedTextField.m_text; } } // Token: 0x170006EF RID: 1775 // (get) Token: 0x060026BD RID: 9917 RVA: 0x000A0B00 File Offset: 0x0009ED00 // (set) Token: 0x060026BE RID: 9918 RVA: 0x000A0B14 File Offset: 0x0009ED14 [Token(Token = "0x170006EF")] public bool GDPKBEBEOBA { [Token(Token = "0x60026BD")] [Address(RVA = "0x421DE0", Offset = "0x4207E0", VA = "0x180421DE0")] get { return this.AGILHLJPKPN; } [Token(Token = "0x60026BE")] [Address(RVA = "0xFB2EB0", Offset = "0xFB18B0", VA = "0x180FB2EB0")] set { if (this.AGILHLJPKPN != value) { Renderer[] array = this.lodRenderers; int num = 0; this.AGILHLJPKPN = value; int length = array.Length; if (num < length) { array[num].enabled = value; num++; } } } } // Token: 0x14000071 RID: 113 // (add) Token: 0x060026BF RID: 9919 RVA: 0x000A0B5C File Offset: 0x0009ED5C // (remove) Token: 0x060026C0 RID: 9920 RVA: 0x000A0B84 File Offset: 0x0009ED84 [Token(Token = "0x14000071")] public event Action FGDFDDAGELD { [Token(Token = "0x60026BF")] [Address(RVA = "0xFB2D50", Offset = "0xFB1750", VA = "0x180FB2D50")] [CompilerGenerated] add { Action fgdfddageld; Delegate @delegate; do { fgdfddageld = this.FGDFDDAGELD; @delegate = Delegate.Combine(fgdfddageld, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != fgdfddageld) { } } [Token(Token = "0x60026C0")] [Address(RVA = "0xFB2E10", Offset = "0xFB1810", VA = "0x180FB2E10")] [CompilerGenerated] remove { Action fgdfddageld; Delegate @delegate; do { fgdfddageld = this.FGDFDDAGELD; @delegate = Delegate.Remove(fgdfddageld, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != fgdfddageld) { } } } // Token: 0x060026C1 RID: 9921 RVA: 0x000A0BAC File Offset: 0x0009EDAC [Token(Token = "0x60026C1")] [Address(RVA = "0xFB1470", Offset = "0xFAFE70", VA = "0x180FB1470")] private void Awake() { int[] array = this.fontSettings.DLBFHJEJEAE(); Mesh[] array2 = new Mesh[this.lodRenderers.Length]; int num = 0; this.MCOFEAPNBJH = array2; if (num < array2.Length) { bool flag; if (flag) { Mesh mesh = new Mesh(); int num2; string text = string.Format("TextField3D_LOD_${0}", num2); mesh.name = text; Mesh[] mcofeapnbjh = this.MCOFEAPNBJH; throw new ArrayTypeMismatchException(); } Mesh[] mcofeapnbjh2 = this.MCOFEAPNBJH; num++; } Renderer[] array3 = this.lodRenderers; if (num < array3.Length) { Renderer renderer = array3[num]; int num3 = 0; if (renderer != num3) { Renderer[] array4 = this.lodRenderers; int num4 = array[num]; MeshFilter component = array4[num].GetComponent(); Mesh mesh2 = this.MCOFEAPNBJH[num4]; component.sharedMesh = mesh2; } Renderer[] array5 = this.lodRenderers; num++; while (array5 != 0) { } } TMP_Text tmp_Text = this.linkedTextField; string empty = string.Empty; this.CEDCHKNIJLI = empty; int num5 = 0; if (tmp_Text != num5) { if (this.useMinimumTextFieldWidth) { Vector2 sizeDelta = this.linkedTextField.rectTransform.sizeDelta; this.KEFEEAENAPG = sizeDelta; } if (this.useMinimumTextFieldHeight) { Vector2 sizeDelta2 = this.linkedTextField.rectTransform.sizeDelta; this.KEFEEAENAPG.y = (float)0; } TMP_Text tmp_Text2 = this.linkedTextField; int num6 = 0; tmp_Text2.extraPadding = num6 != 0; TMP_Text tmp_Text3 = this.linkedTextField; int num7 = 0; tmp_Text3.richText = num7 != 0; TMP_Text tmp_Text4 = this.linkedTextField; int num8 = 0; tmp_Text4.enabled = num8 != 0; TMP_Text tmp_Text5 = this.linkedTextField; int num9 = 0; tmp_Text5.enableWordWrapping = num9 != 0; } } // Token: 0x060026C2 RID: 9922 RVA: 0x000A0D8C File Offset: 0x0009EF8C [Token(Token = "0x60026C2")] [Address(RVA = "0xFB2AE0", Offset = "0xFB14E0", VA = "0x180FB2AE0")] private void Start() { int num = 0; int num2 = 0; this.Redraw(num2 != 0, num != 0); } // Token: 0x060026C3 RID: 9923 RVA: 0x000A0DA8 File Offset: 0x0009EFA8 [Token(Token = "0x60026C3")] [Address(RVA = "0xFB24F0", Offset = "0xFB0EF0", VA = "0x180FB24F0")] private void OnDestroy() { Mesh[] mcofeapnbjh = this.MCOFEAPNBJH; int num = 0; int length = mcofeapnbjh.Length; if (num < length) { SafeDestroy.Asset(mcofeapnbjh[num]); num++; } } // Token: 0x060026C4 RID: 9924 RVA: 0x000A0DE0 File Offset: 0x0009EFE0 [Token(Token = "0x60026C4")] [Address(RVA = "0xFB2AF0", Offset = "0xFB14F0", VA = "0x180FB2AF0")] public bool TryGetMeshBounds(out Bounds PDPPMFNOBMO) { Mesh eechkeogbao = this.EECHKEOGBAO; int num = 0; if (!(eechkeogbao == num)) { Mesh eechkeogbao2 = this.EECHKEOGBAO; return true; } int num2 = 0; PDPPMFNOBMO.m_Center = num2; PDPPMFNOBMO.m_Extents.y = (float)num2; throw new NullReferenceException(); } // Token: 0x060026C5 RID: 9925 RVA: 0x000A0E28 File Offset: 0x0009F028 [Token(Token = "0x60026C5")] [Address(RVA = "0xFB2550", Offset = "0xFB0F50", VA = "0x180FB2550")] public void Redraw(bool BELNFPPLCEP = false, bool CCMCLPFEIKO = false) { TextField3D.FCKNLOGFMCB fcknlogfmcb = new TextField3D.FCKNLOGFMCB(); fcknlogfmcb.<>4__this = this; Font3DSettings font3DSettings = this.fontSettings; int num = 0; if (!(font3DSettings == num)) { TMP_Text tmp_Text = this.linkedTextField; int num2 = 0; if (!(tmp_Text == num2)) { Mesh eechkeogbao = this.EECHKEOGBAO; int num3 = 0; if (!(eechkeogbao == num3)) { TMP_Text tmp_Text2 = this.linkedTextField; string cedchknijli = this.CEDCHKNIJLI; bool flag = tmp_Text2.m_text != cedchknijli; if (BELNFPPLCEP || flag) { string text = this.linkedTextField.m_text; fcknlogfmcb.currentText = text; TMP_Text tmp_Text3 = this.linkedTextField; this.CEDCHKNIJLI = text; float minHeight = tmp_Text3.minHeight; TMP_Text tmp_Text4 = this.linkedTextField; float preferredWidth = tmp_Text4.preferredWidth; float y = this.KEFEEAENAPG.y; float num4 = Mathf.Max(preferredWidth, y); RectTransform rectTransform = this.linkedTextField.rectTransform; Vector3[] textContainerLocalCorners = this.linkedTextField.GetTextContainerLocalCorners(); TMP_Text tmp_Text5 = this.linkedTextField; int num5 = 0; Mesh[] mcofeapnbjh = this.MCOFEAPNBJH; int num6 = 0; if (num6 < mcofeapnbjh.Length) { Mesh mesh = this.MCOFEAPNBJH[num5]; int num7 = 0; if (!(mesh == num7)) { int lod = num5; int instanceID = base.gameObject.GetInstanceID(); int lod4 = lod; string text2 = string.Format("{0}_{1}", instanceID, instanceID); if (CCMCLPFEIKO) { JobQueueManager instance = SingletonMonoBehaviour.Instance; int num8 = 0; if (instance != num8) { SingletonMonoBehaviour.Instance.CancelJob(text2, JobQueueManager.BEANDMIPMNH.TextMeshGeneration); } TextField3D.FCKNLOGFMCB cs$<>8__locals = fcknlogfmcb; TMP_TextInfo info = cs$<>8__locals.info; string currentText = cs$<>8__locals.currentText; int lod2 = lod; this.LAANNLBKKAG(currentText, lod2, info); } JobQueueManager instance2 = SingletonMonoBehaviour.Instance; int num9 = 0; if (instance2 != num9) { JobQueueManager instance3 = SingletonMonoBehaviour.Instance; Action action = delegate { TextField3D.FCKNLOGFMCB cs$<>8__locals2 = fcknlogfmcb; TextField3D <>4__this = cs$<>8__locals2.<>4__this; TMP_TextInfo info2 = cs$<>8__locals2.info; int lod3 = lod; string currentText2 = cs$<>8__locals2.currentText; <>4__this.LAANNLBKKAG(currentText2, lod3, info2); }; instance3.EnqueueJob(text2, (JobQueueManager.BEANDMIPMNH)((uint)1), true, action); } } Mesh[] mcofeapnbjh2 = this.MCOFEAPNBJH; num5++; } } } } } } // Token: 0x060026C6 RID: 9926 RVA: 0x000A105C File Offset: 0x0009F25C [Token(Token = "0x60026C6")] [Address(RVA = "0xFB1870", Offset = "0xFB0270", VA = "0x180FB1870")] private void LAANNLBKKAG(string PAANJCAOOAG, int OLGEJFLEBEN, TMP_TextInfo HDBBIEIOMHI) { /* An exception occurred when decompiling this method (060026C6) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void TextField3D::LAANNLBKKAG(System.String,System.Int32,TMPro.TMP_TextInfo) ---> System.ArgumentOutOfRangeException: length ('-1') must be a non-negative value. (Parameter 'length') Actual value was -1. at System.ArgumentOutOfRangeException.ThrowNegative[T](T value, String paramName) at System.Array.CopyImpl(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable) at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length) at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 327 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 117 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: 0x060026C7 RID: 9927 RVA: 0x000A1294 File Offset: 0x0009F494 [Token(Token = "0x60026C7")] [Address(RVA = "0xFB2CA0", Offset = "0xFB16A0", VA = "0x180FB2CA0")] public TextField3D() { List list = new List(); this.PPHFABHGDHD = list; Vector2 zero = Vector2.zero; this.KEFEEAENAPG = zero; this.KEFEEAENAPG.y = (float)0; base..ctor(); } // Token: 0x0400211F RID: 8479 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400211F")] [SerializeField] [Tooltip("Font settings used to create new 3D glyphs.")] private Font3DSettings fontSettings; // Token: 0x04002120 RID: 8480 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4002120")] [SerializeField] [Tooltip("Text field backing the 3D text. Used for content and positioning.")] private TMP_Text linkedTextField; // Token: 0x04002121 RID: 8481 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4002121")] [SerializeField] private LODGroup lodGroup; // Token: 0x04002122 RID: 8482 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4002122")] [SerializeField] private Renderer[] lodRenderers; // Token: 0x04002123 RID: 8483 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4002123")] [SerializeField] [Tooltip("When toggled uses initial text field width as the minimum width")] private bool useMinimumTextFieldWidth; // Token: 0x04002124 RID: 8484 [global::Cpp2IlInjected.FieldOffset(Offset = "0x39")] [Token(Token = "0x4002124")] [SerializeField] [Tooltip("When toggled uses initial text field height as the minimum height")] private bool useMinimumTextFieldHeight; // Token: 0x04002126 RID: 8486 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4002126")] private bool AGILHLJPKPN = true; // Token: 0x04002127 RID: 8487 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4002127")] private readonly List PPHFABHGDHD; // Token: 0x04002128 RID: 8488 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4002128")] private Mesh[] MCOFEAPNBJH; // Token: 0x04002129 RID: 8489 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x4002129")] private Mesh EECHKEOGBAO; // Token: 0x0400212A RID: 8490 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400212A")] private string CEDCHKNIJLI; // Token: 0x0400212B RID: 8491 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400212B")] private Vector2 KEFEEAENAPG; // Token: 0x0400212C RID: 8492 [Token(Token = "0x400212C")] private static readonly List ACHEEFBKJDM = new List(); // Token: 0x0400212D RID: 8493 [Token(Token = "0x400212D")] private static readonly List FKGAPNLMMMN = new List(); // Token: 0x0400212E RID: 8494 [Token(Token = "0x400212E")] private static readonly List LAAMIMHABPK = new List(); // Token: 0x0400212F RID: 8495 [Token(Token = "0x400212F")] private static readonly List DKGAKGJHGFA = new List(); // Token: 0x0200051D RID: 1309 [Token(Token = "0x200051D")] [CompilerGenerated] private sealed class FCKNLOGFMCB { // Token: 0x060026C9 RID: 9929 RVA: 0x000A131C File Offset: 0x0009F51C [Token(Token = "0x60026C9")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public FCKNLOGFMCB() { } // Token: 0x04002131 RID: 8497 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4002131")] public TextField3D <>4__this; // Token: 0x04002132 RID: 8498 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4002132")] public string currentText; // Token: 0x04002133 RID: 8499 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4002133")] public TMP_TextInfo info; } // Token: 0x0200051E RID: 1310 [Token(Token = "0x200051E")] [CompilerGenerated] private sealed class HGMCNNBCFGL { // Token: 0x060026CA RID: 9930 RVA: 0x000A1330 File Offset: 0x0009F530 [Token(Token = "0x60026CA")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public HGMCNNBCFGL() { } // Token: 0x060026CB RID: 9931 RVA: 0x000A1344 File Offset: 0x0009F544 [Token(Token = "0x60026CB")] [Address(RVA = "0xFAD900", Offset = "0xFAC300", VA = "0x180FAD900")] internal void b__0() { TextField3D.FCKNLOGFMCB cs$<>8__locals = this.CS$<>8__locals1; TextField3D <>4__this = cs$<>8__locals.<>4__this; TMP_TextInfo info = cs$<>8__locals.info; int num = this.lod; string currentText = cs$<>8__locals.currentText; <>4__this.LAANNLBKKAG(currentText, num, info); } // Token: 0x04002134 RID: 8500 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4002134")] public int lod; // Token: 0x04002135 RID: 8501 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4002135")] public TextField3D.FCKNLOGFMCB CS$<>8__locals1; } }