Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/RecRoom/Tools/MakerPenTools/MakerPenSplitOperation.cs
T
2026-04-08 23:40:05 +02:00

249 lines
10 KiB
C#

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Async;
using RecRoom.Core.Creation;
using RecRoom.Core.Creation.Shapes;
namespace RecRoom.Tools.MakerPenTools
{
// Token: 0x020025D3 RID: 9683
[Token(Token = "0x20025D3")]
[Serializable]
[StructLayout(3)]
public class MakerPenSplitOperation : MakerPenOperation
{
// Token: 0x17002D74 RID: 11636
// (get) Token: 0x06010C15 RID: 68629 RVA: 0x003F1FF8 File Offset: 0x003F01F8
[Token(Token = "0x17002D74")]
public bool CanSplitSelection
{
[Token(Token = "0x6010C15")]
[Address(RVA = "0x1510D20", Offset = "0x150F720", VA = "0x181510D20")]
get
{
if (this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.shapeCreationContext.FACMDIMLMMD && this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.shapeCreationContext.HAHLCMFENMD.NDOIFFFCMKP != ShapeContainer.DBHLALJDNBH.Never)
{
return !this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.shapeCreationContext.HAHLCMFENMD.MEBGJGNMIMG;
}
throw new NullReferenceException();
}
}
// Token: 0x06010C16 RID: 68630 RVA: 0x003F2060 File Offset: 0x003F0260
[Token(Token = "0x6010C16")]
[Address(RVA = "0x15109F0", Offset = "0x150F3F0", VA = "0x1815109F0")]
public IPromise<string> HCOEEEINIGE()
{
MakerPenSplitOperation.GEINPPFBOIM geinppfboim = new MakerPenSplitOperation.GEINPPFBOIM();
geinppfboim.<>4__this = this;
if (this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.shapeCreationContext.FACMDIMLMMD && this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.shapeCreationContext.HAHLCMFENMD.NDOIFFFCMKP != ShapeContainer.DBHLALJDNBH.Never && !this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.shapeCreationContext.HAHLCMFENMD.MEBGJGNMIMG)
{
Promise<string> promise = new Promise();
geinppfboim.promise = promise;
ShapeContainer selectedShapeContainer = this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.shapeCreationContext.HAHLCMFENMD;
geinppfboim.selectedShapeContainer = selectedShapeContainer;
ShapeCreationContext shapeCreationContext = this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.shapeCreationContext;
ENMKBCNAGIC enmkbcnagic;
geinppfboim.shapeData = enmkbcnagic;
IPromise<ShapeContainer> promise2 = this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.shapeCreationContext.TrySplitSelectedShapes();
Action<ShapeContainer> action = delegate(ShapeContainer splitContainer)
{
CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
CreationObject[] array = new CreationObject[1];
ShapeContainer splitContainer2 = splitContainer;
CreationObject creationObject;
if (creationObject != 0)
{
}
array[0] = creationObject;
int num2 = 0;
int num3 = 0;
IPromise<CreationManager.EJPODBPPPBO> promise4 = instance.SerializeSpawnableTemplate(array, num3, num2 != 0);
Action<CreationManager.EJPODBPPPBO> action3 = delegate(CreationManager.EJPODBPPPBO result)
{
MakerPenSplitOperation.GEINPPFBOIM cs$<>8__locals = geinppfboim;
ShapeContainer selectedShapeContainer2 = cs$<>8__locals.selectedShapeContainer;
ShapeContainer splitContainer3 = splitContainer;
ENMKBCNAGIC shapeData = cs$<>8__locals.shapeData;
int shapeColliderCosts = cs$<>8__locals.shapeColliderCosts;
CKNHLOINDFF hnhgciihoec = result.HNHGCIIHOEC;
CreationContext <BDFEKAONFDI>k__BackingField = cs$<>8__locals.<>4__this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField;
EAELOFFFDJG eaelofffdjg = new EAELOFFFDJG(selectedShapeContainer2, splitContainer3, shapeData, shapeColliderCosts, hnhgciihoec, <BDFEKAONFDI>k__BackingField);
geinppfboim.<>4__this.<MakerPen>k__BackingField._undoStack.Add(eaelofffdjg);
geinppfboim.promise.Complete("Shapes split!");
};
if (geinppfboim.<>9__3 == 0)
{
Action<string> action4 = delegate(string errMsg)
{
geinppfboim.promise.Error(errMsg);
};
geinppfboim.<>9__3 = action4;
}
throw new NullReferenceException();
};
int num = 0;
num += num;
num++;
Action<string> action2 = delegate(string errMsg)
{
geinppfboim.promise.Error(errMsg);
};
Promise<string> promise3 = geinppfboim.promise;
}
return Promise.FromError<string>("Cannot split current selection");
}
// Token: 0x06010C17 RID: 68631 RVA: 0x003F2174 File Offset: 0x003F0374
[Token(Token = "0x6010C17")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public MakerPenSplitOperation()
{
}
// Token: 0x020025D4 RID: 9684
[Token(Token = "0x20025D4")]
[CompilerGenerated]
private sealed class GEINPPFBOIM
{
// Token: 0x06010C18 RID: 68632 RVA: 0x003F2188 File Offset: 0x003F0388
[Token(Token = "0x6010C18")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public GEINPPFBOIM()
{
}
// Token: 0x06010C19 RID: 68633 RVA: 0x003F219C File Offset: 0x003F039C
[Token(Token = "0x6010C19")]
[Address(RVA = "0x15034F0", Offset = "0x1501EF0", VA = "0x1815034F0")]
internal void <TrySplitSelection>b__0(ShapeContainer splitContainer)
{
MakerPenSplitOperation.PCJHDKGOPGH pcjhdkgopgh = new MakerPenSplitOperation.PCJHDKGOPGH();
pcjhdkgopgh.CS$<>8__locals1 = this;
pcjhdkgopgh.splitContainer = splitContainer;
CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
CreationObject[] array = new CreationObject[1];
ShapeContainer splitContainer2 = pcjhdkgopgh.splitContainer;
CreationObject creationObject;
if (creationObject != 0)
{
}
array[0] = creationObject;
int num = 0;
int num2 = 0;
IPromise<CreationManager.EJPODBPPPBO> promise = instance.SerializeSpawnableTemplate(array, num2, num != 0);
Action<CreationManager.EJPODBPPPBO> action = delegate(CreationManager.EJPODBPPPBO result)
{
MakerPenSplitOperation.GEINPPFBOIM cs$<>8__locals = pcjhdkgopgh.CS$<>8__locals1;
ShapeContainer shapeContainer = cs$<>8__locals.selectedShapeContainer;
ShapeContainer splitContainer3 = pcjhdkgopgh.splitContainer;
ENMKBCNAGIC enmkbcnagic = cs$<>8__locals.shapeData;
int num3 = cs$<>8__locals.shapeColliderCosts;
CKNHLOINDFF hnhgciihoec = result.HNHGCIIHOEC;
CreationContext <BDFEKAONFDI>k__BackingField = cs$<>8__locals.<>4__this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField;
EAELOFFFDJG eaelofffdjg = new EAELOFFFDJG(shapeContainer, splitContainer3, enmkbcnagic, num3, hnhgciihoec, <BDFEKAONFDI>k__BackingField);
pcjhdkgopgh.CS$<>8__locals1.<>4__this.<MakerPen>k__BackingField._undoStack.Add(eaelofffdjg);
pcjhdkgopgh.CS$<>8__locals1.promise.Complete("Shapes split!");
};
if (this.<>9__3 == 0)
{
Action<string> action2 = delegate(string errMsg)
{
this.promise.Error(errMsg);
};
this.<>9__3 = action2;
}
throw new NullReferenceException();
}
// Token: 0x06010C1A RID: 68634 RVA: 0x003F2224 File Offset: 0x003F0424
[Token(Token = "0x6010C1A")]
[Address(RVA = "0x1503740", Offset = "0x1502140", VA = "0x181503740")]
internal void <TrySplitSelection>b__3(string errMsg)
{
this.promise.Error(errMsg);
}
// Token: 0x06010C1B RID: 68635 RVA: 0x003F2244 File Offset: 0x003F0444
[Token(Token = "0x6010C1B")]
[Address(RVA = "0x15036E0", Offset = "0x15020E0", VA = "0x1815036E0")]
internal void <TrySplitSelection>b__1(string errMsg)
{
this.promise.Error(errMsg);
}
// Token: 0x0400B22F RID: 45615
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400B22F")]
public ShapeContainer selectedShapeContainer;
// Token: 0x0400B230 RID: 45616
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400B230")]
public ENMKBCNAGIC shapeData;
// Token: 0x0400B231 RID: 45617
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400B231")]
public int shapeColliderCosts;
// Token: 0x0400B232 RID: 45618
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400B232")]
public MakerPenSplitOperation <>4__this;
// Token: 0x0400B233 RID: 45619
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400B233")]
public Promise<string> promise;
// Token: 0x0400B234 RID: 45620
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400B234")]
public Action<string> <>9__3;
}
// Token: 0x020025D5 RID: 9685
[Token(Token = "0x20025D5")]
[CompilerGenerated]
private sealed class PCJHDKGOPGH
{
// Token: 0x06010C1C RID: 68636 RVA: 0x003F2264 File Offset: 0x003F0464
[Token(Token = "0x6010C1C")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public PCJHDKGOPGH()
{
}
// Token: 0x06010C1D RID: 68637 RVA: 0x003F2278 File Offset: 0x003F0478
[Token(Token = "0x6010C1D")]
[Address(RVA = "0x151A320", Offset = "0x1518D20", VA = "0x18151A320")]
internal void <TrySplitSelection>b__2(CreationManager.EJPODBPPPBO result)
{
MakerPenSplitOperation.GEINPPFBOIM cs$<>8__locals = this.CS$<>8__locals1;
ShapeContainer selectedShapeContainer = cs$<>8__locals.selectedShapeContainer;
ShapeContainer shapeContainer = this.splitContainer;
ENMKBCNAGIC shapeData = cs$<>8__locals.shapeData;
int shapeColliderCosts = cs$<>8__locals.shapeColliderCosts;
CKNHLOINDFF hnhgciihoec = result.HNHGCIIHOEC;
CreationContext <BDFEKAONFDI>k__BackingField = cs$<>8__locals.<>4__this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField;
EAELOFFFDJG eaelofffdjg = new EAELOFFFDJG(selectedShapeContainer, shapeContainer, shapeData, shapeColliderCosts, hnhgciihoec, <BDFEKAONFDI>k__BackingField);
this.CS$<>8__locals1.<>4__this.<MakerPen>k__BackingField._undoStack.Add(eaelofffdjg);
this.CS$<>8__locals1.promise.Complete("Shapes split!");
}
// Token: 0x0400B235 RID: 45621
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400B235")]
public ShapeContainer splitContainer;
// Token: 0x0400B236 RID: 45622
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400B236")]
public MakerPenSplitOperation.GEINPPFBOIM CS$<>8__locals1;
}
}
}