277 lines
8.7 KiB
C#
277 lines
8.7 KiB
C#
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<Tool> action = delegate(Tool tool)
|
|
{
|
|
ShapeContainer component = tool.GetComponent<ShapeContainer>();
|
|
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<string> 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<LAKMDOLHIBI> blhogddjnlb = this.EEBPPLCGAEE.BLHOGDDJNLB;
|
|
Func<LAKMDOLHIBI, Guid> <>9__11_ = GILCBJHACDI.<>c.<>9__11_0;
|
|
if (<>9__11_ == 0)
|
|
{
|
|
GILCBJHACDI.<>c.<>9__11_0 = delegate(LAKMDOLHIBI shape)
|
|
{
|
|
throw new NullReferenceException();
|
|
};
|
|
}
|
|
IEnumerable<LAKMDOLHIBI> enumerable = Enumerable.Select<LAKMDOLHIBI, Guid>(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 <Perform>b__0(Tool tool)
|
|
{
|
|
ShapeContainer component = tool.GetComponent<ShapeContainer>();
|
|
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;
|
|
}
|
|
}
|