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

332 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.AGUI.ToolUIs;
using RecRoom.Async;
using RecRoom.Core;
using RecRoom.Core.Creation;
namespace RecRoom.Tools.MakerPenTools
{
// Token: 0x020025C2 RID: 9666
[Token(Token = "0x20025C2")]
[Serializable]
[StructLayout(3)]
public class MakerPenCreateInventionFromSelectionOperation : MakerPenOperation
{
// Token: 0x17002D6E RID: 11630
// (get) Token: 0x06010BD2 RID: 68562 RVA: 0x003F02C0 File Offset: 0x003EE4C0
[Token(Token = "0x17002D6E")]
public bool CanCreateInventionFromSelection
{
[Token(Token = "0x6010BD2")]
[Address(RVA = "0x150A020", Offset = "0x1508A20", VA = "0x18150A020")]
get
{
if (this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.FACMDIMLMMD && this.<MakerPen>k__BackingField.ABNHKODIKFP && this.<MakerPen>k__BackingField.FFGGPLHIJHN.Get2() != 1)
{
return true;
}
throw new NullReferenceException();
}
}
// Token: 0x06010BD3 RID: 68563 RVA: 0x003F030C File Offset: 0x003EE50C
[Token(Token = "0x6010BD3")]
[Address(RVA = "0x1509B20", Offset = "0x1508520", VA = "0x181509B20")]
public IPromise<string> DLGNOIPIJEA()
{
ICancelablePromise cancelablePromise = MakerPenCreateInventionFromSelectionOperation.ONEFHFMLLIP(this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField);
Action action = new Action(this.LDFDKFECMGN);
return Promise.FromResult<string>(string.Empty);
}
// Token: 0x06010BD4 RID: 68564 RVA: 0x003F0348 File Offset: 0x003EE548
[Token(Token = "0x6010BD4")]
[Address(RVA = "0x1509DE0", Offset = "0x15087E0", VA = "0x181509DE0")]
public static ICancelablePromise ONEFHFMLLIP(CreationContext OLFNCDHDFPF)
{
MakerPenCreateInventionFromSelectionOperation.FDICDDLOBJB fdicddlobjb = new MakerPenCreateInventionFromSelectionOperation.FDICDDLOBJB();
fdicddlobjb.creationContext = OLFNCDHDFPF;
CancelablePromise cancelablePromise = new CancelablePromise();
fdicddlobjb.promise = cancelablePromise;
int num = 0;
fdicddlobjb.loadingMessage = num;
NotificationManager instance = SingletonMonoBehaviour.Instance;
IDisposable disposable;
fdicddlobjb.loadingMessage = disposable;
CreationManager instance2 = SingletonMonoBehaviour.Instance;
List<GIPDDLFFNGG> llfdkcncmkf = fdicddlobjb.creationContext.LLFDKCNCMKF;
Action<CreationManager.APEJPJGFPLD> action = delegate(CreationManager.APEJPJGFPLD canSaveResult)
{
IDisposable loadingMessage = fdicddlobjb.loadingMessage;
};
if (num < fdicddlobjb)
{
num += num;
if (num == fdicddlobjb)
{
goto IL_79;
}
num++;
}
Action<string> action2 = new Action(fdicddlobjb.<ValidateSelectionCanBeSavedAsInvention>g__OnError|0);
CancelablePromise promise = fdicddlobjb.promise;
IL_79:
uint num2;
num2 += num2;
throw new NullReferenceException();
}
// Token: 0x06010BD5 RID: 68565 RVA: 0x003F03DC File Offset: 0x003EE5DC
[Token(Token = "0x6010BD5")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public MakerPenCreateInventionFromSelectionOperation()
{
}
// Token: 0x06010BD6 RID: 68566 RVA: 0x003F03F0 File Offset: 0x003EE5F0
[Token(Token = "0x6010BD6")]
[Address(RVA = "0x1509C00", Offset = "0x1508600", VA = "0x181509C00")]
[CompilerGenerated]
private void LDFDKFECMGN()
{
GIPDDLFFNGG[] array = Enumerable.ToArray<GIPDDLFFNGG>(this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField.LLFDKCNCMKF);
MakerPen <MakerPen>k__BackingField = this.<MakerPen>k__BackingField;
Stack<MakerPen.KLAENPHIBEM> gilenogkpjn = <MakerPen>k__BackingField.GILENOGKPJN;
<MakerPen>k__BackingField.AuthorityPopPenTool();
int num = 0;
int num2 = 0;
ulong num3;
<MakerPen>k__BackingField.LIPDEKBCHMM(MakerPen.KLAENPHIBEM.CreateInvention, (MakerPen.HJPIHGIFKEO)num2, (MakerPen.PHLDADLJJPH)num, num3 != 0UL);
CreationContext <BDFEKAONFDI>k__BackingField = this.<MakerPen>k__BackingField.<BDFEKAONFDI>k__BackingField;
int length = array.Length;
bool flag = <BDFEKAONFDI>k__BackingField.SetSelection(length, array);
MakerPenPaletteMoveableToolMenu paletteMenu = this.<MakerPen>k__BackingField.paletteMenu;
int num4 = 0;
int num5 = 0;
int num6 = 0;
ulong num7;
ulong num8;
paletteMenu.ShowInventionCreationFlow(num6, num5 != 0, num4 != 0, num7 != 0UL, num8 != 0UL);
MakerPen <MakerPen>k__BackingField2 = this.<MakerPen>k__BackingField;
if (!<MakerPen>k__BackingField2.<NJKODCEDGPE>k__BackingField)
{
Action jkfhjhffhmc = <MakerPen>k__BackingField2.JKFHJHFFHMC;
<MakerPen>k__BackingField2.<NJKODCEDGPE>k__BackingField = true;
if (jkfhjhffhmc != 0)
{
jkfhjhffhmc();
}
}
MakerPen <MakerPen>k__BackingField3 = this.<MakerPen>k__BackingField;
if (<MakerPen>k__BackingField3.<NJKODCEDGPE>k__BackingField && <MakerPen>k__BackingField3.<BDFEKAONFDI>k__BackingField.ENEJDOAEDCJ > 0)
{
Action<bool> ennlkldeobc = <MakerPen>k__BackingField3.ENNLKLDEOBC;
<MakerPen>k__BackingField3.<NJKODCEDGPE>k__BackingField = false;
if (ennlkldeobc != 0)
{
ennlkldeobc(1);
}
}
}
// Token: 0x020025C3 RID: 9667
[Token(Token = "0x20025C3")]
[CompilerGenerated]
private sealed class FDICDDLOBJB
{
// Token: 0x06010BD7 RID: 68567 RVA: 0x003F04F8 File Offset: 0x003EE6F8
[Token(Token = "0x6010BD7")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public FDICDDLOBJB()
{
}
// Token: 0x06010BD8 RID: 68568 RVA: 0x003F050C File Offset: 0x003EE70C
[Token(Token = "0x6010BD8")]
[Address(RVA = "0x15032C0", Offset = "0x1501CC0", VA = "0x1815032C0")]
internal void <ValidateSelectionCanBeSavedAsInvention>g__OnError|0(string error)
{
if (WatchUI.BFPPPLIJIGC != 0)
{
}
string text = "Error creating invention:\n\n" + error;
this.promise.Error(error);
}
// Token: 0x06010BD9 RID: 68569 RVA: 0x003F0544 File Offset: 0x003EE744
[Token(Token = "0x6010BD9")]
[Address(RVA = "0x1502DF0", Offset = "0x15017F0", VA = "0x181502DF0")]
internal void <ValidateSelectionCanBeSavedAsInvention>b__1(CreationManager.APEJPJGFPLD canSaveResult)
{
IDisposable disposable = this.loadingMessage;
}
// Token: 0x06010BDA RID: 68570 RVA: 0x003F05E4 File Offset: 0x003EE7E4
[Token(Token = "0x6010BDA")]
[Address(RVA = "0x15030E0", Offset = "0x1501AE0", VA = "0x1815030E0")]
internal void <ValidateSelectionCanBeSavedAsInvention>b__2(JPIJGHNNIDP response)
{
CancelablePromise cancelablePromise = this.promise;
if (response != JPIJGHNNIDP.Affirmative)
{
cancelablePromise.Cancel();
return;
}
cancelablePromise.Complete();
}
// Token: 0x06010BDB RID: 68571 RVA: 0x003F0610 File Offset: 0x003EE810
[Token(Token = "0x6010BDB")]
[Address(RVA = "0x1503120", Offset = "0x1501B20", VA = "0x181503120")]
internal void <ValidateSelectionCanBeSavedAsInvention>b__3(List<GIPDDLFFNGG> preventResult)
{
MakerPenCreateInventionFromSelectionOperation.LBCDELHKKCE lbcdelhkkce = new MakerPenCreateInventionFromSelectionOperation.LBCDELHKKCE();
lbcdelhkkce.CS$<>8__locals1 = this;
lbcdelhkkce.preventResult = preventResult;
if (preventResult != 0)
{
WatchUI local = WatchUI.BFPPPLIJIGC;
Action<JPIJGHNNIDP> action = delegate(JPIJGHNNIDP r)
{
int num;
for (;;)
{
num = 0;
if (r != JPIJGHNNIDP.Affirmative)
{
break;
}
List<GIPDDLFFNGG> preventResult2 = lbcdelhkkce.preventResult;
List.Enumerator enumerator;
if (enumerator != 0)
{
CreationContext creationContext = lbcdelhkkce.CS$<>8__locals1.creationContext;
}
if (num != -1)
{
}
if (num == 0)
{
goto Block_2;
}
}
IDisposable disposable = SingletonMonoBehaviour.Instance.Play((NotificationManager.IBIDFAOPIPC)((uint)2), "Invention creation cancelled!", 3f, num, num);
lbcdelhkkce.CS$<>8__locals1.promise.Cancel();
return;
Block_2:
bool hasSelection = lbcdelhkkce.CS$<>8__locals1.creationContext.FACMDIMLMMD;
MakerPenCreateInventionFromSelectionOperation.FDICDDLOBJB cs$<>8__locals = lbcdelhkkce.CS$<>8__locals1;
if (!hasSelection)
{
cs$<>8__locals.<ValidateSelectionCanBeSavedAsInvention>g__OnError|0("There is nothing selected");
return;
}
ICancelablePromise cancelablePromise = MakerPenCreateInventionFromSelectionOperation.ONEFHFMLLIP(cs$<>8__locals.creationContext);
CancelablePromise cancelablePromise2 = lbcdelhkkce.CS$<>8__locals1.promise;
Action<string> action3 = new Action(lbcdelhkkce.CS$<>8__locals1.promise.Error);
Action action4 = new Action(lbcdelhkkce.CS$<>8__locals1.promise.Complete);
};
Action<string> action2 = new Action(this.<ValidateSelectionCanBeSavedAsInvention>g__OnError|0);
}
}
// Token: 0x0400B209 RID: 45577
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400B209")]
public CancelablePromise promise;
// Token: 0x0400B20A RID: 45578
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400B20A")]
public IDisposable loadingMessage;
// Token: 0x0400B20B RID: 45579
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400B20B")]
public CreationContext creationContext;
// Token: 0x0400B20C RID: 45580
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400B20C")]
public Action<JPIJGHNNIDP> <>9__2;
// Token: 0x0400B20D RID: 45581
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400B20D")]
public Action<List<GIPDDLFFNGG>> <>9__3;
}
// Token: 0x020025C4 RID: 9668
[Token(Token = "0x20025C4")]
[CompilerGenerated]
private sealed class LBCDELHKKCE
{
// Token: 0x06010BDC RID: 68572 RVA: 0x003F0660 File Offset: 0x003EE860
[Token(Token = "0x6010BDC")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public LBCDELHKKCE()
{
}
// Token: 0x06010BDD RID: 68573 RVA: 0x003F0674 File Offset: 0x003EE874
[Token(Token = "0x6010BDD")]
[Address(RVA = "0x1503830", Offset = "0x1502230", VA = "0x181503830")]
internal void <ValidateSelectionCanBeSavedAsInvention>b__4(JPIJGHNNIDP r)
{
int num;
for (;;)
{
num = 0;
if (r != JPIJGHNNIDP.Affirmative)
{
break;
}
List<GIPDDLFFNGG> list = this.preventResult;
List.Enumerator enumerator;
if (enumerator != 0)
{
CreationContext creationContext = this.CS$<>8__locals1.creationContext;
}
if (num != -1)
{
}
if (num == 0)
{
goto Block_2;
}
}
IDisposable disposable = SingletonMonoBehaviour.Instance.Play((NotificationManager.IBIDFAOPIPC)((uint)2), "Invention creation cancelled!", 3f, num, num);
this.CS$<>8__locals1.promise.Cancel();
return;
Block_2:
bool hasSelection = this.CS$<>8__locals1.creationContext.FACMDIMLMMD;
MakerPenCreateInventionFromSelectionOperation.FDICDDLOBJB cs$<>8__locals = this.CS$<>8__locals1;
if (!hasSelection)
{
cs$<>8__locals.<ValidateSelectionCanBeSavedAsInvention>g__OnError|0("There is nothing selected");
return;
}
ICancelablePromise cancelablePromise = MakerPenCreateInventionFromSelectionOperation.ONEFHFMLLIP(cs$<>8__locals.creationContext);
CancelablePromise promise = this.CS$<>8__locals1.promise;
Action<string> action = new Action(this.CS$<>8__locals1.promise.Error);
Action action2 = new Action(this.CS$<>8__locals1.promise.Complete);
}
// Token: 0x0400B20E RID: 45582
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400B20E")]
public List<GIPDDLFFNGG> preventResult;
// Token: 0x0400B20F RID: 45583
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400B20F")]
public MakerPenCreateInventionFromSelectionOperation.FDICDDLOBJB CS$<>8__locals1;
}
}
}