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

1700 lines
62 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using CodeStage.AntiCheat.ObscuredTypes;
using Cpp2IlInjected;
using RecNet;
using RecRoom;
using RecRoom.Async;
using RecRoom.Core;
using RecRoom.Core.UI;
using RecRoom.DataStructures.ResourceHandles;
using RecRoom.Systems;
using RecRoom.UI;
using UnityEngine;
// Token: 0x0200049C RID: 1180
[Token(Token = "0x200049C")]
[StructLayout(3)]
public class TutorialManager : SingletonMonoBehaviour<TutorialManager>
{
// Token: 0x17000620 RID: 1568
// (get) Token: 0x0600229F RID: 8863 RVA: 0x000900D0 File Offset: 0x0008E2D0
[Token(Token = "0x17000620")]
public bool FMHMDIFGABF
{
[Token(Token = "0x600229F")]
[Address(RVA = "0x189A3C0", Offset = "0x1898DC0", VA = "0x18189A3C0")]
get
{
return this.voAudioSource.isPlaying || this.voAudioSource3D.isPlaying;
}
}
// Token: 0x060022A0 RID: 8864 RVA: 0x00090100 File Offset: 0x0008E300
[Token(Token = "0x60022A0")]
[Address(RVA = "0x1898E80", Offset = "0x1897880", VA = "0x181898E80")]
private static string PKEDNFLMEFP()
{
ObscuredInt <IFBPANODIPA>k__BackingField = PEGGCEDHBOF.DOOHKCANFLO.<IFBPANODIPA>k__BackingField;
string text;
return text;
}
// Token: 0x17000621 RID: 1569
// (get) Token: 0x060022A1 RID: 8865 RVA: 0x00090124 File Offset: 0x0008E324
// (set) Token: 0x060022A2 RID: 8866 RVA: 0x00090148 File Offset: 0x0008E348
[Token(Token = "0x17000621")]
public bool LJMAOMDLHKJ
{
[Token(Token = "0x60022A1")]
[Address(RVA = "0x189A310", Offset = "0x1898D10", VA = "0x18189A310")]
get
{
string text = TutorialManager.PKEDNFLMEFP();
int num = 0;
return PlayerPrefs.GetInt(text, num) == 0;
}
[Token(Token = "0x60022A2")]
[Address(RVA = "0x189A660", Offset = "0x1899060", VA = "0x18189A660")]
set
{
PlayerPrefs.SetInt(TutorialManager.PKEDNFLMEFP(), value ? 1 : 0);
PlayerPrefs.Save();
}
}
// Token: 0x17000622 RID: 1570
// (get) Token: 0x060022A3 RID: 8867 RVA: 0x0009016C File Offset: 0x0008E36C
// (set) Token: 0x060022A4 RID: 8868 RVA: 0x00090180 File Offset: 0x0008E380
[Token(Token = "0x17000622")]
public static bool? HGKAJBPOANK
{
[Token(Token = "0x60022A3")]
[Address(RVA = "0x189A2B0", Offset = "0x1898CB0", VA = "0x18189A2B0")]
get;
[Token(Token = "0x60022A4")]
[Address(RVA = "0x1899060", Offset = "0x1897A60", VA = "0x181899060")]
private set;
}
// Token: 0x17000623 RID: 1571
// (get) Token: 0x060022A5 RID: 8869 RVA: 0x00090194 File Offset: 0x0008E394
// (set) Token: 0x060022A6 RID: 8870 RVA: 0x000901B8 File Offset: 0x0008E3B8
[Token(Token = "0x17000623")]
public static int MACONJHDIIP
{
[Token(Token = "0x60022A5")]
[Address(RVA = "0x189A530", Offset = "0x1898F30", VA = "0x18189A530")]
get
{
if (NOBCCPHLPNJ.MMICKFMMLJO)
{
return NOBCCPHLPNJ.JGGKHJCBGLF("PICKED_UP_STICKY_TOOL_BEFORE", 6);
}
return 0;
}
[Token(Token = "0x60022A6")]
[Address(RVA = "0x189A7E0", Offset = "0x18991E0", VA = "0x18189A7E0")]
set
{
if (NOBCCPHLPNJ.MMICKFMMLJO)
{
NOBCCPHLPNJ.CLOFMHGBPPA("PICKED_UP_STICKY_TOOL_BEFORE", value);
NOBCCPHLPNJ.CHLAOLCBEND();
return;
}
}
}
// Token: 0x17000624 RID: 1572
// (get) Token: 0x060022A7 RID: 8871 RVA: 0x000901E4 File Offset: 0x0008E3E4
[Token(Token = "0x17000624")]
private HelpPopup ONIMLKBKPPM
{
[Token(Token = "0x60022A7")]
[Address(RVA = "0x18975F0", Offset = "0x1895FF0", VA = "0x1818975F0")]
get
{
HelpPopup hpmmcmliiml = this.HPMMCMLIIML;
int num = 0;
if (hpmmcmliiml == num)
{
HelpPopup helpPopup = global::UnityEngine.Object.Instantiate<HelpPopup>(this.helpPopupPrefab);
this.HPMMCMLIIML = helpPopup;
}
return this.HPMMCMLIIML;
}
}
// Token: 0x060022A8 RID: 8872 RVA: 0x00090220 File Offset: 0x0008E420
[Token(Token = "0x60022A8")]
[Address(RVA = "0x18986A0", Offset = "0x18970A0", VA = "0x1818986A0")]
public bool IsLegacyTutorialComplete()
{
if (NOBCCPHLPNJ.MMICKFMMLJO)
{
int num = 0;
return NOBCCPHLPNJ.JGGKHJCBGLF("Recroom.OOBE", num) == 100;
}
}
// Token: 0x060022A9 RID: 8873 RVA: 0x0009024C File Offset: 0x0008E44C
[Token(Token = "0x60022A9")]
[Address(RVA = "0x1899BA0", Offset = "0x18985A0", VA = "0x181899BA0")]
public void SetTutorialComplete(TutorialManager.PKHLMAEGIKG LOMJKMDDCKE)
{
int num = 0;
long num2 = this.AOGFGKLCCLI("TUTORIAL_COMPLETE_MASK", (long)num);
int num3 = 0;
if (this.AOGFGKLCCLI("TUTORIAL_COMPLETE_MASK", (long)num3) != num2)
{
this.KNMODGNNOMO["TUTORIAL_COMPLETE_MASK"] = num2;
NOBCCPHLPNJ.NKDIHGLEMML("TUTORIAL_COMPLETE_MASK", num2);
NOBCCPHLPNJ.CHLAOLCBEND();
}
}
// Token: 0x060022AA RID: 8874 RVA: 0x000902A4 File Offset: 0x0008E4A4
[Token(Token = "0x60022AA")]
[Address(RVA = "0x1898730", Offset = "0x1897130", VA = "0x181898730")]
public bool IsTutorialComplete(TutorialManager.PKHLMAEGIKG LOMJKMDDCKE)
{
/*
An exception occurred when decompiling this method (060022AA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean TutorialManager::IsTutorialComplete(TutorialManager/PKHLMAEGIKG)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_01, ldc.i4:int32(0))
stloc:int64(var_1_0E, call:int64(TutorialManager::AOGFGKLCCLI, ldloc:TutorialManager(this), ldstr:string("TUTORIAL_COMPLETE_MASK"), ldloc:int32[exp:int64](var_0_01)))
}
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: 0x060022AB RID: 8875 RVA: 0x000902C0 File Offset: 0x0008E4C0
[Token(Token = "0x60022AB")]
[Address(RVA = "0x1898790", Offset = "0x1897190", VA = "0x181898790")]
public void LogGGFAnalyticEvent(string IKPPEONHGFO)
{
TutorialManager.COPEILOMEMB copeilomemb = new TutorialManager.COPEILOMEMB();
copeilomemb.eventName = IKPPEONHGFO;
copeilomemb.<>4__this = this;
bool fakeValue = PEGGCEDHBOF.DOOHKCANFLO.<IGIPMGJEJHD>k__BackingField.fakeValue;
int num = 0;
copeilomemb.isJuniorAccount = num;
IPromise<bool> promise = MHOKOMMOGKM.PPKFJEINCCN();
Action<bool> action = delegate(bool hasSetPassword)
{
string eventName = copeilomemb.eventName;
string text = "GGF_" + eventName;
bool flag = copeilomemb.<>4__this.IsTutorialComplete(TutorialManager.PKHLMAEGIKG.NUX_MIRROR);
bool flag2 = copeilomemb.<>4__this.IsTutorialComplete(TutorialManager.PKHLMAEGIKG.NUX_WATCH);
float time = Time.time;
TutorialManager <>4__this = copeilomemb.<>4__this;
bool fakeValue2 = PEGGCEDHBOF.DOOHKCANFLO.<DOPLJIOHAMG>k__BackingField.fakeValue;
bool flag3;
if (flag3)
{
}
int num2 = 0;
CFLMJLFBOKH.MENPFMBALJP(text, flag, flag2, time, hasSetPassword, num2);
};
if (num < copeilomemb)
{
num += num;
if (num == copeilomemb)
{
promise += promise;
throw new NullReferenceException();
}
num++;
}
}
// Token: 0x060022AC RID: 8876 RVA: 0x00090330 File Offset: 0x0008E530
[Token(Token = "0x60022AC")]
[Address(RVA = "0x1897540", Offset = "0x1895F40", VA = "0x181897540")]
private void FCEKNBFLNFI(string CIGCAIGPMBE, long ONGBFDACHHG)
{
int num = 0;
if (this.AOGFGKLCCLI(CIGCAIGPMBE, (long)num) != ONGBFDACHHG)
{
this.KNMODGNNOMO[CIGCAIGPMBE] = ONGBFDACHHG;
NOBCCPHLPNJ.NKDIHGLEMML(CIGCAIGPMBE, ONGBFDACHHG);
NOBCCPHLPNJ.CHLAOLCBEND();
}
}
// Token: 0x060022AD RID: 8877 RVA: 0x0009036C File Offset: 0x0008E56C
[Token(Token = "0x60022AD")]
[Address(RVA = "0x1896FE0", Offset = "0x18959E0", VA = "0x181896FE0")]
private long AOGFGKLCCLI(string CIGCAIGPMBE, long OANDOPIEEPO = 0L)
{
Dictionary<string, long> knmodgnnomo = this.KNMODGNNOMO;
bool flag;
if (!flag)
{
long num = NOBCCPHLPNJ.HEEDGCGMKHF(CIGCAIGPMBE, OANDOPIEEPO);
this.KNMODGNNOMO.Add(CIGCAIGPMBE, num);
}
throw new NullReferenceException();
}
// Token: 0x17000625 RID: 1573
// (get) Token: 0x060022AE RID: 8878 RVA: 0x000903A0 File Offset: 0x0008E5A0
[Token(Token = "0x17000625")]
public bool KHLAMLKOBFD
{
[Token(Token = "0x60022AE")]
[Address(RVA = "0x189A370", Offset = "0x1898D70", VA = "0x18189A370")]
get
{
/*
An exception occurred when decompiling this method (060022AE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean TutorialManager::get_HasCompletedTutorial()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_01, ldc.i4:int32(0))
stloc:int64(var_1_0E, call:int64(TutorialManager::AOGFGKLCCLI, ldloc:TutorialManager(this), ldstr:string("TUTORIAL_COMPLETE_MASK"), ldloc:int32[exp:int64](var_0_01)))
}
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: 0x17000626 RID: 1574
// (get) Token: 0x060022AF RID: 8879 RVA: 0x000903BC File Offset: 0x0008E5BC
// (set) Token: 0x060022B0 RID: 8880 RVA: 0x000903FC File Offset: 0x0008E5FC
[Token(Token = "0x17000626")]
public TutorialManager.HLGLKDBJNBD EONGHPACNOP
{
[Token(Token = "0x60022AF")]
[Address(RVA = "0x189A460", Offset = "0x1898E60", VA = "0x18189A460")]
get
{
int num = 0;
long num2 = this.AOGFGKLCCLI("TUTORIAL_COMPLETE_MASK", (long)num);
if (NOBCCPHLPNJ.MMICKFMMLJO)
{
int num3 = 0;
int num4 = NOBCCPHLPNJ.JGGKHJCBGLF("Recroom.OOBE", num3);
}
return this.JGLKBGBOLEJ;
}
[Token(Token = "0x60022B0")]
[Address(RVA = "0x189A6D0", Offset = "0x18990D0", VA = "0x18189A6D0")]
set
{
int num = 0;
long num2 = this.AOGFGKLCCLI("TUTORIAL_COMPLETE_MASK", (long)num);
this.JGLKBGBOLEJ = value;
}
}
// Token: 0x17000627 RID: 1575
// (get) Token: 0x060022B1 RID: 8881 RVA: 0x0009044C File Offset: 0x0008E64C
[Token(Token = "0x17000627")]
public bool IEJFJPJCOCE
{
[Token(Token = "0x60022B1")]
[Address(RVA = "0x189A5C0", Offset = "0x1898FC0", VA = "0x18189A5C0")]
get
{
return !SingletonMonoBehaviour.IsInitialized || SingletonMonoBehaviour.Instance.ACGDGBHFJFB;
}
}
// Token: 0x060022B2 RID: 8882 RVA: 0x00090474 File Offset: 0x0008E674
[Token(Token = "0x60022B2")]
[Address(RVA = "0x1898450", Offset = "0x1896E50", VA = "0x181898450")]
public void Initialize()
{
if (TutorialManager.MACONJHDIIP < 5)
{
ActionEvent<Player> playerCreatedEvent = Player.PlayerCreatedEvent;
Action<Player> action = new Action(this.INLPNKIEHME);
Player.PlayerCreatedEvent = playerCreatedEvent + action;
}
SessionManager instance = SingletonMonoBehaviour.Instance;
int num = 0;
if (!(instance != num))
{
Debug.LogError("SessionManager is null");
}
SessionManager instance2 = SingletonMonoBehaviour.Instance;
Action action2 = new Action(this.PLCGPPEICMI);
instance2.PLCGPPEICMI += action2;
float time = Time.time;
this.NCJIALKBINK = time;
List<KeyValuePair<COBKKLOJNNE, TutorialManager.PBGCGJOEICJ>> list = new List();
this.BDBCGIJNPME = list;
}
// Token: 0x060022B3 RID: 8883 RVA: 0x00090510 File Offset: 0x0008E710
[Token(Token = "0x60022B3")]
[Address(RVA = "0x1898B20", Offset = "0x1897520", VA = "0x181898B20", Slot = "5")]
protected override void OnDestroy()
{
base.OnDestroy();
IResourceHandle<Texture2D> felghamabdl = this.FELGHAMABDL;
this.FELGHAMABDL = (ulong)0L;
if (felghamabdl != 0)
{
}
ActionEvent<Tool> staticLockedToolPickedUpEvent = Tool.StaticLockedToolPickedUpEvent;
Action<Tool> action = new Action(this.GJMFCAEFBJO);
Tool.StaticLockedToolPickedUpEvent = staticLockedToolPickedUpEvent - action;
ActionEvent<Player> playerCreatedEvent = Player.PlayerCreatedEvent;
Action<Player> action2 = new Action(this.INLPNKIEHME);
Player.PlayerCreatedEvent = playerCreatedEvent - action2;
SessionManager instance = SingletonMonoBehaviour.Instance;
int num = 0;
if (instance != num)
{
SessionManager instance2 = SingletonMonoBehaviour.Instance;
Action action3 = new Action(this.PLCGPPEICMI);
instance2.PLCGPPEICMI -= action3;
}
}
// Token: 0x060022B4 RID: 8884 RVA: 0x000905B4 File Offset: 0x0008E7B4
[Token(Token = "0x60022B4")]
[Address(RVA = "0x1899780", Offset = "0x1898180", VA = "0x181899780")]
public void SetFirstTimeInForNewUser()
{
int num;
do
{
num = 0;
IEnumerator enumerator = Enum.GetValues(typeof(TutorialManager.PBGCGJOEICJ)).GetEnumerator();
if (enumerator != 0)
{
if (num < enumerator)
{
num += num;
num++;
}
int num2 = num;
while (num2 == 0)
{
}
num2 += num2;
}
if (num != -1)
{
}
}
while (num != 0);
ActionEvent<Player> playerCreatedEvent = Player.PlayerCreatedEvent;
Action<Player> action = new Action(this.INLPNKIEHME);
Player.PlayerCreatedEvent = playerCreatedEvent + action;
}
// Token: 0x060022B5 RID: 8885 RVA: 0x00090630 File Offset: 0x0008E830
[Token(Token = "0x60022B5")]
[Address(RVA = "0x1897DB0", Offset = "0x18967B0", VA = "0x181897DB0")]
public bool GetIsFirstTimeInActivity(COBKKLOJNNE MNFBBBIFPKM)
{
TutorialManager.PBGCGJOEICJ pbgcgjoeicj = this.HOHNPGJLALM(MNFBBBIFPKM);
if (pbgcgjoeicj != TutorialManager.PBGCGJOEICJ.INVALID)
{
if (NOBCCPHLPNJ.MMICKFMMLJO)
{
int num = 0;
int num2 = NOBCCPHLPNJ.JGGKHJCBGLF("FIRST_TIME_IN_FLAGS", num);
}
Debug.LogWarning("TutorialManager: failed to get 'first time in' flag - recroomprefs not ready");
return;
}
}
// Token: 0x060022B6 RID: 8886 RVA: 0x00090670 File Offset: 0x0008E870
[Token(Token = "0x60022B6")]
[Address(RVA = "0x1898020", Offset = "0x1896A20", VA = "0x181898020")]
private TutorialManager.PBGCGJOEICJ HOHNPGJLALM(COBKKLOJNNE MNFBBBIFPKM)
{
List<KeyValuePair<COBKKLOJNNE, TutorialManager.PBGCGJOEICJ>> bdbcgijnpme = this.BDBCGIJNPME;
int num = 0;
ThrowHelper.ThrowArgumentOutOfRangeException();
List<KeyValuePair<COBKKLOJNNE, TutorialManager.PBGCGJOEICJ>> bdbcgijnpme2 = this.BDBCGIJNPME;
num++;
throw new NullReferenceException();
}
// Token: 0x060022B7 RID: 8887 RVA: 0x000906A0 File Offset: 0x0008E8A0
[Token(Token = "0x60022B7")]
[Address(RVA = "0x1897E80", Offset = "0x1896880", VA = "0x181897E80")]
public bool GetIsFirstTimeIn(TutorialManager.PBGCGJOEICJ JJGHIEJCCDA)
{
/*
An exception occurred when decompiling this method (060022B7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean TutorialManager::GetIsFirstTimeIn(TutorialManager/PBGCGJOEICJ)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
call:void(Debug::LogWarning, ldstr:string[exp:object]("TutorialManager: failed to get 'first time in' flag - recroomprefs not ready"))
}
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: 0x060022B8 RID: 8888 RVA: 0x000906D4 File Offset: 0x0008E8D4
[Token(Token = "0x60022B8")]
[Address(RVA = "0x1899A40", Offset = "0x1898440", VA = "0x181899A40")]
public void SetIsFirstTimeInActivity(COBKKLOJNNE HHGBMECKKPF, bool GBDEEHJOOEB)
{
if (this.HOHNPGJLALM(HHGBMECKKPF) != TutorialManager.PBGCGJOEICJ.INVALID)
{
}
}
// Token: 0x060022B9 RID: 8889 RVA: 0x000906EC File Offset: 0x0008E8EC
[Token(Token = "0x60022B9")]
[Address(RVA = "0x1899A80", Offset = "0x1898480", VA = "0x181899A80")]
public void SetIsFirstTimeIn(TutorialManager.PBGCGJOEICJ JJGHIEJCCDA, bool GBDEEHJOOEB)
{
if (NOBCCPHLPNJ.MMICKFMMLJO)
{
int num = 0;
int num2 = NOBCCPHLPNJ.JGGKHJCBGLF("FIRST_TIME_IN_FLAGS", num);
if (!GBDEEHJOOEB)
{
}
NOBCCPHLPNJ.CLOFMHGBPPA("FIRST_TIME_IN_FLAGS", num2);
NOBCCPHLPNJ.CHLAOLCBEND();
return;
}
Debug.LogWarning("TutorialManager: failed to set 'first time in' flag - recroomprefs not ready");
}
// Token: 0x060022BA RID: 8890 RVA: 0x00090734 File Offset: 0x0008E934
[Token(Token = "0x60022BA")]
[Address(RVA = "0x18980F0", Offset = "0x1896AF0", VA = "0x1818980F0")]
public bool HasUserTried(TutorialManager.JLKAMNFGKDG JJGHIEJCCDA)
{
/*
An exception occurred when decompiling this method (060022BA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean TutorialManager::HasUserTried(TutorialManager/JLKAMNFGKDG)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
call:void(Debug::LogWarning, ldstr:string[exp:object]("TutorialManager: failed to get 'user tried' flag - recroomprefs not ready"))
}
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: 0x060022BB RID: 8891 RVA: 0x00090768 File Offset: 0x0008E968
[Token(Token = "0x60022BB")]
[Address(RVA = "0x18989B0", Offset = "0x18973B0", VA = "0x1818989B0")]
public void MarkUserTried(TutorialManager.JLKAMNFGKDG JJGHIEJCCDA, bool NFEDLKIHEOC = true)
{
if (NOBCCPHLPNJ.MMICKFMMLJO)
{
int num = 0;
int num2 = NOBCCPHLPNJ.JGGKHJCBGLF("USER_TRACKING", num);
if (!NFEDLKIHEOC)
{
}
NOBCCPHLPNJ.CLOFMHGBPPA("USER_TRACKING", num2);
NOBCCPHLPNJ.CHLAOLCBEND();
return;
}
Debug.LogWarning("TutorialManager: failed to set 'user tried' flag - recroomprefs not ready");
}
// Token: 0x060022BC RID: 8892 RVA: 0x000907B0 File Offset: 0x0008E9B0
[Token(Token = "0x60022BC")]
[Address(RVA = "0x1898FD0", Offset = "0x18979D0", VA = "0x181898FD0")]
private void PLCGPPEICMI()
{
COBKKLOJNNE <PGOEAIDCELB>k__BackingField = Matchmaking.BBJAEJHMAPB.<PGOEAIDCELB>k__BackingField;
if (<PGOEAIDCELB>k__BackingField != COBKKLOJNNE.INVALID && this.HOHNPGJLALM(<PGOEAIDCELB>k__BackingField) != TutorialManager.PBGCGJOEICJ.INVALID)
{
return;
}
}
// Token: 0x060022BD RID: 8893 RVA: 0x000907E0 File Offset: 0x0008E9E0
[Token(Token = "0x60022BD")]
[Address(RVA = "0x18982A0", Offset = "0x1896CA0", VA = "0x1818982A0")]
private void INLPNKIEHME(Player IEKDDPPNFPF)
{
int num = 0;
if (IEKDDPPNFPF != num && TutorialManager.MACONJHDIIP < 5)
{
ActionEvent<Tool> staticLockedToolPickedUpEvent = Tool.StaticLockedToolPickedUpEvent;
Action<Tool> action = new Action(this.GJMFCAEFBJO);
Tool.StaticLockedToolPickedUpEvent = staticLockedToolPickedUpEvent - action;
ActionEvent<Tool> staticLockedToolPickedUpEvent2 = Tool.StaticLockedToolPickedUpEvent;
Action<Tool> action2 = new Action(this.GJMFCAEFBJO);
Tool.StaticLockedToolPickedUpEvent = staticLockedToolPickedUpEvent2 + action2;
}
}
// Token: 0x060022BE RID: 8894 RVA: 0x0009084C File Offset: 0x0008EA4C
[Token(Token = "0x60022BE")]
[Address(RVA = "0x1897980", Offset = "0x1896380", VA = "0x181897980")]
private void GJMFCAEFBJO(Tool EGFEJGHDNAI)
{
GameManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
Player <OKDFEPHLKCB>k__BackingField = EGFEJGHDNAI.<OKDFEPHLKCB>k__BackingField;
if (instance != 0)
{
int num = 0;
if (instance == num || !instance.CIFKHPAHBHB)
{
int pickedUpStickyToolNumberOfTimes = TutorialManager.MACONJHDIIP;
if (NOBCCPHLPNJ.MMICKFMMLJO)
{
int num2 = pickedUpStickyToolNumberOfTimes + 1;
NOBCCPHLPNJ.CLOFMHGBPPA("PICKED_UP_STICKY_TOOL_BEFORE", num2);
NOBCCPHLPNJ.CHLAOLCBEND();
}
int pickedUpStickyToolNumberOfTimes2 = TutorialManager.MACONJHDIIP;
ActionEvent<Tool> staticLockedToolPickedUpEvent = Tool.StaticLockedToolPickedUpEvent;
Action<Tool> action = new Action(this.GJMFCAEFBJO);
Tool.StaticLockedToolPickedUpEvent = staticLockedToolPickedUpEvent - action;
ActionEvent<Player> playerCreatedEvent = Player.PlayerCreatedEvent;
Action<Player> action2 = new Action(this.INLPNKIEHME);
Player.PlayerCreatedEvent = playerCreatedEvent - action2;
ActionEvent<Tool> postReleaseEvent = EGFEJGHDNAI.PostReleaseEvent;
Action<Tool> action3 = new Action(this.PDEEFICICFG);
ActionEvent<Tool> actionEvent = postReleaseEvent + action3;
EGFEJGHDNAI.PostReleaseEvent = actionEvent;
GameObject mgepikojfin = this.MGEPIKOJFIN;
int num3 = 0;
if (mgepikojfin != num3)
{
global::UnityEngine.Object.Destroy(this.MGEPIKOJFIN);
}
GameObject gameObject = global::UnityEngine.Object.Instantiate<GameObject>(this.dropItemNotePrefab);
this.MGEPIKOJFIN = gameObject;
gameObject.GetComponent<DropItemNote>().RefreshNote(EGFEJGHDNAI);
int num4;
TutorialManager.CKHIGCFIFJP ckhigcfifjp = new TutorialManager.CKHIGCFIFJP(num4);
num4 = 0;
ckhigcfifjp.<>4__this = this;
ckhigcfifjp.tool = EGFEJGHDNAI;
Coroutine coroutine = base.StartCoroutine(ckhigcfifjp);
}
}
}
// Token: 0x060022BF RID: 8895 RVA: 0x0009099C File Offset: 0x0008EB9C
[Token(Token = "0x60022BF")]
[Address(RVA = "0x18970B0", Offset = "0x1895AB0", VA = "0x1818970B0")]
private IEnumerator AOMPDNOCIPD(Tool EGFEJGHDNAI)
{
int num;
TutorialManager.CKHIGCFIFJP ckhigcfifjp = new TutorialManager.CKHIGCFIFJP(num);
num = 0;
ckhigcfifjp.<>4__this = this;
ckhigcfifjp.tool = EGFEJGHDNAI;
throw new NullReferenceException();
}
// Token: 0x060022C0 RID: 8896 RVA: 0x000909C8 File Offset: 0x0008EBC8
[Token(Token = "0x60022C0")]
[Address(RVA = "0x1898D70", Offset = "0x1897770", VA = "0x181898D70")]
private void PDEEFICICFG(Tool EGFEJGHDNAI)
{
GameObject mgepikojfin = this.MGEPIKOJFIN;
int num = 0;
if (mgepikojfin != num)
{
ActionEvent<Tool> postReleaseEvent = EGFEJGHDNAI.PostReleaseEvent;
Action<Tool> action = new Action(this.PDEEFICICFG);
ActionEvent<Tool> actionEvent = postReleaseEvent - action;
EGFEJGHDNAI.PostReleaseEvent = actionEvent;
global::UnityEngine.Object.Destroy(this.MGEPIKOJFIN);
}
}
// Token: 0x060022C1 RID: 8897 RVA: 0x00090A20 File Offset: 0x0008EC20
[Token(Token = "0x60022C1")]
[Address(RVA = "0x1897D90", Offset = "0x1896790", VA = "0x181897D90")]
public IResourceHandle<Texture2D> GetHelpTexture(TutorialManager.DDDLEBIENKF BEACPPIDKKB, [Optional] PlatformManager.LDIIFDDCKCN? LPBLKPHDFPD)
{
return this.helpPopupConfigs.IKEDMJHLJEA(BEACPPIDKKB, LPBLKPHDFPD);
}
// Token: 0x17000628 RID: 1576
// (get) Token: 0x060022C2 RID: 8898 RVA: 0x00090A40 File Offset: 0x0008EC40
// (set) Token: 0x060022C3 RID: 8899 RVA: 0x00090A54 File Offset: 0x0008EC54
[Token(Token = "0x17000628")]
private IResourceHandle<Texture2D> OLGBPIPPLIG
{
[Token(Token = "0x60022C2")]
[Address(RVA = "0x6361F0", Offset = "0x634BF0", VA = "0x1806361F0")]
get
{
return this.FELGHAMABDL;
}
[Token(Token = "0x60022C3")]
[Address(RVA = "0x18974E0", Offset = "0x1895EE0", VA = "0x1818974E0")]
set
{
IResourceHandle<Texture2D> felghamabdl = this.FELGHAMABDL;
this.FELGHAMABDL = value;
if (felghamabdl != 0)
{
}
}
}
// Token: 0x060022C4 RID: 8900 RVA: 0x00090A74 File Offset: 0x0008EC74
[Token(Token = "0x60022C4")]
[Address(RVA = "0x1899C90", Offset = "0x1898690", VA = "0x181899C90")]
public HelpPopup ShowHelpPopup(TutorialManager.DDDLEBIENKF BEACPPIDKKB, [Optional] Vector3? FHDBEPINLBG, [Optional] PlatformManager.LDIIFDDCKCN? LPBLKPHDFPD)
{
HelpPopupConfigs helpPopupConfigs = this.helpPopupConfigs;
IResourceHandle<Texture2D> felghamabdl = this.FELGHAMABDL;
IResourceHandle<Texture2D> resourceHandle;
this.FELGHAMABDL = resourceHandle;
if (felghamabdl != 0)
{
}
Vector3? positionOverride;
Action<Texture2D> action = delegate(Texture2D texture2D)
{
int num = 0;
if (texture2D != num)
{
this.ONIMLKBKPPM.SetContent(texture2D);
}
this.ONIMLKBKPPM.BCKCEELIDLH = true;
HelpPopup helpPopup = this.ONIMLKBKPPM;
Vector3? positionOverride2 = positionOverride;
helpPopup.UpdatePosition(positionOverride2);
};
return this.ONIMLKBKPPM;
}
// Token: 0x060022C5 RID: 8901 RVA: 0x00090AC4 File Offset: 0x0008ECC4
[Token(Token = "0x60022C5")]
[Address(RVA = "0x18981B0", Offset = "0x1896BB0", VA = "0x1818981B0")]
public void HideHelpPopup()
{
HelpPopup helpPopup = this.ONIMLKBKPPM;
int num = 0;
helpPopup.BCKCEELIDLH = num != 0;
}
// Token: 0x060022C6 RID: 8902 RVA: 0x00090AE8 File Offset: 0x0008ECE8
[Token(Token = "0x60022C6")]
[Address(RVA = "0x1899DF0", Offset = "0x18987F0", VA = "0x181899DF0")]
public void ShowScreensHelpPopup(TutorialManager.DDDLEBIENKF BEACPPIDKKB)
{
ScreenHUD screenModeHUD = SingletonMonoBehaviour.Instance.screenModeHUD;
int num = 0;
if (screenModeHUD != num)
{
Vector2 vector = this.screensHelpPopupPosition;
float y = this.screensHelpPopupPosition.y;
}
}
// Token: 0x060022C7 RID: 8903 RVA: 0x00090B2C File Offset: 0x0008ED2C
[Token(Token = "0x60022C7")]
[Address(RVA = "0x18981E0", Offset = "0x1896BE0", VA = "0x1818981E0")]
public void HideScreensHelpPopup()
{
ScreenHUD screenModeHUD = SingletonMonoBehaviour.Instance.screenModeHUD;
int num = 0;
if (screenModeHUD != num)
{
screenModeHUD.DisableTutorialDialog();
return;
}
}
// Token: 0x060022C8 RID: 8904 RVA: 0x00090B60 File Offset: 0x0008ED60
[Token(Token = "0x60022C8")]
[Address(RVA = "0x1897770", Offset = "0x1896170", VA = "0x181897770")]
private ScreenHUDDialog.OBELDOKFOCI? GHDPKLGILJE(TutorialManager.DDDLEBIENKF BEACPPIDKKB)
{
InputManager instance = SingletonMonoBehaviour.Instance;
LOCNHHPGIAG <PCNCCNKJIAP>k__BackingField = instance.<PCNCCNKJIAP>k__BackingField;
if (<PCNCCNKJIAP>k__BackingField != 0 && instance <= (ulong)8L)
{
Sprite sprite = <PCNCCNKJIAP>k__BackingField.KGDLBEAPDFE(GAMNIEMGCBI.CameraAxis);
Sprite sprite2 = <PCNCCNKJIAP>k__BackingField.KGDLBEAPDFE(GAMNIEMGCBI.RightHandPickupButton);
Sprite sprite3 = <PCNCCNKJIAP>k__BackingField.KGDLBEAPDFE(GAMNIEMGCBI.MenuButton);
Sprite sprite4 = <PCNCCNKJIAP>k__BackingField.KGDLBEAPDFE(GAMNIEMGCBI.CameraAxis);
Sprite sprite5 = <PCNCCNKJIAP>k__BackingField.KGDLBEAPDFE(GAMNIEMGCBI.WalkAxis);
}
throw new NullReferenceException();
}
// Token: 0x060022C9 RID: 8905 RVA: 0x00090BB8 File Offset: 0x0008EDB8
[Token(Token = "0x60022C9")]
[Address(RVA = "0x1899F40", Offset = "0x1898940", VA = "0x181899F40")]
public void StopVO()
{
if (this.voAudioSource.isPlaying)
{
throw new NullReferenceException();
}
if (this.voAudioSource3D.isPlaying)
{
this.voAudioSource3D.Stop();
return;
}
}
// Token: 0x060022CA RID: 8906 RVA: 0x00090BF4 File Offset: 0x0008EDF4
[Token(Token = "0x60022CA")]
[Address(RVA = "0x1897F40", Offset = "0x1896940", VA = "0x181897F40")]
public RecRoomAudioClip GetTutorialAudio(TutorialManager.LFBAKFELNDP BFLJAONGKCB)
{
TutorialAudioConfigs.TutorialAudioConfig[] configs;
int num;
int length;
do
{
TutorialAudioConfigs tutorialAudioConfigs = this.tutorialAudioConfigs;
configs = tutorialAudioConfigs.Configs;
num = 0;
length = configs.Length;
}
while (num >= length);
TutorialAudioConfigs.TutorialAudioConfig tutorialAudioConfig = configs[num];
if (tutorialAudioConfig.AudioType != BFLJAONGKCB)
{
num++;
}
PlatformManager.LDIIFDDCKCN gfmhkkkeoge = SingletonMonoBehaviour.Instance.GFMHKKKEOGE;
return tutorialAudioConfig.IPOIMPIGBJJ(gfmhkkkeoge);
}
// Token: 0x060022CB RID: 8907 RVA: 0x00090C54 File Offset: 0x0008EE54
[Token(Token = "0x60022CB")]
[Address(RVA = "0x18992A0", Offset = "0x1897CA0", VA = "0x1818992A0")]
public AudioSource PlayTutorialVO(TutorialManager.LFBAKFELNDP BFLJAONGKCB)
{
TutorialAudioConfigs tutorialAudioConfigs = this.tutorialAudioConfigs;
TutorialAudioConfigs.TutorialAudioConfig[] configs = tutorialAudioConfigs.Configs;
int num = 0;
int length = configs.Length;
RecRoomAudioClip recRoomAudioClip;
if (num < length)
{
TutorialAudioConfigs.TutorialAudioConfig tutorialAudioConfig = configs[num];
if (tutorialAudioConfig.AudioType != BFLJAONGKCB)
{
num++;
}
PlatformManager.LDIIFDDCKCN gfmhkkkeoge = SingletonMonoBehaviour.Instance.GFMHKKKEOGE;
recRoomAudioClip = tutorialAudioConfig.IPOIMPIGBJJ(gfmhkkkeoge);
}
return this.PlayVO(recRoomAudioClip);
}
// Token: 0x060022CC RID: 8908 RVA: 0x00090CBC File Offset: 0x0008EEBC
[Token(Token = "0x60022CC")]
[Address(RVA = "0x1899630", Offset = "0x1898030", VA = "0x181899630")]
public IEnumerator RunPlayVOClip(RecRoomAudioClip LIEBGLIAJIA)
{
int num;
TutorialManager.GLBHEKMCAIP glbhekmcaip = new TutorialManager.GLBHEKMCAIP(num);
num = 0;
glbhekmcaip.<>4__this = this;
glbhekmcaip.audioClip = LIEBGLIAJIA;
throw new NullReferenceException();
}
// Token: 0x060022CD RID: 8909 RVA: 0x00090CE8 File Offset: 0x0008EEE8
[Token(Token = "0x60022CD")]
[Address(RVA = "0x1899730", Offset = "0x1898130", VA = "0x181899730")]
public IEnumerator RunVODelay()
{
/*
An exception occurred when decompiling this method (060022CD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator TutorialManager::RunVODelay()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:CNIIDLOMFNC(var_0_06, newobj:CNIIDLOMFNC(CNIIDLOMFNC::.ctor, ldloc:int32(var_1)))
stloc:int32(var_1, ldc.i4:int32(0))
}
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: 0x060022CE RID: 8910 RVA: 0x00090D00 File Offset: 0x0008EF00
[Token(Token = "0x60022CE")]
[Address(RVA = "0x18995C0", Offset = "0x1897FC0", VA = "0x1818995C0")]
public IEnumerator RunPlayVOClip(TutorialManager.LFBAKFELNDP BFLJAONGKCB)
{
int num;
TutorialManager.GANIKNAEDME ganiknaedme = new TutorialManager.GANIKNAEDME(num);
num = 0;
ganiknaedme.<>4__this = this;
ganiknaedme.audioType = BFLJAONGKCB;
throw new NullReferenceException();
}
// Token: 0x060022CF RID: 8911 RVA: 0x00090D2C File Offset: 0x0008EF2C
[Token(Token = "0x60022CF")]
[Address(RVA = "0x18996B0", Offset = "0x18980B0", VA = "0x1818996B0")]
public IEnumerator RunPlayVO(TutorialManager.VOClip BEFFMNENBPA)
{
int num;
TutorialManager.JGFPJNFBKKK jgfpjnfbkkk = new TutorialManager.JGFPJNFBKKK(num);
num = 0;
jgfpjnfbkkk.<>4__this = this;
jgfpjnfbkkk.vo = BEFFMNENBPA;
throw new NullReferenceException();
}
// Token: 0x060022D0 RID: 8912 RVA: 0x00090D58 File Offset: 0x0008EF58
[Token(Token = "0x60022D0")]
[Address(RVA = "0x18993A0", Offset = "0x1897DA0", VA = "0x1818993A0")]
public AudioSource PlayVO(RecRoomAudioClip JDLICKFPJOO)
{
if (this.voAudioSource.isPlaying)
{
this.voAudioSource.Stop();
}
if (JDLICKFPJOO != 0)
{
AudioSource audioSource = this.voAudioSource;
AudioClip audioClip = JDLICKFPJOO.audioClip;
audioSource.clip = audioClip;
AudioSource audioSource2 = this.voAudioSource;
float volume = JDLICKFPJOO.volume;
audioSource2.volume = volume;
float num = JDLICKFPJOO.pitchVariation;
int num2 = 0;
AudioSource audioSource3 = this.voAudioSource;
if (num <= (float)num2)
{
}
num = global::UnityEngine.Random.Range(num, num);
audioSource3.pitch = num;
this.voAudioSource.Play();
this.subtitlePlayer.Stop();
TextAsset subtitles = JDLICKFPJOO.subtitles;
int num3 = 0;
if (subtitles != num3)
{
TextAsset subtitles2 = JDLICKFPJOO.subtitles;
SubtitlePlayer subtitlePlayer = this.subtitlePlayer;
string text = subtitles2.text;
subtitlePlayer.Load(text);
this.subtitlePlayer.Play();
}
return this.voAudioSource;
}
Debug.LogError("Clip is null");
throw new NullReferenceException();
}
// Token: 0x17000629 RID: 1577
// (get) Token: 0x060022D1 RID: 8913 RVA: 0x00090E4C File Offset: 0x0008F04C
[Token(Token = "0x17000629")]
public bool NFFFMEBIJPA
{
[Token(Token = "0x60022D1")]
[Address(RVA = "0x189A400", Offset = "0x1898E00", VA = "0x18189A400")]
get
{
TeachableMoment paihflhbpcc = this.PAIHFLHBPCC;
int num = 0;
return paihflhbpcc != num;
}
}
// Token: 0x060022D2 RID: 8914 RVA: 0x00090E6C File Offset: 0x0008F06C
[Token(Token = "0x60022D2")]
[Address(RVA = "0x20E1F30", Offset = "0x20E0930", VA = "0x1820E1F30")]
public bool IsTeachableMomentOfTypePlaying<T>() where T : TeachableMoment
{
int num = 0;
return this != num;
}
// Token: 0x060022D3 RID: 8915 RVA: 0x00090E84 File Offset: 0x0008F084
[Token(Token = "0x60022D3")]
[Address(RVA = "0x1899570", Offset = "0x1897F70", VA = "0x181899570")]
public void RegisterTeachableMoment(TeachableMoment KCCDGPFJCKP)
{
bool flag = ListExt.AddUnique<TeachableMoment>(this.EFDGLLOBFHD, KCCDGPFJCKP);
}
// Token: 0x060022D4 RID: 8916 RVA: 0x00090EA0 File Offset: 0x0008F0A0
[Token(Token = "0x60022D4")]
[Address(RVA = "0x189A090", Offset = "0x1898A90", VA = "0x18189A090")]
public void UnregisterTeachableMoment(TeachableMoment KCCDGPFJCKP)
{
bool flag = this.EFDGLLOBFHD.Remove(KCCDGPFJCKP);
ListExt.RemoveNulls<TeachableMoment>(this.EFDGLLOBFHD);
}
// Token: 0x060022D5 RID: 8917 RVA: 0x00090ECC File Offset: 0x0008F0CC
[Token(Token = "0x60022D5")]
[Address(RVA = "0x20E2010", Offset = "0x20E0A10", VA = "0x1820E2010")]
public bool TryTeachableMoment<T>() where T : TeachableMoment
{
bool flag;
if (!flag)
{
return flag;
}
bool flag2;
return flag2;
}
// Token: 0x060022D6 RID: 8918 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60022D6")]
[Address(RVA = "0x1A48ED0", Offset = "0x1A478D0", VA = "0x181A48ED0")]
public T GetTeachableMoment<T>() where T : TeachableMoment
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060022D7 RID: 8919 RVA: 0x00090EE8 File Offset: 0x0008F0E8
[Token(Token = "0x60022D7")]
[Address(RVA = "0x1897690", Offset = "0x1896090", VA = "0x181897690")]
public bool ForceTeachableMomentToPlay(TeachableMoment KCCDGPFJCKP)
{
int num = 0;
if (!(KCCDGPFJCKP == num))
{
TeachableMoment paihflhbpcc = this.PAIHFLHBPCC;
int num2 = 0;
if (paihflhbpcc != num2)
{
TeachableMoment paihflhbpcc2 = this.PAIHFLHBPCC;
this.CancelTeachableMomentIfActive(paihflhbpcc2);
}
this.PPOFFIBGBKE(KCCDGPFJCKP);
return true;
}
}
// Token: 0x060022D8 RID: 8920 RVA: 0x00090F30 File Offset: 0x0008F130
[Token(Token = "0x60022D8")]
[Address(RVA = "0x1899FA0", Offset = "0x18989A0", VA = "0x181899FA0")]
public bool TryTeachableMoment(TeachableMoment KCCDGPFJCKP)
{
int num = 0;
if (!(KCCDGPFJCKP == num))
{
TeachableMoment paihflhbpcc = this.PAIHFLHBPCC;
int num2 = 0;
IEnumerator enumerator;
if (!(paihflhbpcc != num2) && enumerator != 0)
{
this.PPOFFIBGBKE(KCCDGPFJCKP);
return true;
}
}
throw new NullReferenceException();
}
// Token: 0x060022D9 RID: 8921 RVA: 0x00090F74 File Offset: 0x0008F174
[Token(Token = "0x60022D9")]
[Address(RVA = "0x18990C0", Offset = "0x1897AC0", VA = "0x1818990C0")]
private void PPOFFIBGBKE(TeachableMoment KCCDGPFJCKP)
{
this.PAIHFLHBPCC = KCCDGPFJCKP;
if (KCCDGPFJCKP.JIBNEIKDLGJ)
{
ActionEvent<Player> playerDestroyedEvent = Player.PlayerDestroyedEvent;
Action<Player> action = new Action(this.NNHJFOAAOEA);
Player.PlayerDestroyedEvent = playerDestroyedEvent + action;
}
if (this.PAIHFLHBPCC.FAGLEFHMHDL)
{
GameManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
if (instance != num)
{
Action action2 = new Action(this.IAGJLHLEPIC);
instance.NJGCGNDOMBJ += action2;
}
}
int num2;
TutorialManager.NLLNHPIDGIB nllnhpidgib = new TutorialManager.NLLNHPIDGIB(num2);
num2 = 0;
nllnhpidgib.<>4__this = this;
Coroutine coroutine = base.StartCoroutine(nllnhpidgib);
this.MFCBDENGGBO = coroutine;
}
// Token: 0x060022DA RID: 8922 RVA: 0x00091014 File Offset: 0x0008F214
[Token(Token = "0x60022DA")]
[Address(RVA = "0x1898AD0", Offset = "0x18974D0", VA = "0x181898AD0")]
private void NNHJFOAAOEA(Player IEKDDPPNFPF)
{
TeachableMoment paihflhbpcc = this.PAIHFLHBPCC;
this.CancelTeachableMomentIfActive(paihflhbpcc);
}
// Token: 0x060022DB RID: 8923 RVA: 0x00091038 File Offset: 0x0008F238
[Token(Token = "0x60022DB")]
[Address(RVA = "0x1898290", Offset = "0x1896C90", VA = "0x181898290")]
private void IAGJLHLEPIC()
{
TeachableMoment paihflhbpcc = this.PAIHFLHBPCC;
this.CancelTeachableMomentIfActive(paihflhbpcc);
}
// Token: 0x060022DC RID: 8924 RVA: 0x00091054 File Offset: 0x0008F254
[Token(Token = "0x60022DC")]
[Address(RVA = "0x1897910", Offset = "0x1896310", VA = "0x181897910")]
private IEnumerator GJAOKBBGLJP()
{
int num;
TutorialManager.NLLNHPIDGIB nllnhpidgib = new TutorialManager.NLLNHPIDGIB(num);
num = 0;
nllnhpidgib.<>4__this = this;
throw new NullReferenceException();
}
// Token: 0x060022DD RID: 8925 RVA: 0x00091078 File Offset: 0x0008F278
[Token(Token = "0x60022DD")]
[Address(RVA = "0x1897130", Offset = "0x1895B30", VA = "0x181897130")]
public void CancelTeachableMomentIfActive(TeachableMoment KCCDGPFJCKP)
{
int num = 0;
int num2 = 0;
if (KCCDGPFJCKP != num2 && this.PAIHFLHBPCC == KCCDGPFJCKP)
{
DateTime utcNow = DateTime.UtcNow;
DateTime mkkfddneefp = this.MKKFDDNEEFP;
TimeSpan timeSpan = utcNow - mkkfddneefp;
TeachableMoment paihflhbpcc = this.PAIHFLHBPCC;
TeachableMoment.LCFNEFFEAJF aahgighaifi = paihflhbpcc.AAHGIGHAIFI;
IEnumerator enumerator = paihflhbpcc.RunTeachingMoment();
int num3 = 0;
if (this != num3)
{
Coroutine mfcbdenggbo = this.MFCBDENGGBO;
base.StopCoroutine(mfcbdenggbo);
IEnumerator llcpaneakml = this.LLCPANEAKML;
base.StopCoroutine(llcpaneakml);
}
ActionEvent<Player> playerDestroyedEvent = Player.PlayerDestroyedEvent;
Action<Player> action = new Action(this.NNHJFOAAOEA);
Player.PlayerDestroyedEvent = playerDestroyedEvent - action;
RecRoomSceneManager <OCDLBPHJMOP>k__BackingField = RecRoomSceneManager.<OCDLBPHJMOP>k__BackingField;
int num4 = 0;
if (<OCDLBPHJMOP>k__BackingField != num4)
{
GameManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num5 = 0;
if (instance != num5)
{
Action action2 = new Action(this.IAGJLHLEPIC);
instance.NJGCGNDOMBJ -= action2;
}
}
this.PAIHFLHBPCC.CleanUp();
this.PAIHFLHBPCC = num;
this.MFCBDENGGBO = num;
this.LLCPANEAKML = num;
}
}
// Token: 0x060022DE RID: 8926 RVA: 0x00091198 File Offset: 0x0008F398
[Token(Token = "0x60022DE")]
[Address(RVA = "0x189A1B0", Offset = "0x1898BB0", VA = "0x18189A1B0")]
public TutorialManager()
{
ulong num;
this.screensHelpPopupPosition = num;
this.screensHelpPopupPosition.y = (float)0;
Dictionary<string, long> dictionary = new Dictionary();
this.KNMODGNNOMO = dictionary;
this.FCBHBAIIKPN = true;
this.JGLKBGBOLEJ = (TutorialManager.HLGLKDBJNBD)((ulong)100L);
List<TeachableMoment> list = new List();
this.EFDGLLOBFHD = list;
base..ctor();
}
// Token: 0x04001C1C RID: 7196
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4001C1C")]
[SerializeField]
[Header("Audio")]
private AudioSource voAudioSource;
// Token: 0x04001C1D RID: 7197
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4001C1D")]
[SerializeField]
private AudioSource voAudioSource3D;
// Token: 0x04001C1E RID: 7198
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4001C1E")]
[SerializeField]
private TutorialAudioConfigs tutorialAudioConfigs;
// Token: 0x04001C1F RID: 7199
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4001C1F")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
private SubtitlePlayer subtitlePlayer;
// Token: 0x04001C20 RID: 7200
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4001C20")]
[SerializeField]
[Header("Help Popup")]
private HelpPopup helpPopupPrefab;
// Token: 0x04001C21 RID: 7201
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4001C21")]
[SerializeField]
private HelpPopupConfigs helpPopupConfigs;
// Token: 0x04001C22 RID: 7202
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4001C22")]
[SerializeField]
private GameObject dropItemNotePrefab;
// Token: 0x04001C23 RID: 7203
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4001C23")]
private GameObject MGEPIKOJFIN;
// Token: 0x04001C24 RID: 7204
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x4001C24")]
[SerializeField]
private Vector2 screensHelpPopupPosition;
// Token: 0x04001C25 RID: 7205
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x4001C25")]
private List<KeyValuePair<COBKKLOJNNE, TutorialManager.PBGCGJOEICJ>> BDBCGIJNPME;
// Token: 0x04001C26 RID: 7206
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x4001C26")]
private float NCJIALKBINK;
// Token: 0x04001C28 RID: 7208
[Token(Token = "0x4001C28")]
private const int CHMFKMACJEK = 5;
// Token: 0x04001C29 RID: 7209
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x4001C29")]
private HelpPopup HPMMCMLIIML;
// Token: 0x04001C2A RID: 7210
[Token(Token = "0x4001C2A")]
private const int LPCOFPALPEE = 0;
// Token: 0x04001C2B RID: 7211
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x4001C2B")]
private Dictionary<string, long> KNMODGNNOMO;
// Token: 0x04001C2C RID: 7212
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
[Token(Token = "0x4001C2C")]
private bool FCBHBAIIKPN;
// Token: 0x04001C2D RID: 7213
[global::Cpp2IlInjected.FieldOffset(Offset = "0x84")]
[Token(Token = "0x4001C2D")]
private TutorialManager.HLGLKDBJNBD JGLKBGBOLEJ;
// Token: 0x04001C2E RID: 7214
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
[Token(Token = "0x4001C2E")]
private IResourceHandle<Texture2D> FELGHAMABDL;
// Token: 0x04001C2F RID: 7215
[Token(Token = "0x4001C2F")]
private const float JNJNLECDOGG = 1f;
// Token: 0x04001C30 RID: 7216
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
[Token(Token = "0x4001C30")]
private List<TeachableMoment> EFDGLLOBFHD;
// Token: 0x04001C31 RID: 7217
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
[Token(Token = "0x4001C31")]
private TeachableMoment PAIHFLHBPCC;
// Token: 0x04001C32 RID: 7218
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4001C32")]
private Coroutine MFCBDENGGBO;
// Token: 0x04001C33 RID: 7219
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4001C33")]
private IEnumerator LLCPANEAKML;
// Token: 0x04001C34 RID: 7220
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4001C34")]
private DateTime MKKFDDNEEFP;
// Token: 0x04001C35 RID: 7221
[Token(Token = "0x4001C35")]
private static string DEBADLGBCJC = "FIRST_TIME_IN_FLAGS";
// Token: 0x04001C36 RID: 7222
[Token(Token = "0x4001C36")]
private static string JCFLNDELFIG = "USER_TRACKING";
// Token: 0x04001C37 RID: 7223
[Token(Token = "0x4001C37")]
private static string OBIODNNLFCO = "PICKED_UP_STICKY_TOOL_BEFORE";
// Token: 0x04001C38 RID: 7224
[Token(Token = "0x4001C38")]
private static string AKELNNOMFOE = "TUTORIAL_COMPLETE_MASK";
// Token: 0x04001C39 RID: 7225
[Token(Token = "0x4001C39")]
public static string OOBEFLOW_PREF = "Recroom.OOBE";
// Token: 0x0200049D RID: 1181
[Token(Token = "0x200049D")]
public enum DDDLEBIENKF
{
// Token: 0x04001C3B RID: 7227
[Token(Token = "0x4001C3B")]
TeleportButton,
// Token: 0x04001C3C RID: 7228
[Token(Token = "0x4001C3C")]
SwipeButton,
// Token: 0x04001C3D RID: 7229
[Token(Token = "0x4001C3D")]
GrabButton,
// Token: 0x04001C3E RID: 7230
[Token(Token = "0x4001C3E")]
DropItemButton,
// Token: 0x04001C3F RID: 7231
[Token(Token = "0x4001C3F")]
OpenWatch,
// Token: 0x04001C40 RID: 7232
[Token(Token = "0x4001C40")]
Laser,
// Token: 0x04001C41 RID: 7233
[Token(Token = "0x4001C41")]
Stop,
// Token: 0x04001C42 RID: 7234
[Token(Token = "0x4001C42")]
FistBump,
// Token: 0x04001C43 RID: 7235
[Token(Token = "0x4001C43")]
ShakeHands,
// Token: 0x04001C44 RID: 7236
[Token(Token = "0x4001C44")]
WalkButton
}
// Token: 0x0200049E RID: 1182
[Token(Token = "0x200049E")]
public enum LFBAKFELNDP
{
// Token: 0x04001C46 RID: 7238
[Token(Token = "0x4001C46")]
Great = 5,
// Token: 0x04001C47 RID: 7239
[Token(Token = "0x4001C47")]
Perfect,
// Token: 0x04001C48 RID: 7240
[Token(Token = "0x4001C48")]
LookAtWristToViewWatch = 25,
// Token: 0x04001C49 RID: 7241
[Token(Token = "0x4001C49")]
OpenWatch = 31,
// Token: 0x04001C4A RID: 7242
[Token(Token = "0x4001C4A")]
PleaseEnterYourBirthday = 43,
// Token: 0x04001C4B RID: 7243
[Token(Token = "0x4001C4B")]
Thanks,
// Token: 0x04001C4C RID: 7244
[Token(Token = "0x4001C4C")]
RegisterNonJunior,
// Token: 0x04001C4D RID: 7245
[Token(Token = "0x4001C4D")]
RegisterJunior,
// Token: 0x04001C4E RID: 7246
[Token(Token = "0x4001C4E")]
Excellent,
// Token: 0x04001C4F RID: 7247
[Token(Token = "0x4001C4F")]
VerifyAccount = 66,
// Token: 0x04001C50 RID: 7248
[Token(Token = "0x4001C50")]
ThereAreTwoWaysToMove = 178,
// Token: 0x04001C51 RID: 7249
[Token(Token = "0x4001C51")]
PickWhichWayYoudLikeToMove,
// Token: 0x04001C52 RID: 7250
[Token(Token = "0x4001C52")]
WeRecommendTeleport,
// Token: 0x04001C53 RID: 7251
[Token(Token = "0x4001C53")]
YouCanChangeBetweenWalkingAndTeleporting,
// Token: 0x04001C54 RID: 7252
[Token(Token = "0x4001C54")]
ExploreNUX_WelcomeToRecRoom = 190,
// Token: 0x04001C55 RID: 7253
[Token(Token = "0x4001C55")]
ExploreNUX_ThisIsYourDormRoom,
// Token: 0x04001C56 RID: 7254
[Token(Token = "0x4001C56")]
ExploreNUX_FeelFreeToPlayAround,
// Token: 0x04001C57 RID: 7255
[Token(Token = "0x4001C57")]
WhatIsYourAge = 195,
// Token: 0x04001C58 RID: 7256
[Token(Token = "0x4001C58")]
WhatDoYouWantYourNameToBe,
// Token: 0x04001C59 RID: 7257
[Token(Token = "0x4001C59")]
FeelFreeToPlayAround,
// Token: 0x04001C5A RID: 7258
[Token(Token = "0x4001C5A")]
UseMirrorToCustomizeLook = 200,
// Token: 0x04001C5B RID: 7259
[Token(Token = "0x4001C5B")]
WelcomeToPaintball,
// Token: 0x04001C5C RID: 7260
[Token(Token = "0x4001C5C")]
WhatWouldYouLikeYourPasswordToBe,
// Token: 0x04001C5D RID: 7261
[Token(Token = "0x4001C5D")]
DoYouWantUsToConnectYou = 220,
// Token: 0x04001C5E RID: 7262
[Token(Token = "0x4001C5E")]
WeNeedMoreInfo,
// Token: 0x04001C5F RID: 7263
[Token(Token = "0x4001C5F")]
LooksLikeYouKnowPlayers,
// Token: 0x04001C60 RID: 7264
[Token(Token = "0x4001C60")]
WellLetYouKnowWhenFriendsJoin,
// Token: 0x04001C61 RID: 7265
[Token(Token = "0x4001C61")]
CompleteChallengesToEarnRewards = 230,
// Token: 0x04001C62 RID: 7266
[Token(Token = "0x4001C62")]
KeepCompletingChallengesToEarnRewards,
// Token: 0x04001C63 RID: 7267
[Token(Token = "0x4001C63")]
Mirror_FromTheMirror = 250,
// Token: 0x04001C64 RID: 7268
[Token(Token = "0x4001C64")]
Mirror_LookingGood,
// Token: 0x04001C65 RID: 7269
[Token(Token = "0x4001C65")]
BulletinBoard_AtTheCommunityBoard = 300,
// Token: 0x04001C66 RID: 7270
[Token(Token = "0x4001C66")]
Intro_WelcomeToRecRoom = 350,
// Token: 0x04001C67 RID: 7271
[Token(Token = "0x4001C67")]
Intro_ThisIsYourDormRoom,
// Token: 0x04001C68 RID: 7272
[Token(Token = "0x4001C68")]
Watch_BeforeYouHeadOut = 400,
// Token: 0x04001C69 RID: 7273
[Token(Token = "0x4001C69")]
Watch_ThisIsYourWatchMenu,
// Token: 0x04001C6A RID: 7274
[Token(Token = "0x4001C6A")]
Watch_TryTappingPlay,
// Token: 0x04001C6B RID: 7275
[Token(Token = "0x4001C6B")]
Watch_ExcellentRooms
}
// Token: 0x0200049F RID: 1183
[Token(Token = "0x200049F")]
public enum HLGLKDBJNBD
{
// Token: 0x04001C6D RID: 7277
[Token(Token = "0x4001C6D")]
NotRan,
// Token: 0x04001C6E RID: 7278
[Token(Token = "0x4001C6E")]
TutorialStart,
// Token: 0x04001C6F RID: 7279
[Token(Token = "0x4001C6F")]
Registration,
// Token: 0x04001C70 RID: 7280
[Token(Token = "0x4001C70")]
ChooseVRPlayerType = 77,
// Token: 0x04001C71 RID: 7281
[Token(Token = "0x4001C71")]
IosImportFriends,
// Token: 0x04001C72 RID: 7282
[Token(Token = "0x4001C72")]
ExploratoryTutorials = 80,
// Token: 0x04001C73 RID: 7283
[Token(Token = "0x4001C73")]
CohortNUX,
// Token: 0x04001C74 RID: 7284
[Token(Token = "0x4001C74")]
DressUpChoice = 83,
// Token: 0x04001C75 RID: 7285
[Token(Token = "0x4001C75")]
DressUpMirror,
// Token: 0x04001C76 RID: 7286
[Token(Token = "0x4001C76")]
ConfirmAvatar,
// Token: 0x04001C77 RID: 7287
[Token(Token = "0x4001C77")]
Complete = 100
}
// Token: 0x020004A0 RID: 1184
[Token(Token = "0x20004A0")]
[Flags]
public enum PBGCGJOEICJ
{
// Token: 0x04001C79 RID: 7289
[Token(Token = "0x4001C79")]
INVALID = 0,
// Token: 0x04001C7A RID: 7290
[Token(Token = "0x4001C7A")]
RecCenter = 1
}
// Token: 0x020004A1 RID: 1185
[Token(Token = "0x20004A1")]
[Flags]
public enum JLKAMNFGKDG
{
// Token: 0x04001C7C RID: 7292
[Token(Token = "0x4001C7C")]
INVALID = 0,
// Token: 0x04001C7D RID: 7293
[Token(Token = "0x4001C7D")]
HasVisitedCustomRoom = 1,
// Token: 0x04001C7E RID: 7294
[Token(Token = "0x4001C7E")]
Tutorial_CustomRoomBrowser = 2,
// Token: 0x04001C7F RID: 7295
[Token(Token = "0x4001C7F")]
Tutorial_CreateCustomRoom = 4,
// Token: 0x04001C80 RID: 7296
[Token(Token = "0x4001C80")]
HasUsedUGCShortcut = 8,
// Token: 0x04001C81 RID: 7297
[Token(Token = "0x4001C81")]
HasLearnedAboutNewWatch_2018_04_23 = 16,
// Token: 0x04001C82 RID: 7298
[Token(Token = "0x4001C82")]
HasLearnedAboutNewWatch_2018_08_20 = 32
}
// Token: 0x020004A2 RID: 1186
[Token(Token = "0x20004A2")]
[Serializable]
public class VOClip
{
// Token: 0x1700062A RID: 1578
// (get) Token: 0x060022E0 RID: 8928 RVA: 0x0009122C File Offset: 0x0008F42C
[Token(Token = "0x1700062A")]
public RecRoomAudioClip AudioClip
{
[Token(Token = "0x60022E0")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get
{
return this.recClip;
}
}
// Token: 0x060022E1 RID: 8929 RVA: 0x00091240 File Offset: 0x0008F440
[Token(Token = "0x60022E1")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public VOClip()
{
}
// Token: 0x04001C83 RID: 7299
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4001C83")]
[SerializeField]
private RecRoomAudioClip recClip;
// Token: 0x04001C84 RID: 7300
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4001C84")]
public float preDuration;
// Token: 0x04001C85 RID: 7301
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4001C85")]
public float postDuration;
}
// Token: 0x020004A3 RID: 1187
[Token(Token = "0x20004A3")]
public enum PKHLMAEGIKG
{
// Token: 0x04001C87 RID: 7303
[Token(Token = "0x4001C87")]
NUX_INTRO,
// Token: 0x04001C88 RID: 7304
[Token(Token = "0x4001C88")]
NUX_MIRROR,
// Token: 0x04001C89 RID: 7305
[Token(Token = "0x4001C89")]
NUX_BULLETIN_BOARD,
// Token: 0x04001C8A RID: 7306
[Token(Token = "0x4001C8A")]
NUX_WATCH
}
// Token: 0x020004A4 RID: 1188
[Token(Token = "0x20004A4")]
[CompilerGenerated]
private sealed class COPEILOMEMB
{
// Token: 0x060022E2 RID: 8930 RVA: 0x00091254 File Offset: 0x0008F454
[Token(Token = "0x60022E2")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public COPEILOMEMB()
{
}
// Token: 0x060022E3 RID: 8931 RVA: 0x00091268 File Offset: 0x0008F468
[Token(Token = "0x60022E3")]
[Address(RVA = "0x19FEBA0", Offset = "0x19FD5A0", VA = "0x1819FEBA0")]
internal void <LogGGFAnalyticEvent>b__0(bool hasSetPassword)
{
string text = this.eventName;
string text2 = "GGF_" + text;
bool flag = this.<>4__this.IsTutorialComplete(TutorialManager.PKHLMAEGIKG.NUX_MIRROR);
bool flag2 = this.<>4__this.IsTutorialComplete(TutorialManager.PKHLMAEGIKG.NUX_WATCH);
float time = Time.time;
TutorialManager tutorialManager = this.<>4__this;
bool fakeValue = PEGGCEDHBOF.DOOHKCANFLO.<DOPLJIOHAMG>k__BackingField.fakeValue;
bool flag3;
if (flag3)
{
}
int num = 0;
CFLMJLFBOKH.MENPFMBALJP(text2, flag, flag2, time, hasSetPassword, num);
}
// Token: 0x04001C8B RID: 7307
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4001C8B")]
public string eventName;
// Token: 0x04001C8C RID: 7308
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4001C8C")]
public TutorialManager <>4__this;
// Token: 0x04001C8D RID: 7309
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4001C8D")]
public bool? isJuniorAccount;
}
// Token: 0x020004A6 RID: 1190
[Token(Token = "0x20004A6")]
[CompilerGenerated]
private sealed class PLHMJBHGCNK
{
// Token: 0x060022EA RID: 8938 RVA: 0x00091438 File Offset: 0x0008F638
[Token(Token = "0x60022EA")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public PLHMJBHGCNK()
{
}
// Token: 0x060022EB RID: 8939 RVA: 0x0009144C File Offset: 0x0008F64C
[Token(Token = "0x60022EB")]
[Address(RVA = "0x1A00550", Offset = "0x19FEF50", VA = "0x181A00550")]
internal void <ShowHelpPopup>b__0(Texture2D texture2D)
{
int num = 0;
if (texture2D != num)
{
this.<>4__this.ONIMLKBKPPM.SetContent(texture2D);
}
this.<>4__this.ONIMLKBKPPM.BCKCEELIDLH = true;
HelpPopup helpPopup = this.<>4__this.ONIMLKBKPPM;
Vector3? vector = this.positionOverride;
helpPopup.UpdatePosition(vector);
}
// Token: 0x04001C92 RID: 7314
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4001C92")]
public TutorialManager <>4__this;
// Token: 0x04001C93 RID: 7315
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4001C93")]
public Vector3? positionOverride;
}
}