837 lines
28 KiB
C#
837 lines
28 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using AGUI.StackedUI.Dialog;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
using RecRoom.AGUI.ToolUIs;
|
|
using RecRoom.Async;
|
|
using RecRoom.Core.Creation;
|
|
using RecRoom.Core.Creation.Costumes;
|
|
using RecRoom.Core.Creation.Shapes;
|
|
using RecRoom.Core.Creation.UndoStack;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.MakerPenTools
|
|
{
|
|
// Token: 0x020025CA RID: 9674
|
|
[Token(Token = "0x20025CA")]
|
|
[Serializable]
|
|
[StructLayout(3)]
|
|
public class MakerPenMergeOperation : MakerPenOperation
|
|
{
|
|
// Token: 0x17002D71 RID: 11633
|
|
// (get) Token: 0x06010BEB RID: 68587 RVA: 0x003F0CCC File Offset: 0x003EEECC
|
|
[Token(Token = "0x17002D71")]
|
|
public bool CanMergeSelection
|
|
{
|
|
[Token(Token = "0x6010BEB")]
|
|
[Address(RVA = "0x150D2C0", Offset = "0x150BCC0", VA = "0x18150D2C0")]
|
|
get
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
int selectionCount = this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.ENEJDOAEDCJ;
|
|
int num2 = 0;
|
|
MakerPen <MakerPen>k__BackingField = this.<MakerPen>k__BackingField;
|
|
List<GIPDDLFFNGG> llfdkcncmkf = <MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.LLFDKCNCMKF;
|
|
if (<MakerPen>k__BackingField != 0)
|
|
{
|
|
int num3 = 0;
|
|
bool flag = <MakerPen>k__BackingField == num3;
|
|
if (!flag && flag)
|
|
{
|
|
Costume component = <MakerPen>k__BackingField.GetComponent<Costume>();
|
|
int num4 = 0;
|
|
if (!(component != num4))
|
|
{
|
|
ShapeContainer component2 = <MakerPen>k__BackingField.GetComponent<ShapeContainer>();
|
|
int num5 = 0;
|
|
if (!(component2 == num5) && component2.KJCAGKDAABN)
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
if (num2 == 0)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
if (<MakerPen>k__BackingField != 0)
|
|
{
|
|
}
|
|
if (num != -1)
|
|
{
|
|
if (typeof(IDisposable).TypeHandle == (ulong)152L)
|
|
{
|
|
}
|
|
if (typeof(IDisposable).TypeHandle == (ulong)150L)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
while (num != 0);
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x06010BEC RID: 68588 RVA: 0x003F0DA4 File Offset: 0x003EEFA4
|
|
[Token(Token = "0x6010BEC")]
|
|
[Address(RVA = "0x150C4B0", Offset = "0x150AEB0", VA = "0x18150C4B0")]
|
|
public IPromise<string> GJOAAFFIBGP()
|
|
{
|
|
if (this.pendingTryMergeSelectionRequest != (ulong)0L)
|
|
{
|
|
float realtimeSinceStartup = Time.realtimeSinceStartup;
|
|
return Promise.FromResult<string>("Merge request already pending");
|
|
}
|
|
if (this.CanMergeSelection)
|
|
{
|
|
Promise<string> promise5 = new Promise();
|
|
Promise<string> promise = promise5;
|
|
this.pendingTryMergeSelectionRequest = promise5;
|
|
float realtimeSinceStartup2 = Time.realtimeSinceStartup;
|
|
this.lastMergeRequestTime = realtimeSinceStartup2;
|
|
Promise<string> promise2 = promise;
|
|
Action action = delegate
|
|
{
|
|
this.pendingTryMergeSelectionRequest = (ulong)0L;
|
|
};
|
|
promise2.System.Collections.IEnumerator.Reset();
|
|
CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
|
|
List<CreationObject> chmmbnihbja = this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.CHMMBNIHBJA;
|
|
Action<CreationManager.FPDPPELCJIH> action2 = delegate(CreationManager.FPDPPELCJIH result)
|
|
{
|
|
MakerPenMergeOperation <>4__this = this;
|
|
Promise<string> promise4 = promise;
|
|
<>4__this.LMELCAONIGK(promise4);
|
|
};
|
|
Action<string> action3 = delegate(string error)
|
|
{
|
|
promise.Error(error);
|
|
};
|
|
}
|
|
IPromise<string> promise3 = Promise.FromError<string>("Cannot merge current selection");
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06010BED RID: 68589 RVA: 0x003F0E70 File Offset: 0x003EF070
|
|
[Token(Token = "0x6010BED")]
|
|
[Address(RVA = "0x150C730", Offset = "0x150B130", VA = "0x18150C730")]
|
|
private void LMELCAONIGK(Promise<string> NKLGAGCHGPM)
|
|
{
|
|
int num10;
|
|
for (;;)
|
|
{
|
|
int num = 0;
|
|
CreationContext <BDFEKAONFDI>k__BackingField = this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField;
|
|
List<CreationObject> chmmbnihbja = <BDFEKAONFDI>k__BackingField.CHMMBNIHBJA;
|
|
Costume component;
|
|
if (<BDFEKAONFDI>k__BackingField != 0)
|
|
{
|
|
component = <BDFEKAONFDI>k__BackingField.GetComponent<Costume>();
|
|
int num2 = 0;
|
|
if (!(component != num2))
|
|
{
|
|
continue;
|
|
}
|
|
int num3 = 0;
|
|
if (!(num != num3))
|
|
{
|
|
}
|
|
NKLGAGCHGPM.Complete("Cannot merge current selection - multiple costumes selected");
|
|
}
|
|
int num4 = 0;
|
|
int num5;
|
|
if (<BDFEKAONFDI>k__BackingField != 0)
|
|
{
|
|
num5 = 0;
|
|
}
|
|
if (num == -1)
|
|
{
|
|
goto IL_121;
|
|
}
|
|
if (num5 == 385)
|
|
{
|
|
return;
|
|
}
|
|
if (num5 != 114)
|
|
{
|
|
goto IL_121;
|
|
}
|
|
ShapeContainer destContainer = num4;
|
|
List<ShapeContainer> list = new List();
|
|
List<ShapeContainer> containersToMerge = list;
|
|
int num6 = 0;
|
|
if (component != num6)
|
|
{
|
|
goto IL_181;
|
|
}
|
|
MakerPen <MakerPen>k__BackingField = this.<MakerPen>k__BackingField;
|
|
List<CreationObject> chmmbnihbja2 = <MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.CHMMBNIHBJA;
|
|
int currentPhysicsMode;
|
|
ShapeContainer.BJOOGDAHOOO currentPhysicsMode2;
|
|
if (<MakerPen>k__BackingField != 0)
|
|
{
|
|
ShapeContainer component2 = <MakerPen>k__BackingField.GetComponent<ShapeContainer>();
|
|
containersToMerge.Add(component2);
|
|
ShapeContainer destContainer4 = destContainer;
|
|
int num7 = 0;
|
|
if (!(destContainer4 == num7))
|
|
{
|
|
currentPhysicsMode = (int)destContainer.MCLCOPABPLF;
|
|
currentPhysicsMode2 = component2.MCLCOPABPLF;
|
|
float num8;
|
|
float num9;
|
|
while (num8 <= num9)
|
|
{
|
|
}
|
|
}
|
|
destContainer = component2;
|
|
goto IL_121;
|
|
}
|
|
IL_129:
|
|
num++;
|
|
num10 = 0;
|
|
if (<MakerPen>k__BackingField != 0)
|
|
{
|
|
}
|
|
if (num != -1)
|
|
{
|
|
}
|
|
if (currentPhysicsMode == 0)
|
|
{
|
|
break;
|
|
}
|
|
continue;
|
|
IL_121:
|
|
if (currentPhysicsMode2 == ShapeContainer.BJOOGDAHOOO.Environment)
|
|
{
|
|
goto IL_129;
|
|
}
|
|
goto IL_251;
|
|
}
|
|
List<ShapeContainer> containersToMerge3 = bcmdniekahk.containersToMerge;
|
|
ShapeContainer destContainer2 = bcmdniekahk.destContainer;
|
|
bool flag = containersToMerge3.Remove(destContainer2);
|
|
Promise<string> promise = bcmdniekahk.promise;
|
|
List<ShapeContainer> containersToMerge2 = bcmdniekahk.containersToMerge;
|
|
ShapeContainer destContainer3 = bcmdniekahk.destContainer;
|
|
this.MBPMMDOCGJL(destContainer3, containersToMerge2, promise);
|
|
return;
|
|
IL_181:
|
|
MakerPen <MakerPen>k__BackingField2 = this.<MakerPen>k__BackingField;
|
|
if (<MakerPen>k__BackingField2.hasAuthority)
|
|
{
|
|
MakerPenPaletteMoveableToolMenu paletteMenu = <MakerPen>k__BackingField2.paletteMenu;
|
|
int num11 = 0;
|
|
if (paletteMenu != num11)
|
|
{
|
|
MakerPenPaletteMoveableToolMenu paletteMenu2 = <MakerPen>k__BackingField2.paletteMenu;
|
|
Player owner = <MakerPen>k__BackingField2._tool.BHNPNHMILIF;
|
|
if (owner != 0)
|
|
{
|
|
PhotonView photonView = owner.trackingSpace.photonView;
|
|
}
|
|
paletteMenu2.OpenAndAttachMenu(num10);
|
|
}
|
|
}
|
|
MakerPenPaletteMoveableToolMenu paletteMenu3 = this.<MakerPen>k__BackingField.paletteMenu;
|
|
if (paletteMenu3 != 0)
|
|
{
|
|
MakerPenPaletteUI paletteUI = paletteMenu3.PKCIBEOKLPG;
|
|
}
|
|
Action<CostumePiece> action = delegate(CostumePiece costumePiece)
|
|
{
|
|
for (;;)
|
|
{
|
|
int num13 = 0;
|
|
bcmdniekahk.<>4__this.<MakerPen>k__BackingField.AuthorityHidePaletteMenu();
|
|
int num14 = 0;
|
|
if (!(costumePiece != num14))
|
|
{
|
|
break;
|
|
}
|
|
DecorationShapeContainer ejhepijedck = costumePiece.EJHEPIJEDCK;
|
|
bcmdniekahk.destContainer = ejhepijedck;
|
|
MakerPen <MakerPen>k__BackingField3 = bcmdniekahk.<>4__this.<MakerPen>k__BackingField;
|
|
List<CreationObject> chmmbnihbja3 = <MakerPen>k__BackingField3.<BDFEKAONFDI>k__BackingField.CHMMBNIHBJA;
|
|
if (<MakerPen>k__BackingField3 != 0)
|
|
{
|
|
ShapeContainer component3 = <MakerPen>k__BackingField3.GetComponent<ShapeContainer>();
|
|
int num15 = 0;
|
|
if (!(component3 != num15))
|
|
{
|
|
continue;
|
|
}
|
|
bcmdniekahk.containersToMerge.Add(component3);
|
|
}
|
|
int num16 = 0;
|
|
if (<MakerPen>k__BackingField3 != 0)
|
|
{
|
|
}
|
|
if (num16 != -1)
|
|
{
|
|
}
|
|
if (num13 == 0)
|
|
{
|
|
goto Block_3;
|
|
}
|
|
}
|
|
bcmdniekahk.promise.Complete("Merge cancelled");
|
|
return;
|
|
Block_3:
|
|
MakerPenMergeOperation <>4__this = bcmdniekahk.<>4__this;
|
|
Promise<string> promise2 = bcmdniekahk.promise;
|
|
List<ShapeContainer> containersToMerge4 = bcmdniekahk.containersToMerge;
|
|
ShapeContainer destContainer5 = bcmdniekahk.destContainer;
|
|
<>4__this.MBPMMDOCGJL(destContainer5, containersToMerge4, promise2);
|
|
};
|
|
if (num10 < bcmdniekahk)
|
|
{
|
|
num10 += num10;
|
|
if (num10 == bcmdniekahk)
|
|
{
|
|
goto IL_22C;
|
|
}
|
|
num10++;
|
|
}
|
|
Action<string> action2 = delegate(string errMsg)
|
|
{
|
|
bcmdniekahk.promise.Error(errMsg);
|
|
};
|
|
IL_22C:
|
|
uint num12;
|
|
num12 += num12;
|
|
throw new NullReferenceException();
|
|
IL_251:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06010BEE RID: 68590 RVA: 0x003F10EC File Offset: 0x003EF2EC
|
|
[Token(Token = "0x6010BEE")]
|
|
[Address(RVA = "0x150CEE0", Offset = "0x150B8E0", VA = "0x18150CEE0")]
|
|
private void MBPMMDOCGJL(ShapeContainer DNAFLHICPDN, List<ShapeContainer> PJICBFJKDJK, Promise<string> NKLGAGCHGPM)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
List.Enumerator enumerator;
|
|
if (enumerator != 0)
|
|
{
|
|
ShapeContainer destContainer = DNAFLHICPDN;
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
NKLGAGCHGPM.Complete("Merge failed: Fix coming soon!");
|
|
}
|
|
if (0 != -1)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
mohmdhhfbkp.currentSelection = (ulong)0L;
|
|
List<ShapeContainer> list = new List();
|
|
ShapeContainer destContainer2 = mohmdhhfbkp.destContainer;
|
|
list.Add(destContainer2);
|
|
List<ShapeContainer> containersToMerge = mohmdhhfbkp.containersToMerge;
|
|
list.AddRange(containersToMerge);
|
|
CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
|
|
Func<ShapeContainer, CreationObject> func;
|
|
if (MakerPenMergeOperation.<>c.<>9__8_1 == 0)
|
|
{
|
|
func = (ShapeContainer c) => c.creationObject;
|
|
MakerPenMergeOperation.<>c.<>9__8_1 = func;
|
|
}
|
|
IEnumerable<ShapeContainer> enumerable = Enumerable.Select<ShapeContainer, CreationObject>(list, func);
|
|
IPromise<bool> promise = instance.CheckObjectsHaveMatchingPermissions(enumerable);
|
|
Action<bool> action = delegate(bool doPermissionsMatch)
|
|
{
|
|
if (!doPermissionsMatch)
|
|
{
|
|
IReadOnlyCollection<Guid> readOnlyCollection = mohmdhhfbkp.<>4__this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.CacheCurrentSelection();
|
|
mohmdhhfbkp.currentSelection = readOnlyCollection;
|
|
IPromise<JPIJGHNNIDP> promise2 = Player.<EGKJPJKLEAI>k__BackingField.playerUI.<JNBAANDJIAD>k__BackingField.ShowConfirmationDialog("Merge different permissions", "Are you sure? Some objects have different permissions. The most restrictive permissions will be used for the combined object.");
|
|
if (mohmdhhfbkp.<>9__9 == 0)
|
|
{
|
|
Action<JPIJGHNNIDP> action3 = delegate(JPIJGHNNIDP result)
|
|
{
|
|
if (result != JPIJGHNNIDP.Affirmative)
|
|
{
|
|
mohmdhhfbkp.promise.Complete("Merge cancelled.");
|
|
return;
|
|
}
|
|
base.<TryMergeContainers>g__mergeObjects|0();
|
|
};
|
|
mohmdhhfbkp.<>9__9 = action3;
|
|
}
|
|
if (mohmdhhfbkp.<>9__10 == 0)
|
|
{
|
|
Action<string> action4 = delegate(string error)
|
|
{
|
|
mohmdhhfbkp.promise.Error(error);
|
|
};
|
|
mohmdhhfbkp.<>9__10 = action4;
|
|
}
|
|
}
|
|
base.<TryMergeContainers>g__mergeObjects|0();
|
|
};
|
|
Action<string> action2 = delegate(string error)
|
|
{
|
|
mohmdhhfbkp.promise.Error(error);
|
|
};
|
|
}
|
|
|
|
// Token: 0x06010BEF RID: 68591 RVA: 0x003F11E4 File Offset: 0x003EF3E4
|
|
[Token(Token = "0x6010BEF")]
|
|
[Address(RVA = "0x150D2B0", Offset = "0x150BCB0", VA = "0x18150D2B0")]
|
|
public MakerPenMergeOperation()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400B217 RID: 45591
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400B217")]
|
|
[SerializeField]
|
|
private ChooseCostumePieceDialog chooseCostumePieceDialogPrefab;
|
|
|
|
// Token: 0x0400B218 RID: 45592
|
|
[Token(Token = "0x400B218")]
|
|
private const float MERGE_REQUEST_TIMEOUT_DURATION = 5f;
|
|
|
|
// Token: 0x0400B219 RID: 45593
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400B219")]
|
|
private Promise<string> pendingTryMergeSelectionRequest;
|
|
|
|
// Token: 0x0400B21A RID: 45594
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400B21A")]
|
|
private float lastMergeRequestTime = -1f;
|
|
|
|
// Token: 0x020025CB RID: 9675
|
|
[Token(Token = "0x20025CB")]
|
|
[CompilerGenerated]
|
|
private sealed class LLOMNNNIBPO
|
|
{
|
|
// Token: 0x06010BF0 RID: 68592 RVA: 0x003F1204 File Offset: 0x003EF404
|
|
[Token(Token = "0x6010BF0")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public LLOMNNNIBPO()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06010BF1 RID: 68593 RVA: 0x003F1218 File Offset: 0x003EF418
|
|
[Token(Token = "0x6010BF1")]
|
|
[Address(RVA = "0x1503BE0", Offset = "0x15025E0", VA = "0x181503BE0")]
|
|
internal void <TryMergeSelection>b__0()
|
|
{
|
|
this.<>4__this.pendingTryMergeSelectionRequest = (ulong)0L;
|
|
}
|
|
|
|
// Token: 0x06010BF2 RID: 68594 RVA: 0x003F123C File Offset: 0x003EF43C
|
|
[Token(Token = "0x6010BF2")]
|
|
[Address(RVA = "0x1503C00", Offset = "0x1502600", VA = "0x181503C00")]
|
|
internal void <TryMergeSelection>b__1(CreationManager.FPDPPELCJIH result)
|
|
{
|
|
MakerPenMergeOperation makerPenMergeOperation = this.<>4__this;
|
|
Promise<string> promise = this.promise;
|
|
makerPenMergeOperation.LMELCAONIGK(promise);
|
|
}
|
|
|
|
// Token: 0x06010BF3 RID: 68595 RVA: 0x003F1278 File Offset: 0x003EF478
|
|
[Token(Token = "0x6010BF3")]
|
|
[Address(RVA = "0x1503C80", Offset = "0x1502680", VA = "0x181503C80")]
|
|
internal void <TryMergeSelection>b__2(string error)
|
|
{
|
|
this.promise.Error(error);
|
|
}
|
|
|
|
// Token: 0x0400B21B RID: 45595
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400B21B")]
|
|
public MakerPenMergeOperation <>4__this;
|
|
|
|
// Token: 0x0400B21C RID: 45596
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400B21C")]
|
|
public Promise<string> promise;
|
|
}
|
|
|
|
// Token: 0x020025CC RID: 9676
|
|
[Token(Token = "0x20025CC")]
|
|
[CompilerGenerated]
|
|
private sealed class BCMDNIEKAHK
|
|
{
|
|
// Token: 0x06010BF4 RID: 68596 RVA: 0x003F1298 File Offset: 0x003EF498
|
|
[Token(Token = "0x6010BF4")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public BCMDNIEKAHK()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06010BF5 RID: 68597 RVA: 0x003F12AC File Offset: 0x003EF4AC
|
|
[Token(Token = "0x6010BF5")]
|
|
[Address(RVA = "0x15023E0", Offset = "0x1500DE0", VA = "0x1815023E0")]
|
|
internal void <TryMergeSelectionInternal>b__0(CostumePiece costumePiece)
|
|
{
|
|
for (;;)
|
|
{
|
|
int num = 0;
|
|
this.<>4__this.<MakerPen>k__BackingField.AuthorityHidePaletteMenu();
|
|
int num2 = 0;
|
|
if (!(costumePiece != num2))
|
|
{
|
|
break;
|
|
}
|
|
DecorationShapeContainer ejhepijedck = costumePiece.EJHEPIJEDCK;
|
|
this.destContainer = ejhepijedck;
|
|
MakerPen <MakerPen>k__BackingField = this.<>4__this.<MakerPen>k__BackingField;
|
|
List<CreationObject> chmmbnihbja = <MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.CHMMBNIHBJA;
|
|
if (<MakerPen>k__BackingField != 0)
|
|
{
|
|
ShapeContainer component = <MakerPen>k__BackingField.GetComponent<ShapeContainer>();
|
|
int num3 = 0;
|
|
if (!(component != num3))
|
|
{
|
|
continue;
|
|
}
|
|
this.containersToMerge.Add(component);
|
|
}
|
|
int num4 = 0;
|
|
if (<MakerPen>k__BackingField != 0)
|
|
{
|
|
}
|
|
if (num4 != -1)
|
|
{
|
|
}
|
|
if (num == 0)
|
|
{
|
|
goto Block_3;
|
|
}
|
|
}
|
|
this.promise.Complete("Merge cancelled");
|
|
return;
|
|
Block_3:
|
|
MakerPenMergeOperation makerPenMergeOperation = this.<>4__this;
|
|
Promise<string> promise = this.promise;
|
|
List<ShapeContainer> list = this.containersToMerge;
|
|
ShapeContainer shapeContainer = this.destContainer;
|
|
makerPenMergeOperation.MBPMMDOCGJL(shapeContainer, list, promise);
|
|
}
|
|
|
|
// Token: 0x06010BF6 RID: 68598 RVA: 0x003F1380 File Offset: 0x003EF580
|
|
[Token(Token = "0x6010BF6")]
|
|
[Address(RVA = "0x1502690", Offset = "0x1501090", VA = "0x181502690")]
|
|
internal void <TryMergeSelectionInternal>b__1(string errMsg)
|
|
{
|
|
this.promise.Error(errMsg);
|
|
}
|
|
|
|
// Token: 0x0400B21D RID: 45597
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400B21D")]
|
|
public MakerPenMergeOperation <>4__this;
|
|
|
|
// Token: 0x0400B21E RID: 45598
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400B21E")]
|
|
public ShapeContainer destContainer;
|
|
|
|
// Token: 0x0400B21F RID: 45599
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400B21F")]
|
|
public List<ShapeContainer> containersToMerge;
|
|
|
|
// Token: 0x0400B220 RID: 45600
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400B220")]
|
|
public Promise<string> promise;
|
|
}
|
|
|
|
// Token: 0x020025CD RID: 9677
|
|
[Token(Token = "0x20025CD")]
|
|
[CompilerGenerated]
|
|
private sealed class MOHMDHHFBKP
|
|
{
|
|
// Token: 0x06010BF7 RID: 68599 RVA: 0x003F13A0 File Offset: 0x003EF5A0
|
|
[Token(Token = "0x6010BF7")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public MOHMDHHFBKP()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06010BF8 RID: 68600 RVA: 0x003F13B4 File Offset: 0x003EF5B4
|
|
[Token(Token = "0x6010BF8")]
|
|
[Address(RVA = "0x15044F0", Offset = "0x1502EF0", VA = "0x1815044F0")]
|
|
internal void <TryMergeContainers>g__mergeObjects|0()
|
|
{
|
|
CreationManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
|
|
List<ShapeContainer> list = this.containersToMerge;
|
|
Func<ShapeContainer, CreationObject> <>9__8_ = MakerPenMergeOperation.<>c.<>9__8_4;
|
|
if (<>9__8_ == 0)
|
|
{
|
|
MakerPenMergeOperation.<>c.<>9__8_4 = (ShapeContainer c) => c.creationObject;
|
|
}
|
|
IEnumerable<ShapeContainer> enumerable = Enumerable.Select<ShapeContainer, CreationObject>(list, <>9__8_);
|
|
int num = 0;
|
|
int num2 = 0;
|
|
IPromise<CreationManager.EJPODBPPPBO> promise = instance.SerializeSpawnableTemplate(enumerable, num2, num != 0);
|
|
Action<CreationManager.EJPODBPPPBO> action = delegate(CreationManager.EJPODBPPPBO serializeResult)
|
|
{
|
|
MakerPenMergeOperation.FJODMILMNHO fjodmilmnho = new MakerPenMergeOperation.FJODMILMNHO();
|
|
fjodmilmnho.CS$<>8__locals1 = this;
|
|
IReadOnlyCollection<Guid> readOnlyCollection = this.currentSelection;
|
|
if (readOnlyCollection != 0)
|
|
{
|
|
this.<>4__this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.SetSelectionFromCache(readOnlyCollection);
|
|
}
|
|
ShapeContainer shapeContainer = this.destContainer;
|
|
List<ShapeContainer> list2 = this.containersToMerge;
|
|
MakerPenMergeOperation makerPenMergeOperation = this.<>4__this;
|
|
CKNHLOINDFF hnhgciihoec = serializeResult.HNHGCIIHOEC;
|
|
CreationContext <BDFEKAONFDI>k__BackingField = makerPenMergeOperation.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField;
|
|
EIIGKDBCPIC eiigkdbcpic = new EIIGKDBCPIC(shapeContainer, list2, hnhgciihoec, <BDFEKAONFDI>k__BackingField);
|
|
fjodmilmnho.undoEntry = eiigkdbcpic;
|
|
CreationContext <BDFEKAONFDI>k__BackingField2 = this.<>4__this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField;
|
|
List<ShapeContainer> list3 = this.containersToMerge;
|
|
ShapeContainer shapeContainer2 = this.destContainer;
|
|
IPromise<bool> promise2 = <BDFEKAONFDI>k__BackingField2.TryMergeShapeSelection(shapeContainer2, list3);
|
|
Action<bool> action3 = delegate(bool mergeResult)
|
|
{
|
|
if (mergeResult)
|
|
{
|
|
UndoStack undoStack = fjodmilmnho.CS$<>8__locals1.<>4__this.<MakerPen>k__BackingField._undoStack;
|
|
EIIGKDBCPIC undoEntry = fjodmilmnho.undoEntry;
|
|
undoStack.Add(undoEntry);
|
|
}
|
|
fjodmilmnho.CS$<>8__locals1.promise.Complete("Merge failed...");
|
|
};
|
|
if (this.<>9__8 == 0)
|
|
{
|
|
Action<string> action4 = delegate(string errorMsg)
|
|
{
|
|
this.promise.Error(errorMsg);
|
|
};
|
|
this.<>9__8 = action4;
|
|
}
|
|
throw new NullReferenceException();
|
|
};
|
|
Action<string> action2 = delegate(string errMsg)
|
|
{
|
|
this.promise.Error(errMsg);
|
|
};
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06010BF9 RID: 68601 RVA: 0x003F142C File Offset: 0x003EF62C
|
|
[Token(Token = "0x6010BF9")]
|
|
[Address(RVA = "0x15041C0", Offset = "0x1502BC0", VA = "0x1815041C0")]
|
|
internal void <TryMergeContainers>b__5(CreationManager.EJPODBPPPBO serializeResult)
|
|
{
|
|
MakerPenMergeOperation.FJODMILMNHO fjodmilmnho = new MakerPenMergeOperation.FJODMILMNHO();
|
|
fjodmilmnho.CS$<>8__locals1 = this;
|
|
IReadOnlyCollection<Guid> readOnlyCollection = this.currentSelection;
|
|
if (readOnlyCollection != 0)
|
|
{
|
|
this.<>4__this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.SetSelectionFromCache(readOnlyCollection);
|
|
}
|
|
ShapeContainer shapeContainer = this.destContainer;
|
|
List<ShapeContainer> list = this.containersToMerge;
|
|
MakerPenMergeOperation makerPenMergeOperation = this.<>4__this;
|
|
CKNHLOINDFF hnhgciihoec = serializeResult.HNHGCIIHOEC;
|
|
CreationContext <BDFEKAONFDI>k__BackingField = makerPenMergeOperation.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField;
|
|
EIIGKDBCPIC eiigkdbcpic = new EIIGKDBCPIC(shapeContainer, list, hnhgciihoec, <BDFEKAONFDI>k__BackingField);
|
|
fjodmilmnho.undoEntry = eiigkdbcpic;
|
|
CreationContext <BDFEKAONFDI>k__BackingField2 = this.<>4__this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField;
|
|
List<ShapeContainer> list2 = this.containersToMerge;
|
|
ShapeContainer shapeContainer2 = this.destContainer;
|
|
IPromise<bool> promise = <BDFEKAONFDI>k__BackingField2.TryMergeShapeSelection(shapeContainer2, list2);
|
|
Action<bool> action = delegate(bool mergeResult)
|
|
{
|
|
if (mergeResult)
|
|
{
|
|
UndoStack undoStack = fjodmilmnho.CS$<>8__locals1.<>4__this.<MakerPen>k__BackingField._undoStack;
|
|
EIIGKDBCPIC undoEntry = fjodmilmnho.undoEntry;
|
|
undoStack.Add(undoEntry);
|
|
}
|
|
fjodmilmnho.CS$<>8__locals1.promise.Complete("Merge failed...");
|
|
};
|
|
if (this.<>9__8 == 0)
|
|
{
|
|
Action<string> action2 = delegate(string errorMsg)
|
|
{
|
|
this.promise.Error(errorMsg);
|
|
};
|
|
this.<>9__8 = action2;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06010BFA RID: 68602 RVA: 0x003F150C File Offset: 0x003EF70C
|
|
[Token(Token = "0x6010BFA")]
|
|
[Address(RVA = "0x1504420", Offset = "0x1502E20", VA = "0x181504420")]
|
|
internal void <TryMergeContainers>b__8(string errorMsg)
|
|
{
|
|
this.promise.Error(errorMsg);
|
|
}
|
|
|
|
// Token: 0x06010BFB RID: 68603 RVA: 0x003F152C File Offset: 0x003EF72C
|
|
[Token(Token = "0x6010BFB")]
|
|
[Address(RVA = "0x15043C0", Offset = "0x1502DC0", VA = "0x1815043C0")]
|
|
internal void <TryMergeContainers>b__6(string errMsg)
|
|
{
|
|
this.promise.Error(errMsg);
|
|
}
|
|
|
|
// Token: 0x06010BFC RID: 68604 RVA: 0x003F154C File Offset: 0x003EF74C
|
|
[Token(Token = "0x6010BFC")]
|
|
[Address(RVA = "0x1503F60", Offset = "0x1502960", VA = "0x181503F60")]
|
|
internal void <TryMergeContainers>b__2(bool doPermissionsMatch)
|
|
{
|
|
if (!doPermissionsMatch)
|
|
{
|
|
IReadOnlyCollection<Guid> readOnlyCollection = this.<>4__this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.CacheCurrentSelection();
|
|
this.currentSelection = readOnlyCollection;
|
|
IPromise<JPIJGHNNIDP> promise = Player.<EGKJPJKLEAI>k__BackingField.playerUI.<JNBAANDJIAD>k__BackingField.ShowConfirmationDialog("Merge different permissions", "Are you sure? Some objects have different permissions. The most restrictive permissions will be used for the combined object.");
|
|
if (this.<>9__9 == 0)
|
|
{
|
|
Action<JPIJGHNNIDP> action = delegate(JPIJGHNNIDP result)
|
|
{
|
|
if (result != JPIJGHNNIDP.Affirmative)
|
|
{
|
|
this.promise.Complete("Merge cancelled.");
|
|
return;
|
|
}
|
|
this.<TryMergeContainers>g__mergeObjects|0();
|
|
};
|
|
this.<>9__9 = action;
|
|
}
|
|
if (this.<>9__10 == 0)
|
|
{
|
|
Action<string> action2 = delegate(string error)
|
|
{
|
|
this.promise.Error(error);
|
|
};
|
|
this.<>9__10 = action2;
|
|
}
|
|
}
|
|
this.<TryMergeContainers>g__mergeObjects|0();
|
|
}
|
|
|
|
// Token: 0x06010BFD RID: 68605 RVA: 0x003F15E0 File Offset: 0x003EF7E0
|
|
[Token(Token = "0x6010BFD")]
|
|
[Address(RVA = "0x1504480", Offset = "0x1502E80", VA = "0x181504480")]
|
|
internal void <TryMergeContainers>b__9(JPIJGHNNIDP result)
|
|
{
|
|
if (result != JPIJGHNNIDP.Affirmative)
|
|
{
|
|
this.promise.Complete("Merge cancelled.");
|
|
return;
|
|
}
|
|
this.<TryMergeContainers>g__mergeObjects|0();
|
|
}
|
|
|
|
// Token: 0x06010BFE RID: 68606 RVA: 0x003F1610 File Offset: 0x003EF810
|
|
[Token(Token = "0x6010BFE")]
|
|
[Address(RVA = "0x1503F00", Offset = "0x1502900", VA = "0x181503F00")]
|
|
internal void <TryMergeContainers>b__10(string error)
|
|
{
|
|
this.promise.Error(error);
|
|
}
|
|
|
|
// Token: 0x06010BFF RID: 68607 RVA: 0x003F1630 File Offset: 0x003EF830
|
|
[Token(Token = "0x6010BFF")]
|
|
[Address(RVA = "0x1504160", Offset = "0x1502B60", VA = "0x181504160")]
|
|
internal void <TryMergeContainers>b__3(string error)
|
|
{
|
|
this.promise.Error(error);
|
|
}
|
|
|
|
// Token: 0x0400B221 RID: 45601
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400B221")]
|
|
public List<ShapeContainer> containersToMerge;
|
|
|
|
// Token: 0x0400B222 RID: 45602
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400B222")]
|
|
public IReadOnlyCollection<Guid> currentSelection;
|
|
|
|
// Token: 0x0400B223 RID: 45603
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400B223")]
|
|
public MakerPenMergeOperation <>4__this;
|
|
|
|
// Token: 0x0400B224 RID: 45604
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400B224")]
|
|
public ShapeContainer destContainer;
|
|
|
|
// Token: 0x0400B225 RID: 45605
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400B225")]
|
|
public Promise<string> promise;
|
|
|
|
// Token: 0x0400B226 RID: 45606
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x400B226")]
|
|
public Action<string> <>9__8;
|
|
|
|
// Token: 0x0400B227 RID: 45607
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x400B227")]
|
|
public Action<JPIJGHNNIDP> <>9__9;
|
|
|
|
// Token: 0x0400B228 RID: 45608
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400B228")]
|
|
public Action<string> <>9__10;
|
|
}
|
|
|
|
// Token: 0x020025CE RID: 9678
|
|
[Token(Token = "0x20025CE")]
|
|
[CompilerGenerated]
|
|
private sealed class FJODMILMNHO
|
|
{
|
|
// Token: 0x06010C00 RID: 68608 RVA: 0x003F1650 File Offset: 0x003EF850
|
|
[Token(Token = "0x6010C00")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public FJODMILMNHO()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06010C01 RID: 68609 RVA: 0x003F1664 File Offset: 0x003EF864
|
|
[Token(Token = "0x6010C01")]
|
|
[Address(RVA = "0x1503440", Offset = "0x1501E40", VA = "0x181503440")]
|
|
internal void <TryMergeContainers>b__7(bool mergeResult)
|
|
{
|
|
if (mergeResult)
|
|
{
|
|
UndoStack undoStack = this.CS$<>8__locals1.<>4__this.<MakerPen>k__BackingField._undoStack;
|
|
EIIGKDBCPIC eiigkdbcpic = this.undoEntry;
|
|
undoStack.Add(eiigkdbcpic);
|
|
}
|
|
this.CS$<>8__locals1.promise.Complete("Merge failed...");
|
|
}
|
|
|
|
// Token: 0x0400B229 RID: 45609
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400B229")]
|
|
public EIIGKDBCPIC undoEntry;
|
|
|
|
// Token: 0x0400B22A RID: 45610
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400B22A")]
|
|
public MakerPenMergeOperation.MOHMDHHFBKP CS$<>8__locals1;
|
|
}
|
|
}
|
|
}
|