using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using Cpp2IlInjected; using RecRoom.Core; using RecRoom.Core.VR.UI; using UnityEngine; using UnityEngine.Events; using UnityEngine.SceneManagement; namespace RecRoom.Tutorials { // Token: 0x02002A8A RID: 10890 [Token(Token = "0x2002A8A")] public class TutorialPromptManager : SingletonMonoBehaviour { // Token: 0x170032A0 RID: 12960 // (get) Token: 0x060121DA RID: 74202 RVA: 0x0041A790 File Offset: 0x00418990 [Token(Token = "0x170032A0")] public VRTutorialPromptDialog HBMAHACNIAK { [Token(Token = "0x60121DA")] [Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")] get { return this.vrTutorialPromptDialog; } } // Token: 0x060121DB RID: 74203 RVA: 0x0041A7A4 File Offset: 0x004189A4 [Token(Token = "0x60121DB")] [Address(RVA = "0x1AAB220", Offset = "0x1AAA220", VA = "0x181AAB220", Slot = "4")] protected override void Awake() { SceneManager.sceneUnloaded += new UnityAction(this.LMOACMLMLAB); base.Awake(); } // Token: 0x060121DC RID: 74204 RVA: 0x0041A7C8 File Offset: 0x004189C8 [Token(Token = "0x60121DC")] [Address(RVA = "0x1AAB960", Offset = "0x1AAA960", VA = "0x181AAB960", Slot = "5")] protected override void OnDestroy() { base.OnDestroy(); SceneManager.sceneUnloaded -= new UnityAction(this.LMOACMLMLAB); } // Token: 0x060121DD RID: 74205 RVA: 0x0041A7EC File Offset: 0x004189EC [Token(Token = "0x60121DD")] [Address(RVA = "0x1AABA00", Offset = "0x1AAAA00", VA = "0x181AABA00")] public CDJFFFCFLMF RunTutorialPrompt(TutorialPromptContext OGPDDBIIAEB) { HHKIEEPFDOH hhkieepfdoh = new HHKIEEPFDOH(); Scheduler instance = SingletonMonoBehaviour.ONCPNMDGGKG; TutorialPromptManager.AKCFHAFDIAM akcfhafdiam; akcfhafdiam.System.IDisposable.Dispose(); akcfhafdiam.<>1__state = (int)((ulong)0L); akcfhafdiam.<>4__this = this; akcfhafdiam.promptContext = OGPDDBIIAEB; akcfhafdiam.newActivePromptPromise = hhkieepfdoh; KFBABPAPIMB kfbabpapimb = instance.Run(akcfhafdiam); throw new NullReferenceException(); } // Token: 0x060121DE RID: 74206 RVA: 0x0041A838 File Offset: 0x00418A38 [Token(Token = "0x60121DE")] [Address(RVA = "0x1AAB300", Offset = "0x1AAA300", VA = "0x181AAB300")] public void FinishTutorialPrompt(TutorialPromptManager.ANINMLFKAPH HEMFNKBMEMG) { int num = (int)(HEMFNKBMEMG + 1); if (num != 0) { if (num == 0) { HHKIEEPFDOH ajfhafeemne = SingletonMonoBehaviour.ONCPNMDGGKG.AJFHAFEEMNE; while (ajfhafeemne == 0) { } ajfhafeemne.KBPKIDJEOFB(); return; } if (num == 0) { HHKIEEPFDOH ajfhafeemne2 = SingletonMonoBehaviour.ONCPNMDGGKG.AJFHAFEEMNE; while (ajfhafeemne2 == 0) { } ajfhafeemne2.OOOIENHGNCA(); return; } if (num == 1) { SingletonMonoBehaviour.ONCPNMDGGKG.HideTutorialPrompt(); return; } } } // Token: 0x060121DF RID: 74207 RVA: 0x0041A898 File Offset: 0x00418A98 [Token(Token = "0x60121DF")] [Address(RVA = "0x1AAB2C0", Offset = "0x1AAA2C0", VA = "0x181AAB2C0")] public void CancelTutorialPrompt() { HHKIEEPFDOH ajfhafeemne = this.AJFHAFEEMNE; if (ajfhafeemne != 0) { ajfhafeemne.KBPKIDJEOFB(); return; } } // Token: 0x060121E0 RID: 74208 RVA: 0x0041A8B8 File Offset: 0x00418AB8 [Token(Token = "0x60121E0")] [Address(RVA = "0x1AAB2E0", Offset = "0x1AAA2E0", VA = "0x181AAB2E0")] public void CompleteTutorialPrompt() { HHKIEEPFDOH ajfhafeemne = this.AJFHAFEEMNE; if (ajfhafeemne != 0) { ajfhafeemne.OOOIENHGNCA(); return; } } // Token: 0x060121E1 RID: 74209 RVA: 0x0041A8D8 File Offset: 0x00418AD8 [Token(Token = "0x60121E1")] [Address(RVA = "0x1AAB420", Offset = "0x1AAA420", VA = "0x181AAB420")] public void HideTutorialPrompt() { ScreenHUD screenModeHUD; for (;;) { if (this.ILGHJBJMEJC != 0) { this.ILGHJBJMEJC = (ulong)0L; } if (!SingletonMonoBehaviour.ONCPNMDGGKG.ACGDGBHFJFB) { break; } screenModeHUD = SingletonMonoBehaviour.ONCPNMDGGKG.screenModeHUD; int num = 0; if (screenModeHUD != num) { goto Block_2; } } this.vrTutorialPromptDialog.Hide(); return; Block_2: screenModeHUD.DisableTutorialPromptDialog(); } // Token: 0x060121E2 RID: 74210 RVA: 0x0041A934 File Offset: 0x00418B34 [Token(Token = "0x60121E2")] [Address(RVA = "0x1AAB640", Offset = "0x1AAA640", VA = "0x181AAB640")] private IEnumerator MGKBPDFMKIF(TutorialPromptContext OGPDDBIIAEB, HHKIEEPFDOH AILBAPGINGC) { /* An exception occurred when decompiling this method (060121E2) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.Tutorials.TutorialPromptManager::MGKBPDFMKIF(RecRoom.Tutorials.TutorialPromptContext,HHKIEEPFDOH) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(AKCFHAFDIAM::System.IDisposable.Dispose, ldloc:AKCFHAFDIAM(var_0)) stfld:TutorialPromptManager(AKCFHAFDIAM::<>4__this, ldloc:AKCFHAFDIAM(var_0), ldloc:TutorialPromptManager(this)) stfld:TutorialPromptContext(AKCFHAFDIAM::promptContext, ldloc:AKCFHAFDIAM(var_0), ldloc:TutorialPromptContext(OGPDDBIIAEB)) stfld:int32(AKCFHAFDIAM::<>1__state, ldloc:AKCFHAFDIAM(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:HHKIEEPFDOH(AKCFHAFDIAM::newActivePromptPromise, ldloc:AKCFHAFDIAM(var_0), ldloc:HHKIEEPFDOH(AILBAPGINGC)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060121E3 RID: 74211 RVA: 0x0041A964 File Offset: 0x00418B64 [Token(Token = "0x60121E3")] [Address(RVA = "0x1AAB2C0", Offset = "0x1AAA2C0", VA = "0x181AAB2C0")] private void LMOACMLMLAB(Scene LHECBPFGEMH) { HHKIEEPFDOH ajfhafeemne = this.AJFHAFEEMNE; if (ajfhafeemne != 0) { ajfhafeemne.KBPKIDJEOFB(); return; } } // Token: 0x060121E4 RID: 74212 RVA: 0x0041A984 File Offset: 0x00418B84 [Token(Token = "0x60121E4")] [Address(RVA = "0x1AAB730", Offset = "0x1AAA730", VA = "0x181AAB730")] private void OIPMLAEEHNM(TutorialPromptContext OGPDDBIIAEB) { int num; int num2; do { num = 0; if ((OGPDDBIIAEB.debugLog ? 1 : 0) != num) { Debug.LogError(OGPDDBIIAEB.promptType + ": Cleanup"); } this.HideTutorialPrompt(); List lffinojgpme = this.LFFINOJGPME; bool flag; if (flag) { num += num; num++; while (num == 0) { } num++; num += 19; } num2 = 0; } while (num != 0); this.LFFINOJGPME.Clear(); this.AJFHAFEEMNE = num2; } // Token: 0x060121E5 RID: 74213 RVA: 0x0041AA00 File Offset: 0x00418C00 [Token(Token = "0x60121E5")] [Address(RVA = "0x1AAB550", Offset = "0x1AAA550", VA = "0x181AAB550")] private void LNHNOJCFMLP(TutorialPromptContext OGPDDBIIAEB) { this.HideTutorialPrompt(); Scheduler instance = SingletonMonoBehaviour.ONCPNMDGGKG; TutorialPromptManager.KGKCGPDIEGJ kgkcgpdiegj; kgkcgpdiegj.System.IDisposable.Dispose(); kgkcgpdiegj.<>1__state = (int)((ulong)0L); kgkcgpdiegj.<>4__this = this; kgkcgpdiegj.promptContext = OGPDDBIIAEB; KFBABPAPIMB kfbabpapimb = instance.Run(kgkcgpdiegj); this.ILGHJBJMEJC = kfbabpapimb; } // Token: 0x060121E6 RID: 74214 RVA: 0x0041AA4C File Offset: 0x00418C4C [Token(Token = "0x60121E6")] [Address(RVA = "0x1AAB6C0", Offset = "0x1AAA6C0", VA = "0x181AAB6C0")] private IEnumerator NOHNLGAGEEB(TutorialPromptContext OGPDDBIIAEB) { /* An exception occurred when decompiling this method (060121E6) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.Tutorials.TutorialPromptManager::NOHNLGAGEEB(RecRoom.Tutorials.TutorialPromptContext) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(KGKCGPDIEGJ::System.IDisposable.Dispose, ldloc:KGKCGPDIEGJ(var_0)) stfld:TutorialPromptManager(KGKCGPDIEGJ::<>4__this, ldloc:KGKCGPDIEGJ(var_0), ldloc:TutorialPromptManager(this)) stfld:int32(KGKCGPDIEGJ::<>1__state, ldloc:KGKCGPDIEGJ(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:TutorialPromptContext(KGKCGPDIEGJ::promptContext, ldloc:KGKCGPDIEGJ(var_0), ldloc:TutorialPromptContext(OGPDDBIIAEB)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060121E7 RID: 74215 RVA: 0x0041AA78 File Offset: 0x00418C78 [Token(Token = "0x60121E7")] [Address(RVA = "0x1AABB00", Offset = "0x1AAAB00", VA = "0x181AABB00")] public TutorialPromptManager() { List list = new List(); this.LFFINOJGPME = list; base..ctor(); } // Token: 0x0400B9F9 RID: 47609 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400B9F9")] [SerializeField] [Header("References")] private VRTutorialPromptDialog vrTutorialPromptDialog; // Token: 0x0400B9FA RID: 47610 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400B9FA")] [SerializeField] [Header("Configs")] private TutorialPromptConfigs tutorialPromptConfigs; // Token: 0x0400B9FB RID: 47611 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400B9FB")] private HHKIEEPFDOH AJFHAFEEMNE; // Token: 0x0400B9FC RID: 47612 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400B9FC")] private KFBABPAPIMB ILGHJBJMEJC; // Token: 0x0400B9FD RID: 47613 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400B9FD")] private List LFFINOJGPME; // Token: 0x02002A8B RID: 10891 [Token(Token = "0x2002A8B")] public enum ANINMLFKAPH { // Token: 0x0400B9FF RID: 47615 [Token(Token = "0x400B9FF")] NONE = -1, // Token: 0x0400BA00 RID: 47616 [Token(Token = "0x400BA00")] CANCEL, // Token: 0x0400BA01 RID: 47617 [Token(Token = "0x400BA01")] COMPLETE, // Token: 0x0400BA02 RID: 47618 [Token(Token = "0x400BA02")] HIDE } // Token: 0x02002A8C RID: 10892 [Token(Token = "0x2002A8C")] [CompilerGenerated] private sealed class KBIJJJHONKB { // Token: 0x060121E8 RID: 74216 RVA: 0x0041AA98 File Offset: 0x00418C98 [Token(Token = "0x60121E8")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public KBIJJJHONKB() { } // Token: 0x060121E9 RID: 74217 RVA: 0x0041AAAC File Offset: 0x00418CAC [Token(Token = "0x60121E9")] [Address(RVA = "0x1A99190", Offset = "0x1A98190", VA = "0x181A99190")] internal void b__0() { TutorialPromptManager tutorialPromptManager = this.<>4__this; TutorialPromptContext tutorialPromptContext = this.promptContext; tutorialPromptManager.OIPMLAEEHNM(tutorialPromptContext); } // Token: 0x0400BA03 RID: 47619 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400BA03")] public TutorialPromptManager <>4__this; // Token: 0x0400BA04 RID: 47620 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400BA04")] public TutorialPromptContext promptContext; // Token: 0x0400BA05 RID: 47621 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400BA05")] public HHKIEEPFDOH newActivePromptPromise; } // Token: 0x02002A8D RID: 10893 [Token(Token = "0x2002A8D")] [CompilerGenerated] private sealed class EFIDKIOMNNN { // Token: 0x060121EA RID: 74218 RVA: 0x0041AAD4 File Offset: 0x00418CD4 [Token(Token = "0x60121EA")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public EFIDKIOMNNN() { } // Token: 0x060121EB RID: 74219 RVA: 0x0041AAE8 File Offset: 0x00418CE8 [Token(Token = "0x60121EB")] [Address(RVA = "0x1A98260", Offset = "0x1A97260", VA = "0x181A98260")] internal bool b__1() { float time = Time.time; TutorialPromptManager.KBIJJJHONKB cs$<>8__locals = this.CS$<>8__locals1; TutorialPromptContext promptContext = cs$<>8__locals.promptContext; return time > promptContext.gracePeriod || !cs$<>8__locals.newActivePromptPromise.HLBOMBLINAL; } // Token: 0x0400BA06 RID: 47622 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400BA06")] public float startTime; // Token: 0x0400BA07 RID: 47623 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400BA07")] public TutorialPromptManager.KBIJJJHONKB CS$<>8__locals1; } } }