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.k__BackingField.k__BackingField.FACMDIMLMMD && this.k__BackingField.ABNHKODIKFP && this.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 DLGNOIPIJEA() { ICancelablePromise cancelablePromise = MakerPenCreateInventionFromSelectionOperation.ONEFHFMLLIP(this.k__BackingField.k__BackingField); Action action = new Action(this.LDFDKFECMGN); return Promise.FromResult(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 llfdkcncmkf = fdicddlobjb.creationContext.LLFDKCNCMKF; Action action = delegate(CreationManager.APEJPJGFPLD canSaveResult) { IDisposable loadingMessage = fdicddlobjb.loadingMessage; }; if (num < fdicddlobjb) { num += num; if (num == fdicddlobjb) { goto IL_79; } num++; } Action action2 = new Action(fdicddlobjb.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(this.k__BackingField.k__BackingField.LLFDKCNCMKF); MakerPen k__BackingField = this.k__BackingField; Stack gilenogkpjn = k__BackingField.GILENOGKPJN; k__BackingField.AuthorityPopPenTool(); int num = 0; int num2 = 0; ulong num3; k__BackingField.LIPDEKBCHMM(MakerPen.KLAENPHIBEM.CreateInvention, (MakerPen.HJPIHGIFKEO)num2, (MakerPen.PHLDADLJJPH)num, num3 != 0UL); CreationContext k__BackingField = this.k__BackingField.k__BackingField; int length = array.Length; bool flag = k__BackingField.SetSelection(length, array); MakerPenPaletteMoveableToolMenu paletteMenu = this.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 k__BackingField2 = this.k__BackingField; if (!k__BackingField2.k__BackingField) { Action jkfhjhffhmc = k__BackingField2.JKFHJHFFHMC; k__BackingField2.k__BackingField = true; if (jkfhjhffhmc != 0) { jkfhjhffhmc(); } } MakerPen k__BackingField3 = this.k__BackingField; if (k__BackingField3.k__BackingField && k__BackingField3.k__BackingField.ENEJDOAEDCJ > 0) { Action ennlkldeobc = k__BackingField3.ENNLKLDEOBC; k__BackingField3.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 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 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 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 b__3(List preventResult) { MakerPenCreateInventionFromSelectionOperation.LBCDELHKKCE lbcdelhkkce = new MakerPenCreateInventionFromSelectionOperation.LBCDELHKKCE(); lbcdelhkkce.CS$<>8__locals1 = this; lbcdelhkkce.preventResult = preventResult; if (preventResult != 0) { WatchUI local = WatchUI.BFPPPLIJIGC; Action action = delegate(JPIJGHNNIDP r) { int num; for (;;) { num = 0; if (r != JPIJGHNNIDP.Affirmative) { break; } List 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.g__OnError|0("There is nothing selected"); return; } ICancelablePromise cancelablePromise = MakerPenCreateInventionFromSelectionOperation.ONEFHFMLLIP(cs$<>8__locals.creationContext); CancelablePromise cancelablePromise2 = lbcdelhkkce.CS$<>8__locals1.promise; Action action3 = new Action(lbcdelhkkce.CS$<>8__locals1.promise.Error); Action action4 = new Action(lbcdelhkkce.CS$<>8__locals1.promise.Complete); }; Action action2 = new Action(this.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 <>9__2; // Token: 0x0400B20D RID: 45581 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x400B20D")] public Action> <>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 b__4(JPIJGHNNIDP r) { int num; for (;;) { num = 0; if (r != JPIJGHNNIDP.Affirmative) { break; } List 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.g__OnError|0("There is nothing selected"); return; } ICancelablePromise cancelablePromise = MakerPenCreateInventionFromSelectionOperation.ONEFHFMLLIP(cs$<>8__locals.creationContext); CancelablePromise promise = this.CS$<>8__locals1.promise; Action 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 preventResult; // Token: 0x0400B20F RID: 45583 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400B20F")] public MakerPenCreateInventionFromSelectionOperation.FDICDDLOBJB CS$<>8__locals1; } } }