using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Cpp2IlInjected; using Google.Protobuf.Collections; using RecRoom; using RecRoom.Async; using RecRoom.Core.Creation; using RecRoom.Core.Creation.Shapes; using RecRoom.Persistence; using UnityEngine; // Token: 0x02002C35 RID: 11317 [Token(Token = "0x2002C35")] [StructLayout(3)] public class GILCBJHACDI : GCHANDDKPBM { // Token: 0x06013E7F RID: 81535 RVA: 0x004C6648 File Offset: 0x004C4848 [Token(Token = "0x6013E7F")] [Address(RVA = "0x180D420", Offset = "0x180BE20", VA = "0x18180D420")] public GILCBJHACDI(ShapeContainer shapeContainer, ENMKBCNAGIC shapeDataCollection, int shapeColliderCosts, bool performShapeValidation = true) { this.NNANODFHOHI = false; PersistenceView persistenceView = shapeContainer.persistenceView; OGNBCNBPFCC spawnableToolType = shapeContainer.tool.OGNBCNBPFCC; this.LNMEJGMBFEA = spawnableToolType; Transform transform = shapeContainer.transform; Vector3 vector; float z = vector.z; this.CKGDINFEOCA.z = z; Transform transform2 = shapeContainer.transform; float localUniformScale = shapeContainer.transform.GetLocalUniformScale(); this.EEBPPLCGAEE = shapeDataCollection; this.KNOOJJHFDNC = shapeColliderCosts; this.GCLCCIGDLLC = localUniformScale; } // Token: 0x06013E80 RID: 81536 RVA: 0x004C66CC File Offset: 0x004C48CC [Token(Token = "0x6013E80")] [Address(RVA = "0x180D0D0", Offset = "0x180BAD0", VA = "0x18180D0D0", Slot = "4")] public override IPromise OCAFOIEOMLN(CreationContext OLFNCDHDFPF) { Promise promise = new Promise(); Promise completionPromise = promise; Guid adbncejkaag = this.ADBNCEJKAAG; ShapeContainer shapeContainer; bool flag; if (!flag) { int lnmejgmbfea = (int)this.LNMEJGMBFEA; bool flag2; if (!flag2) { OGNBCNBPFCC lnmejgmbfea2 = this.LNMEJGMBFEA; Promise completionPromise6 = completionPromise; string text = string.Format("CreateShapesUndoStep is unable to spawn missing ShapeContainer of type {0}", lnmejgmbfea2); completionPromise6.Error(text); } CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; float gclccigdllc = this.GCLCCIGDLLC; Guid adbncejkaag2 = this.ADBNCEJKAAG; float z = this.CKGDINFEOCA.z; Quaternion bddicegmifc = this.BDDICEGMIFC; int num = 0; Action action = delegate(Tool tool) { ShapeContainer component = tool.GetComponent(); shapeContainer = component; int num2 = 0; if (!(component != num2)) { completionPromise.Error("Master returned null shape container"); return; } GILCBJHACDI <>4__this = this; Promise completionPromise5 = completionPromise; CreationContext creationContext2 = OLFNCDHDFPF; ShapeContainer shapeContainer2 = shapeContainer; <>4__this.NNBKDIIJGDI(shapeContainer2, creationContext2, completionPromise5); }; num += num; num++; Promise completionPromise2 = completionPromise; Action action2 = new Action(completionPromise2.Error); if (num < completionPromise2) { num += num; if (num == completionPromise2) { goto IL_E4; } num++; } action2 += action2; IL_E4: num += num; } Promise completionPromise3 = completionPromise; CreationContext creationContext = OLFNCDHDFPF; ShapeContainer shapeContainer3 = shapeContainer; this.NNBKDIIJGDI(shapeContainer3, creationContext, completionPromise3); Promise completionPromise4 = completionPromise; throw new NullReferenceException(); } // Token: 0x06013E81 RID: 81537 RVA: 0x004C67F8 File Offset: 0x004C49F8 [Token(Token = "0x6013E81")] [Address(RVA = "0x180CF60", Offset = "0x180B960", VA = "0x18180CF60")] private void NNBKDIIJGDI(ShapeContainer MLFENGCPKCM, CreationContext OLFNCDHDFPF, Promise NHIIPEOHFED) { int num = 0; if (!(MLFENGCPKCM == num)) { if (!(OLFNCDHDFPF.shapeCreationContext.HAHLCMFENMD == MLFENGCPKCM) && !OLFNCDHDFPF.shapeCreationContext.TrySelectShapeContainer(MLFENGCPKCM)) { NHIIPEOHFED.Error("CreateShapesUndoStep failed to select shape container."); return; } ShapeCreationContext shapeCreationContext = OLFNCDHDFPF.shapeCreationContext; int knoojjhfdnc = this.KNOOJJHFDNC; ENMKBCNAGIC eebpplcgaee = this.EEBPPLCGAEE; if (!shapeCreationContext.TryAddAndSelectShapesInSelectedShapeContainer(eebpplcgaee, knoojjhfdnc)) { } NHIIPEOHFED.Complete(); } throw new NullReferenceException(); } // Token: 0x06013E82 RID: 81538 RVA: 0x004C686C File Offset: 0x004C4A6C [Token(Token = "0x6013E82")] [Address(RVA = "0x180CD10", Offset = "0x180B710", VA = "0x18180CD10", Slot = "5")] public override GBDECALBCOP JPALLFAJJKJ(CreationContext OLFNCDHDFPF) { Guid adbncejkaag = this.ADBNCEJKAAG; int num = 0; bool flag; if (flag) { bool flag2; if (flag2) { return GBDECALBCOP.Failure_LockedByOther; } if (this.NNANODFHOHI != flag2) { ShapeCreationContext shapeCreationContext = OLFNCDHDFPF.shapeCreationContext; bool flag3; if (flag3) { RepeatedField blhogddjnlb = this.EEBPPLCGAEE.BLHOGDDJNLB; Func <>9__11_ = GILCBJHACDI.<>c.<>9__11_0; if (<>9__11_ == 0) { GILCBJHACDI.<>c.<>9__11_0 = delegate(LAKMDOLHIBI shape) { throw new NullReferenceException(); }; } IEnumerable enumerable = Enumerable.Select(blhogddjnlb, <>9__11_); bool flag4; if (flag4 || OLFNCDHDFPF.shapeCreationContext.AnySelected(enumerable)) { return GBDECALBCOP.Failure_ObjectAlreadyExists; } } } } else { OGNBCNBPFCC lnmejgmbfea = this.LNMEJGMBFEA; if (lnmejgmbfea == OGNBCNBPFCC.INVALID) { } if (OLFNCDHDFPF.shapeCreationContext.CanAffordNewShapeContainer(lnmejgmbfea, num)) { } } return GBDECALBCOP.Failure_InsufficientResources; } // Token: 0x0400D679 RID: 54905 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400D679")] private Guid ADBNCEJKAAG; // Token: 0x0400D67A RID: 54906 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400D67A")] private Vector3 CKGDINFEOCA; // Token: 0x0400D67B RID: 54907 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x400D67B")] private Quaternion BDDICEGMIFC; // Token: 0x0400D67C RID: 54908 [global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")] [Token(Token = "0x400D67C")] private float GCLCCIGDLLC; // Token: 0x0400D67D RID: 54909 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400D67D")] private int KNOOJJHFDNC; // Token: 0x0400D67E RID: 54910 [global::Cpp2IlInjected.FieldOffset(Offset = "0x44")] [Token(Token = "0x400D67E")] private OGNBCNBPFCC LNMEJGMBFEA; // Token: 0x0400D67F RID: 54911 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400D67F")] private ENMKBCNAGIC EEBPPLCGAEE; // Token: 0x0400D680 RID: 54912 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400D680")] private bool NNANODFHOHI; // Token: 0x02002C36 RID: 11318 [Token(Token = "0x2002C36")] [CompilerGenerated] private sealed class PIELMIOLCIM { // Token: 0x06013E83 RID: 81539 RVA: 0x004C6928 File Offset: 0x004C4B28 [Token(Token = "0x6013E83")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public PIELMIOLCIM() { } // Token: 0x06013E84 RID: 81540 RVA: 0x004C693C File Offset: 0x004C4B3C [Token(Token = "0x6013E84")] [Address(RVA = "0x18196A0", Offset = "0x18180A0", VA = "0x1818196A0")] internal void b__0(Tool tool) { ShapeContainer component = tool.GetComponent(); this.shapeContainer = component; int num = 0; if (!(component != num)) { this.completionPromise.Error("Master returned null shape container"); return; } GILCBJHACDI gilcbjhacdi = this.<>4__this; Promise promise = this.completionPromise; CreationContext creationContext = this.creationContext; ShapeContainer shapeContainer = this.shapeContainer; gilcbjhacdi.NNBKDIIJGDI(shapeContainer, creationContext, promise); } // Token: 0x0400D681 RID: 54913 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400D681")] public ShapeContainer shapeContainer; // Token: 0x0400D682 RID: 54914 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400D682")] public GILCBJHACDI <>4__this; // Token: 0x0400D683 RID: 54915 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400D683")] public CreationContext creationContext; // Token: 0x0400D684 RID: 54916 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400D684")] public Promise completionPromise; } }