using System; using System.Collections; using System.Runtime.InteropServices; using Cpp2IlInjected; using UnityEngine; namespace RecRoom.Tutorials { // Token: 0x020024D2 RID: 9426 [Token(Token = "0x20024D2")] [StructLayout(3)] public class MirrorTutorial : TutorialController { // Token: 0x0601045E RID: 66654 RVA: 0x003D06E8 File Offset: 0x003CE8E8 [Token(Token = "0x601045E")] [Address(RVA = "0x1472C30", Offset = "0x1471630", VA = "0x181472C30", Slot = "4")] protected override void Awake() { base.Awake(); TutorialManager instance = SingletonMonoBehaviour.Instance; this.OnDestroy(); bool flag; if (!flag && SingletonMonoBehaviour.Instance.IsLegacyTutorialComplete()) { TutorialManager instance2 = SingletonMonoBehaviour.Instance; this.OnDestroy(); } HKKOHFHADKK hkkohfhadkk = new HKKOHFHADKK(); this.PEGJGMDGKJN = hkkohfhadkk; int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; hkkohfhadkk.JEPMLPCOGNM((ushort)num2, num4, num3, num); HKKOHFHADKK pegjgmdgkjn = this.PEGJGMDGKJN; MIEIBBPMDMP.OKGCDFLPFOD okgcdflpfod = new MIEIBBPMDMP.OKGCDFLPFOD(this.LFFMHLODNFD); MIEIBBPMDMP.OKGCDFLPFOD okgcdflpfod2 = new MIEIBBPMDMP.OKGCDFLPFOD(this.BNGPLNFDFFK); MIEIBBPMDMP.KNFAKJMALJE knfakjmalje = new MIEIBBPMDMP.KNFAKJMALJE(this.AFODFHBMFJO); HKKOHFHADKK pegjgmdgkjn2 = this.PEGJGMDGKJN; MIEIBBPMDMP.OKGCDFLPFOD okgcdflpfod3 = new MIEIBBPMDMP.OKGCDFLPFOD(this.OIDABGIOBKM); MIEIBBPMDMP.OKGCDFLPFOD okgcdflpfod4 = new MIEIBBPMDMP.OKGCDFLPFOD(this.HKDBIHAMDCN); HKKOHFHADKK pegjgmdgkjn3 = this.PEGJGMDGKJN; HKKOHFHADKK pegjgmdgkjn4 = this.PEGJGMDGKJN; HKKOHFHADKK pegjgmdgkjn5 = this.PEGJGMDGKJN; MIEIBBPMDMP.OKGCDFLPFOD okgcdflpfod5 = new MIEIBBPMDMP.OKGCDFLPFOD(this.KHMHOGBCHKN); MIEIBBPMDMP.OKGCDFLPFOD okgcdflpfod6 = new MIEIBBPMDMP.OKGCDFLPFOD(this.OGDGFCJKLKL); HKKOHFHADKK pegjgmdgkjn6 = this.PEGJGMDGKJN; HKKOHFHADKK pegjgmdgkjn7 = this.PEGJGMDGKJN; int num5 = 0; pegjgmdgkjn7.PIEOGAPMGIH((ushort)num5); } // Token: 0x0601045F RID: 66655 RVA: 0x003D080C File Offset: 0x003CEA0C [Token(Token = "0x601045F")] [Address(RVA = "0x146CD10", Offset = "0x146B710", VA = "0x18146CD10", Slot = "6")] protected override void Update() { this.PEGJGMDGKJN.OPEMIFENIJM(); this.PEGJGMDGKJN.OPEMIFENIJM(); } // Token: 0x06010460 RID: 66656 RVA: 0x003D0838 File Offset: 0x003CEA38 [Token(Token = "0x6010460")] [Address(RVA = "0x14734C0", Offset = "0x1471EC0", VA = "0x1814734C0", Slot = "7")] protected override void OnDestroy() { base.OnDestroy(); HKKOHFHADKK pegjgmdgkjn = this.PEGJGMDGKJN; if (pegjgmdgkjn != 0) { int num = 0; pegjgmdgkjn.PIEOGAPMGIH((ushort)num); return; } } // Token: 0x17002C32 RID: 11314 // (get) Token: 0x06010461 RID: 66657 RVA: 0x003D0860 File Offset: 0x003CEA60 [Token(Token = "0x17002C32")] protected override TutorialManager.PKHLMAEGIKG PPOOGDLMBJB { [Token(Token = "0x6010461")] [Address(RVA = "0x3E2800", Offset = "0x3E1200", VA = "0x1803E2800", Slot = "8")] get { return TutorialManager.PKHLMAEGIKG.NUX_MIRROR; } } // Token: 0x17002C33 RID: 11315 // (get) Token: 0x06010462 RID: 66658 RVA: 0x003D0870 File Offset: 0x003CEA70 [Token(Token = "0x17002C33")] protected override bool DJJKANKMOII { [Token(Token = "0x6010462")] [Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0", Slot = "11")] get { return true; } } // Token: 0x06010463 RID: 66659 RVA: 0x003D0880 File Offset: 0x003CEA80 [Token(Token = "0x6010463")] [Address(RVA = "0x1473040", Offset = "0x1471A40", VA = "0x181473040", Slot = "9")] protected override bool COAONLBBPAF() { TutorialManager instance = SingletonMonoBehaviour.Instance; int num = 0; return instance.IsTutorialComplete((TutorialManager.PKHLMAEGIKG)num); } // Token: 0x06010464 RID: 66660 RVA: 0x003D08A8 File Offset: 0x003CEAA8 [Token(Token = "0x6010464")] [Address(RVA = "0x1473380", Offset = "0x1471D80", VA = "0x181473380", Slot = "14")] protected override void MDPFCJILCON() { HKKOHFHADKK pegjgmdgkjn = this.PEGJGMDGKJN; } // Token: 0x06010465 RID: 66661 RVA: 0x003D08C4 File Offset: 0x003CEAC4 [Token(Token = "0x6010465")] [Address(RVA = "0x14730B0", Offset = "0x1471AB0", VA = "0x1814730B0", Slot = "10")] protected override bool EGIPDLIAKNF() { HKKOHFHADKK pegjgmdgkjn = this.PEGJGMDGKJN; bool flag; return flag; } // Token: 0x06010466 RID: 66662 RVA: 0x003D08E0 File Offset: 0x003CEAE0 [Token(Token = "0x6010466")] [Address(RVA = "0x14731F0", Offset = "0x1471BF0", VA = "0x1814731F0")] private void LFFMHLODNFD(ushort IBCNKLKINAA, ushort HNEIFFDHGFO) { LocalPlayerController instance = SingletonMonoBehaviour.Instance; string text = "Walk towards "; if (instance.FGAMGPEBMGE == LocalPlayerController.JJKKCDNKBJI.VR_TELEPORT) { text = "Teleport in front of "; } string text2 = text + "the Mirror to choose a new look."; string text3 = "Press {0} and walk towards " + "the Mirror to choose a new look."; Sprite sprite = SingletonMonoBehaviour.Instance.k__BackingField.KGDLBEAPDFE(GAMNIEMGCBI.WalkAxis); string text4 = "Press {0} and walk towards " + "the Mirror to choose a new look."; Sprite sprite2 = NPILADHLMKC.KGDLBEAPDFE(NPILADHLMKC.BCDIKFOHNGE.Mobile_UI_Walk); int num = 0; ulong num2; base.EHJIOHENLAB(text2, num, text3, sprite, text4, sprite2, (int)num2); } // Token: 0x06010467 RID: 66663 RVA: 0x003D0970 File Offset: 0x003CEB70 [Token(Token = "0x6010467")] [Address(RVA = "0x1472B80", Offset = "0x1471580", VA = "0x181472B80")] private void AFODFHBMFJO() { Transform transform = base.transform; Vector3 vector; float z = vector.z; bool flag; if (flag) { HKKOHFHADKK pegjgmdgkjn = this.PEGJGMDGKJN; } } // Token: 0x06010468 RID: 66664 RVA: 0x003D09A0 File Offset: 0x003CEBA0 [Token(Token = "0x6010468")] [Address(RVA = "0x1472FD0", Offset = "0x14719D0", VA = "0x181472FD0")] private void BNGPLNFDFFK(ushort IBCNKLKINAA, ushort HNEIFFDHGFO) { SingletonMonoBehaviour.Instance.Hide(this); } // Token: 0x06010469 RID: 66665 RVA: 0x003D09C0 File Offset: 0x003CEBC0 [Token(Token = "0x6010469")] [Address(RVA = "0x14733D0", Offset = "0x1471DD0", VA = "0x1814733D0")] private void OIDABGIOBKM(ushort IBCNKLKINAA, ushort HNEIFFDHGFO) { TutorialController.BPKAEMAFDMG bpkaemafdmg; bpkaemafdmg.method_ptr = ldftn(JBINBLPEHOD); bpkaemafdmg.method = ldftn(JBINBLPEHOD); bpkaemafdmg.m_target = this; Coroutine iiblinldija = this.IIBLINLDIJA; if (iiblinldija != 0) { base.StopCoroutine(iiblinldija); this.IIBLINLDIJA = (ulong)0L; } IEnumerator enumerator = bpkaemafdmg(); Coroutine coroutine = base.StartCoroutine(enumerator); this.IIBLINLDIJA = coroutine; } // Token: 0x0601046A RID: 66666 RVA: 0x003D0A20 File Offset: 0x003CEC20 [Token(Token = "0x601046A")] [Address(RVA = "0x1473100", Offset = "0x1471B00", VA = "0x181473100")] private IEnumerator JBINBLPEHOD() { /* An exception occurred when decompiling this method (0601046A) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Tutorials.MirrorTutorial::JBINBLPEHOD() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(BJDCGKPAANF::System.IDisposable.Dispose, ldloc:BJDCGKPAANF(var_0)) stfld:int32(BJDCGKPAANF::<>1__state, ldloc:BJDCGKPAANF(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:MirrorTutorial(BJDCGKPAANF::<>4__this, ldloc:BJDCGKPAANF(var_0), ldloc:MirrorTutorial(this)) } 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: 0x0601046B RID: 66667 RVA: 0x003D0A44 File Offset: 0x003CEC44 [Token(Token = "0x601046B")] [Address(RVA = "0x146CC30", Offset = "0x146B630", VA = "0x18146CC30")] private void HKDBIHAMDCN(ushort IBCNKLKINAA, ushort HNEIFFDHGFO) { Coroutine iiblinldija = this.IIBLINLDIJA; if (iiblinldija != 0) { base.StopCoroutine(iiblinldija); this.IIBLINLDIJA = (ulong)0L; } } // Token: 0x0601046C RID: 66668 RVA: 0x003D0A6C File Offset: 0x003CEC6C [Token(Token = "0x601046C")] [Address(RVA = "0x1473160", Offset = "0x1471B60", VA = "0x181473160")] private void KHMHOGBCHKN(ushort IBCNKLKINAA, ushort HNEIFFDHGFO) { TutorialController.BPKAEMAFDMG bpkaemafdmg; bpkaemafdmg.method_ptr = ldftn(OPGEGPLEAOB); bpkaemafdmg.method = ldftn(OPGEGPLEAOB); bpkaemafdmg.m_target = this; Coroutine iiblinldija = this.IIBLINLDIJA; if (iiblinldija != 0) { base.StopCoroutine(iiblinldija); this.IIBLINLDIJA = (ulong)0L; } IEnumerator enumerator = bpkaemafdmg(); Coroutine coroutine = base.StartCoroutine(enumerator); this.IIBLINLDIJA = coroutine; } // Token: 0x0601046D RID: 66669 RVA: 0x003D0ACC File Offset: 0x003CECCC [Token(Token = "0x601046D")] [Address(RVA = "0x1473460", Offset = "0x1471E60", VA = "0x181473460")] private IEnumerator OPGEGPLEAOB() { /* An exception occurred when decompiling this method (0601046D) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Tutorials.MirrorTutorial::OPGEGPLEAOB() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(BEHGNCDDJIJ::System.IDisposable.Dispose, ldloc:BEHGNCDDJIJ(var_0)) stfld:int32(BEHGNCDDJIJ::<>1__state, ldloc:BEHGNCDDJIJ(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:MirrorTutorial(BEHGNCDDJIJ::<>4__this, ldloc:BEHGNCDDJIJ(var_0), ldloc:MirrorTutorial(this)) } 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: 0x0601046E RID: 66670 RVA: 0x003D0AF0 File Offset: 0x003CECF0 [Token(Token = "0x601046E")] [Address(RVA = "0x146CC30", Offset = "0x146B630", VA = "0x18146CC30")] private void OGDGFCJKLKL(ushort IBCNKLKINAA, ushort HNEIFFDHGFO) { Coroutine iiblinldija = this.IIBLINLDIJA; if (iiblinldija != 0) { base.StopCoroutine(iiblinldija); this.IIBLINLDIJA = (ulong)0L; } } // Token: 0x0601046F RID: 66671 RVA: 0x003D0B18 File Offset: 0x003CED18 [Token(Token = "0x601046F")] [Address(RVA = "0x146CD50", Offset = "0x146B750", VA = "0x18146CD50")] public MirrorTutorial() { } // Token: 0x0400AD01 RID: 44289 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400AD01")] [SerializeField] [Header("Trigger")] private SimpleVolume simpleTriggerVolume; // Token: 0x0400AD02 RID: 44290 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400AD02")] [SerializeField] private float triggerVisionConeHalfAngle = 45f; // Token: 0x0400AD03 RID: 44291 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400AD03")] private HKKOHFHADKK PEGJGMDGKJN; // Token: 0x020024D3 RID: 9427 [Token(Token = "0x20024D3")] private enum DLKICHGDPCO { // Token: 0x0400AD05 RID: 44293 [Token(Token = "0x400AD05")] Inactive, // Token: 0x0400AD06 RID: 44294 [Token(Token = "0x400AD06")] WaitForPlayerToWalkToMirror, // Token: 0x0400AD07 RID: 44295 [Token(Token = "0x400AD07")] MirrorIntro, // Token: 0x0400AD08 RID: 44296 [Token(Token = "0x400AD08")] WaitForMirrorInteractionStart, // Token: 0x0400AD09 RID: 44297 [Token(Token = "0x400AD09")] WaitForMirrorInteractionFinish, // Token: 0x0400AD0A RID: 44298 [Token(Token = "0x400AD0A")] MirrorOutro, // Token: 0x0400AD0B RID: 44299 [Token(Token = "0x400AD0B")] Completed } } }