using System; using System.Collections; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using AGUI.StackedUI; using Cpp2IlInjected; using RecRoom.Async; using RecRoom.Core.Creation; using UnityEngine; namespace RecRoom.AGUI.ToolUIs { // Token: 0x0200249E RID: 9374 [Token(Token = "0x200249E")] [StructLayout(3)] public class ToolImposterUI : MonoBehaviour { // Token: 0x17002C0F RID: 11279 // (get) Token: 0x0601035E RID: 66398 RVA: 0x003CC84C File Offset: 0x003CAA4C // (set) Token: 0x0601035F RID: 66399 RVA: 0x003CC860 File Offset: 0x003CAA60 [Token(Token = "0x17002C0F")] public OGNBCNBPFCC LCODFFNFGBK { [Token(Token = "0x601035E")] [Address(RVA = "0x4F8C10", Offset = "0x4F7610", VA = "0x1804F8C10")] get; [Token(Token = "0x601035F")] [Address(RVA = "0x420CD0", Offset = "0x41F6D0", VA = "0x180420CD0")] private set; } // Token: 0x06010360 RID: 66400 RVA: 0x003CC874 File Offset: 0x003CAA74 [Token(Token = "0x6010360")] [Address(RVA = "0x931810", Offset = "0x930210", VA = "0x180931810")] private void Awake() { this.k__BackingField = (OGNBCNBPFCC)((ulong)4294967295L); } // Token: 0x06010361 RID: 66401 RVA: 0x003CC894 File Offset: 0x003CAA94 [Token(Token = "0x6010361")] [Address(RVA = "0x1567B60", Offset = "0x1566560", VA = "0x181567B60")] private void OnDestroy() { this.OCGFDAFGNCG(); if (this.EMLIKFJNPEM != 0) { this.EMLIKFJNPEM = (ulong)0L; } } // Token: 0x06010362 RID: 66402 RVA: 0x003CC8BC File Offset: 0x003CAABC [Token(Token = "0x6010362")] [Address(RVA = "0x15679C0", Offset = "0x15663C0", VA = "0x1815679C0")] private void BAIGGMFKCKM() { if (this.EMLIKFJNPEM != 0) { this.EMLIKFJNPEM = (ulong)0L; } } // Token: 0x06010363 RID: 66403 RVA: 0x003CC8DC File Offset: 0x003CAADC [Token(Token = "0x6010363")] [Address(RVA = "0x1567DC0", Offset = "0x15667C0", VA = "0x181567DC0")] public void SetSpawnableTool(OGNBCNBPFCC EIBIBKBCFJI, StackedUIBase ANEGNEHDLOI, float NBOCPMDNOCF = 0f) { int num; do { num = 0; if (this.EMLIKFJNPEM != 0) { this.EMLIKFJNPEM = num; } if (this.k__BackingField == EIBIBKBCFJI) { return; } IEnumerator enumerator = base.transform.GetEnumerator(); GameObject gameObject; if (enumerator != 0) { if (num < enumerator) { num += num; num++; } ulong num2; enumerator += num2; if (enumerator == 0 || enumerator == 0) { goto IL_A6; } SafeDestroy.GameObject(gameObject); } if (gameObject != 0) { } if (num != -1) { } } while (num != 0); this.OCGFDAFGNCG(); this.k__BackingField = EIBIBKBCFJI; Delayed3DUIObjectSpawner orAddComponent = base.gameObject.GetOrAddComponent(); Action action = delegate(Transform parent) { ToolImposterUI.JHCHILJGCGI jhchiljgcgi = new ToolImposterUI.JHCHILJGCGI(); jhchiljgcgi.CS$<>8__locals1 = ekgfjhildem; jhchiljgcgi.parent = parent; ToolImposterUI <>4__this = ekgfjhildem.<>4__this; CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; OGNBCNBPFCC ognbcnbpfcc = ekgfjhildem.<>4__this.k__BackingField; int num3 = 0; float delay = ekgfjhildem.delay; int num4 = 0; ICancelablePromise cancelablePromise = instance.SpawnToolImposterDelayed(delay, ognbcnbpfcc, num4); <>4__this.EMLIKFJNPEM = cancelablePromise; ICancelablePromise cancelablePromise2 = ekgfjhildem.<>4__this.EMLIKFJNPEM; Action action2 = delegate(SpawnableTool toolImposter) { Transform transform = toolImposter.transform; float z = Vector3.zero.z; Renderer[] componentsInChildren = toolImposter.GetComponentsInChildren(true); int num5 = 0; int num6 = 0; int length = componentsInChildren.Length; if (num5 < length) { ToolImposterUI <>4__this2 = jhchiljgcgi.CS$<>8__locals1.<>4__this; Material[] materialArray = componentsInChildren[num6].GetMaterialArray(); int num7 = 0; if (num7 < materialArray.Length) { Material material = materialArray[num7]; material.SetKeywordEnabled("_CAMERA_LIT", true); <>4__this2.EIOIMLBFILD.Add(material); num7++; } num6++; } GameObject gameObject2 = toolImposter.gameObject; ToolImposterUI <>4__this3 = jhchiljgcgi.CS$<>8__locals1.<>4__this; Transform transform2 = toolImposter.transform; Transform parent = jhchiljgcgi.parent; int num8 = 0; transform2.SetParent(parent, num8 != 0); bool flag = SpawnableTool.TryRotateAndCenterSpawnableTool(toolImposter); }; if (num3 < jhchiljgcgi) { num3 += num3; if (num3 == jhchiljgcgi) { cancelablePromise2 += cancelablePromise2; throw new NullReferenceException(); } num3++; } }; return; IL_A6: throw new NullReferenceException(); } // Token: 0x06010364 RID: 66404 RVA: 0x003CC99C File Offset: 0x003CAB9C [Token(Token = "0x6010364")] [Address(RVA = "0x1567A10", Offset = "0x1566410", VA = "0x181567A10")] private void OCGFDAFGNCG() { int num; do { num = 0; List eioimlbfild = this.EIOIMLBFILD; List.Enumerator enumerator; if (enumerator != 0) { } if (num != -1) { } } while (num != 0); this.EIOIMLBFILD.Clear(); } // Token: 0x06010365 RID: 66405 RVA: 0x003CC9D0 File Offset: 0x003CABD0 [Token(Token = "0x6010365")] [Address(RVA = "0x1567CF0", Offset = "0x15666F0", VA = "0x181567CF0")] private void PFFCHEFKICD(Renderer CHEJPOIMMCK) { Material[] materialArray = CHEJPOIMMCK.GetMaterialArray(); int num = 0; int length = materialArray.Length; if (num < length) { Material material = materialArray[num]; material.SetKeywordEnabled("_CAMERA_LIT", true); this.EIOIMLBFILD.Add(material); num++; } } // Token: 0x06010366 RID: 66406 RVA: 0x003CCA1C File Offset: 0x003CAC1C [Token(Token = "0x6010366")] [Address(RVA = "0x1567BC0", Offset = "0x15665C0", VA = "0x181567BC0")] private void OnDrawGizmosSelected() { Color green = Color.green; Transform transform = base.transform; Vector3 vector; float z = vector.z; Transform transform2 = base.transform; Vector3 vector2; float z2 = vector2.z; } // Token: 0x06010367 RID: 66407 RVA: 0x003CCA54 File Offset: 0x003CAC54 [Token(Token = "0x6010367")] [Address(RVA = "0x1568130", Offset = "0x1566B30", VA = "0x181568130")] public ToolImposterUI() { List list = new List(); this.EIOIMLBFILD = list; base..ctor(); } // Token: 0x0400AC42 RID: 44098 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400AC42")] [SerializeField] private float localImposterRadius = 100f; // Token: 0x0400AC44 RID: 44100 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400AC44")] private readonly List EIOIMLBFILD; // Token: 0x0400AC45 RID: 44101 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400AC45")] private ICancelablePromise EMLIKFJNPEM; // Token: 0x0200249F RID: 9375 [Token(Token = "0x200249F")] [CompilerGenerated] private sealed class EKGFJHILDEM { // Token: 0x06010368 RID: 66408 RVA: 0x003CCA80 File Offset: 0x003CAC80 [Token(Token = "0x6010368")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public EKGFJHILDEM() { } // Token: 0x06010369 RID: 66409 RVA: 0x003CCA94 File Offset: 0x003CAC94 [Token(Token = "0x6010369")] [Address(RVA = "0x1565630", Offset = "0x1564030", VA = "0x181565630")] internal void b__0(Transform parent) { ToolImposterUI.JHCHILJGCGI jhchiljgcgi = new ToolImposterUI.JHCHILJGCGI(); jhchiljgcgi.CS$<>8__locals1 = this; jhchiljgcgi.parent = parent; ToolImposterUI toolImposterUI = this.<>4__this; CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; OGNBCNBPFCC k__BackingField = this.<>4__this.k__BackingField; int num = 0; float num2 = this.delay; int num3 = 0; ICancelablePromise cancelablePromise = instance.SpawnToolImposterDelayed(num2, k__BackingField, num3); toolImposterUI.EMLIKFJNPEM = cancelablePromise; ICancelablePromise cancelablePromise2 = this.<>4__this.EMLIKFJNPEM; Action action = delegate(SpawnableTool toolImposter) { Transform transform = toolImposter.transform; float z = Vector3.zero.z; Renderer[] componentsInChildren = toolImposter.GetComponentsInChildren(true); int num4 = 0; int num5 = 0; int length = componentsInChildren.Length; if (num4 < length) { ToolImposterUI toolImposterUI2 = jhchiljgcgi.CS$<>8__locals1.<>4__this; Material[] materialArray = componentsInChildren[num5].GetMaterialArray(); int num6 = 0; if (num6 < materialArray.Length) { Material material = materialArray[num6]; material.SetKeywordEnabled("_CAMERA_LIT", true); toolImposterUI2.EIOIMLBFILD.Add(material); num6++; } num5++; } GameObject gameObject = toolImposter.gameObject; ToolImposterUI toolImposterUI3 = jhchiljgcgi.CS$<>8__locals1.<>4__this; Transform transform2 = toolImposter.transform; Transform parent2 = jhchiljgcgi.parent; int num7 = 0; transform2.SetParent(parent2, num7 != 0); bool flag = SpawnableTool.TryRotateAndCenterSpawnableTool(toolImposter); }; if (num < jhchiljgcgi) { num += num; if (num == jhchiljgcgi) { cancelablePromise2 += cancelablePromise2; throw new NullReferenceException(); } num++; } } // Token: 0x0400AC46 RID: 44102 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400AC46")] public ToolImposterUI <>4__this; // Token: 0x0400AC47 RID: 44103 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400AC47")] public float delay; } // Token: 0x020024A0 RID: 9376 [Token(Token = "0x20024A0")] [CompilerGenerated] private sealed class JHCHILJGCGI { // Token: 0x0601036A RID: 66410 RVA: 0x003CCB30 File Offset: 0x003CAD30 [Token(Token = "0x601036A")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public JHCHILJGCGI() { } // Token: 0x0601036B RID: 66411 RVA: 0x003CCB44 File Offset: 0x003CAD44 [Token(Token = "0x601036B")] [Address(RVA = "0x1565B20", Offset = "0x1564520", VA = "0x181565B20")] internal void b__1(SpawnableTool toolImposter) { Transform transform = toolImposter.transform; float z = Vector3.zero.z; Renderer[] componentsInChildren = toolImposter.GetComponentsInChildren(true); int num = 0; int num2 = 0; int length = componentsInChildren.Length; if (num < length) { ToolImposterUI <>4__this = this.CS$<>8__locals1.<>4__this; Material[] materialArray = componentsInChildren[num2].GetMaterialArray(); int num3 = 0; if (num3 < materialArray.Length) { Material material = materialArray[num3]; material.SetKeywordEnabled("_CAMERA_LIT", true); <>4__this.EIOIMLBFILD.Add(material); num3++; } num2++; } GameObject gameObject = toolImposter.gameObject; ToolImposterUI <>4__this2 = this.CS$<>8__locals1.<>4__this; Transform transform2 = toolImposter.transform; Transform transform3 = this.parent; int num4 = 0; transform2.SetParent(transform3, num4 != 0); bool flag = SpawnableTool.TryRotateAndCenterSpawnableTool(toolImposter); } // Token: 0x0400AC48 RID: 44104 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400AC48")] public Transform parent; // Token: 0x0400AC49 RID: 44105 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400AC49")] public ToolImposterUI.EKGFJHILDEM CS$<>8__locals1; } } }