using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using MEC;
using Newtonsoft.Json.Serialization;
using UnityEngine;

// Token: 0x02000204 RID: 516
[Token(Token = "0x2000204")]
public class SceneManager : GameSceneBase
{
	// Token: 0x06001440 RID: 5184 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001440")]
	[Address(RVA = "0x4353D0", Offset = "0x4341D0", VA = "0x1804353D0")]
	private void Awake()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001441 RID: 5185 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001441")]
	[Address(RVA = "0x4361C0", Offset = "0x434FC0", VA = "0x1804361C0", Slot = "4")]
	public override void Enter()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001442 RID: 5186 RVA: 0x0002E0B8 File Offset: 0x0002C2B8
	[Token(Token = "0x6001442")]
	[Address(RVA = "0x438A30", Offset = "0x437830", VA = "0x180438A30")]
	private void Setup()
	{
		Game.RunStageServices(new Action(this.OnTimeEventReceived));
		this.onSystemMenu = false;
	}

	// Token: 0x06001443 RID: 5187 RVA: 0x0002E0E0 File Offset: 0x0002C2E0
	[Token(Token = "0x6001443")]
	[Address(RVA = "0x4373B0", Offset = "0x4361B0", VA = "0x1804373B0")]
	private void Init()
	{
		TreasureBox[] saveTreasureBox = this.Save.SaveTreasureBox;
		int num = 0;
		int num2 = 0;
		if (num2 < saveTreasureBox.Length)
		{
			TreasureBox treasureBox = saveTreasureBox[num];
			if (treasureBox != 0)
			{
				treasureBox.index = num;
			}
			num++;
		}
		this.wizardGirl.Init();
		ScriptMode scriptMode = this.scriptSystem;
		NobetaAnimatorController animatorController = Game.GetPlayerManager().GetAnimatorController();
		scriptMode.g_PlayerAni = animatorController;
		PlayerCamera camera = Game.GetPlayerManager().GetCamera();
		scriptMode.g_CameraEff = camera;
		scriptMode.g_bSwitchScene = false;
		scriptMode.g_iSkipID = (int)((ulong)0L);
		scriptMode.g_iVoiceIndex = (int)((ulong)4294967294L);
		UIStackingManager uistackingManager = Game.GetUIStackingManager();
		int num3 = 0;
		uistackingManager.Init((UIStackingManager.UIStackingCommand)num3);
		GameObject[] array = GameObject.FindGameObjectsWithTag("NPC");
		int num4 = 0;
		int num5 = 0;
		int length = array.Length;
		if (num4 < length)
		{
			NPC component = array[num5].GetComponent<NPC>();
			if (component)
			{
				component.Init();
			}
			num5++;
		}
		Transform[] array2 = this.children;
		ItemSystem itemSystem = this.itemSystem;
		Transform transform = array2[3];
		itemSystem.Init(transform);
		Transform[] array3 = this.children;
		SoulSystem soulSystem = this.soulSystem;
		Transform transform2 = array3[4];
		soulSystem.Init(transform2);
		this.achievementSystem.Init();
		GameObject[] array4 = GameObject.FindGameObjectsWithTag("AreaAffectPlayer");
		this.areaEffects = array4;
		GameObject[] array5 = GameObject.FindGameObjectsWithTag("AttackableObject");
		this.attackGroups = array5;
		SceneEventManager sem = this.SEM;
		int num6 = 0;
		if (sem != num6 && this.SEM.gameObject.activeSelf)
		{
			this.SEM.InitData();
		}
		this.currentAttackableId = (int)((ulong)0L);
	}

	// Token: 0x06001444 RID: 5188 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001444")]
	[Address(RVA = "0x436880", Offset = "0x435680", VA = "0x180436880")]
	private void InitStageObjs()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001445 RID: 5189 RVA: 0x0002E2A0 File Offset: 0x0002C4A0
	[Token(Token = "0x6001445")]
	[Address(RVA = "0x437A50", Offset = "0x436850", VA = "0x180437A50")]
	private void OnSceneInitComplete()
	{
		this.InitStageObjs();
		Game.SwitchGameplayInput();
		this.wizardGirl.Setup();
		Game.UpdateSystemTimeScale(1f, true);
		int num;
		SceneManager.<FadeOutBlackScreen>d__41 <FadeOutBlackScreen>d__ = new SceneManager.<FadeOutBlackScreen>d__41(num);
		num = 0;
		<FadeOutBlackScreen>d__.delayTime = 0.5f;
		CoroutineHandle coroutineHandle = MECExtensionMethods1.RunCoroutine(<FadeOutBlackScreen>d__);
	}

	// Token: 0x06001446 RID: 5190 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001446")]
	[Address(RVA = "0x436300", Offset = "0x435100", VA = "0x180436300")]
	private IEnumerator<float> FadeOutBlackScreen(float delayTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001447 RID: 5191 RVA: 0x0002E2F4 File Offset: 0x0002C4F4
	[Token(Token = "0x6001447")]
	[Address(RVA = "0x438E20", Offset = "0x437C20", VA = "0x180438E20")]
	private void Update()
	{
		this.itemSystem.Update();
		ScriptMode scriptMode = this.scriptSystem;
		float num = Game.GetSystemDeltaTime();
		scriptMode.Update(num);
		AchievementsSystem achievementsSystem = this.achievementSystem;
		num = Game.GetGameDeltaTime();
		achievementsSystem.Update(num);
	}

	// Token: 0x06001448 RID: 5192 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001448")]
	[Address(RVA = "0x437880", Offset = "0x436680", VA = "0x180437880")]
	private void OnDisable()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001449 RID: 5193 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001449")]
	[Address(RVA = "0x437B30", Offset = "0x436930", VA = "0x180437B30")]
	private void OnTimeEventReceived(TimeEffectType effectType, StageTimeManager timeManager)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600144A RID: 5194 RVA: 0x0002E340 File Offset: 0x0002C540
	[Token(Token = "0x600144A")]
	[Address(RVA = "0x438990", Offset = "0x437790", VA = "0x180438990")]
	public void SetGameState(SceneManager.GameState state)
	{
		if (state == SceneManager.GameState.Script || this.stageState == SceneManager.GameState.Script)
		{
			Game.EnableStoryVolumeEffect(true);
		}
		this.stageState = state;
	}

	// Token: 0x0600144B RID: 5195 RVA: 0x0002E36C File Offset: 0x0002C56C
	[Token(Token = "0x600144B")]
	[Address(RVA = "0x3F0030", Offset = "0x3EEE30", VA = "0x1803F0030")]
	public SceneManager.GameState GetGameState()
	{
		return this.stageState;
	}

	// Token: 0x0600144C RID: 5196 RVA: 0x0002E380 File Offset: 0x0002C580
	[Token(Token = "0x600144C")]
	[Address(RVA = "0x438A20", Offset = "0x437820", VA = "0x180438A20")]
	public void SetIsSystemOptionOpened(bool isSystemOptionOpened)
	{
		this.onSystemMenu = isSystemOptionOpened;
	}

	// Token: 0x0600144D RID: 5197 RVA: 0x0002E394 File Offset: 0x0002C594
	[Token(Token = "0x600144D")]
	[Address(RVA = "0x436510", Offset = "0x435310", VA = "0x180436510")]
	public bool GetIsOpenSystemOption()
	{
		return this.onSystemMenu;
	}

	// Token: 0x0600144E RID: 5198 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600144E")]
	[Address(RVA = "0x435DE0", Offset = "0x434BE0", VA = "0x180435DE0")]
	public void CreateEventSoul(Vector3 Pos, Vector3 Target, int Num, SwitchDevice SD, [Optional] Transform LeadObject)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600144F RID: 5199 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600144F")]
	[Address(RVA = "0x435E60", Offset = "0x434C60", VA = "0x180435E60")]
	public void CreateEventSoul(Vector3 Pos, Vector3 Target, int Num, SceneEvent OpenSceneEvent, Transform OpenSceneEventPos, [Optional] Transform LeadObject)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001450 RID: 5200 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001450")]
	[Address(RVA = "0x435F30", Offset = "0x434D30", VA = "0x180435F30")]
	public void CreateSoundWave(Vector3 v3Center, float fRadius, SceneManager.SoundWaveType SoundType = SceneManager.SoundWaveType.Battle)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001451 RID: 5201 RVA: 0x0002E3A8 File Offset: 0x0002C5A8
	[Token(Token = "0x6001451")]
	[Address(RVA = "0x4377F0", Offset = "0x4365F0", VA = "0x1804377F0")]
	public void LoadScript(LoadScript LS)
	{
		bool flag = this.scriptSystem.LoadScript(LS);
		this.wizardGirl.playerController.ClearInput();
	}

	// Token: 0x06001452 RID: 5202 RVA: 0x0002E3D8 File Offset: 0x0002C5D8
	[Token(Token = "0x6001452")]
	[Address(RVA = "0x4387B0", Offset = "0x4375B0", VA = "0x1804387B0")]
	public void RunNextScriptStep()
	{
		ScriptMode scriptMode = this.scriptSystem;
		int g_iStepMax = scriptMode.g_iStepMax;
		if (scriptMode.g_iStep >= g_iStepMax || scriptMode.g_bAutoStep)
		{
			return;
		}
		if (!scriptMode.g_bDialog)
		{
			Game.SetDialogArrowEnable(false);
			int num = scriptMode.g_iStep;
			num++;
			scriptMode.g_iStep = num;
			scriptMode.RunStep(num);
			return;
		}
		string g_sDialogText = scriptMode.g_sDialogText;
		int stringLength = g_sDialogText.m_stringLength;
		int num2 = 0;
		string g_sDialogSpeaker = scriptMode.g_sDialogSpeaker;
		scriptMode.g_sDialogTextNum = stringLength;
		string text = g_sDialogText.Substring(num2, stringLength);
		Game.SetDialogText(g_sDialogSpeaker, text);
		scriptMode.g_bDialog = false;
		while (scriptMode.g_bAutoStep)
		{
		}
		Game.SetDialogArrowEnable(true);
	}

	// Token: 0x06001453 RID: 5203 RVA: 0x0002E484 File Offset: 0x0002C684
	[Token(Token = "0x6001453")]
	[Address(RVA = "0x438AE0", Offset = "0x4378E0", VA = "0x180438AE0")]
	public void SkipScript()
	{
		ScriptMode scriptMode = this.scriptSystem;
		int g_iSkipID = scriptMode.g_iSkipID;
		if (g_iSkipID > 1)
		{
			scriptMode.g_iStep = g_iSkipID;
			scriptMode.RunStep(g_iSkipID);
			return;
		}
	}

	// Token: 0x06001454 RID: 5204 RVA: 0x0002E4B8 File Offset: 0x0002C6B8
	[Token(Token = "0x6001454")]
	[Address(RVA = "0x4377C0", Offset = "0x4365C0", VA = "0x1804377C0")]
	public bool IsSkipScriptAllowed()
	{
		return this.scriptSystem.g_iSkipID > 0;
	}

	// Token: 0x06001455 RID: 5205 RVA: 0x0002E4DC File Offset: 0x0002C6DC
	[Token(Token = "0x6001455")]
	[Address(RVA = "0x438D40", Offset = "0x437B40", VA = "0x180438D40")]
	public void UpdateSavePoint(SavePoint savePoint)
	{
		int savePointNumber = this.GetSavePointNumber(savePoint);
		GameSaveBasicData basic = Game.GameSave.basic;
		string text = this.stageName;
		basic.AddNewSavePoint(text, savePointNumber);
		UITeleport canvas = Game.GetCanvas<UITeleport>();
		GameStage stage = Game.GameSave.basic.stage;
		canvas.UpdateLocation(stage, savePointNumber);
	}

	// Token: 0x06001456 RID: 5206 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001456")]
	[Address(RVA = "0x438ED0", Offset = "0x437CD0", VA = "0x180438ED0")]
	public bool VerifySaveSystem()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001457 RID: 5207 RVA: 0x0002E538 File Offset: 0x0002C738
	[Token(Token = "0x6001457")]
	[Address(RVA = "0x438C60", Offset = "0x437A60", VA = "0x180438C60")]
	public bool UpdateGameSave(SavePoint savePoint)
	{
		SaveSystem save = this.Save;
		SoulSystem soulSystem = this.soulSystem;
		WizardGirlManage wizardGirlManage = this.wizardGirl;
		save.UpdateCharacterData(wizardGirlManage, soulSystem);
		GameSaveBasicData basic = Game.GameSave.basic;
		string text = this.stageName;
		int savePointNumber = this.GetSavePointNumber(savePoint);
		basic.UpdateStageData(text, savePointNumber);
		Game.WriteGameSave();
		return true;
	}

	// Token: 0x06001458 RID: 5208 RVA: 0x0002E59C File Offset: 0x0002C79C
	[Token(Token = "0x6001458")]
	[Address(RVA = "0x438C30", Offset = "0x437A30", VA = "0x180438C30")]
	public void UpdateGameSaveWithUIMenu()
	{
		SaveSystem save = this.Save;
		SoulSystem soulSystem = this.soulSystem;
		WizardGirlManage wizardGirlManage = this.wizardGirl;
		save.UpdateCharacterData(wizardGirlManage, soulSystem);
	}

	// Token: 0x06001459 RID: 5209 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001459")]
	[Address(RVA = "0x4365D0", Offset = "0x4353D0", VA = "0x1804365D0")]
	public int GetSavePointNumber(SavePoint savePoint)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600145A RID: 5210 RVA: 0x0002E5CC File Offset: 0x0002C7CC
	[Token(Token = "0x600145A")]
	[Address(RVA = "0x3147B0", Offset = "0x3135B0", VA = "0x1803147B0")]
	public SceneBGMController GetBGM()
	{
		return this.BGM;
	}

	// Token: 0x0600145B RID: 5211 RVA: 0x0002E5E0 File Offset: 0x0002C7E0
	[Token(Token = "0x600145B")]
	[Address(RVA = "0x31E480", Offset = "0x31D280", VA = "0x18031E480")]
	public Camera GetStageCamera()
	{
		return this.stageCam;
	}

	// Token: 0x0600145C RID: 5212 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600145C")]
	[Address(RVA = "0x4363C0", Offset = "0x4351C0", VA = "0x1804363C0")]
	public PlayerCamera GetCameraController()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600145D RID: 5213 RVA: 0x0002E5F4 File Offset: 0x0002C7F4
	[Token(Token = "0x600145D")]
	[Address(RVA = "0x438900", Offset = "0x437700", VA = "0x180438900")]
	public void SetBossDialogue(CombatDialogueType dialogueType)
	{
		this.bossDialogue = dialogueType;
		this.isBossAttacking = false;
	}

	// Token: 0x0600145E RID: 5214 RVA: 0x0002E610 File Offset: 0x0002C810
	[Token(Token = "0x600145E")]
	[Address(RVA = "0x4388F0", Offset = "0x4376F0", VA = "0x1804388F0")]
	public void SetBossAttacking(bool isBossAttacking)
	{
		this.isBossAttacking = isBossAttacking;
	}

	// Token: 0x0600145F RID: 5215 RVA: 0x0002E624 File Offset: 0x0002C824
	[Token(Token = "0x600145F")]
	[Address(RVA = "0x438FC0", Offset = "0x437DC0", VA = "0x180438FC0")]
	public void WaitForDeathMenu()
	{
		SceneBGMController bgm = this.BGM;
		int num = 0;
		if (bgm != num)
		{
			SceneBGMController bgm2 = this.BGM;
			BGM g_DeathBGM = bgm2.g_DeathBGM;
			int num2 = 0;
			if (!(g_DeathBGM == num2))
			{
				bgm2.StopBGM();
				int num3 = UnityEngine.Random.Range(0, 3);
				if (num3 != 0)
				{
					if (num3 != 0)
					{
						if (num3 != 1)
						{
							goto IL_8E;
						}
						bgm2.g_DeathBGM.PlayBGM(86f);
					}
					bgm2.g_DeathBGM.PlayBGM(54f);
				}
				BGM g_DeathBGM2 = bgm2.g_DeathBGM;
				int num4 = 0;
				g_DeathBGM2.PlayBGM((float)num4);
			}
			Debug.Log("找不到死亡音樂");
		}
		IL_8E:
		int num5;
		Action action = new Action(num5.OpenPlayerDeathMessageBox);
		num5 = 0;
		Game.BindAnyKeyDownHandler(action);
		if (this.bossDialogue != CombatDialogueType.None)
		{
			int num6;
			SceneManager.<PlayBossDialogue>d__67 <PlayBossDialogue>d__ = new SceneManager.<PlayBossDialogue>d__67(num6);
			num6 = 0;
			<PlayBossDialogue>d__.<>4__this = this;
			CoroutineHandle coroutineHandle = MECExtensionMethods1.RunCoroutine(<PlayBossDialogue>d__);
		}
	}

	// Token: 0x06001460 RID: 5216 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001460")]
	[Address(RVA = "0x4384D0", Offset = "0x4372D0", VA = "0x1804384D0")]
	private IEnumerator<float> PlayBossDialogue()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001461 RID: 5217 RVA: 0x0002E704 File Offset: 0x0002C904
	[Token(Token = "0x6001461")]
	[Address(RVA = "0x438540", Offset = "0x437340", VA = "0x180438540")]
	public void PlayPartnerDialogue()
	{
		this.stageUI.PlayPartnerDialogue();
	}

	// Token: 0x06001462 RID: 5218 RVA: 0x0002E724 File Offset: 0x0002C924
	[Token(Token = "0x6001462")]
	[Address(RVA = "0x438680", Offset = "0x437480", VA = "0x180438680")]
	public void ResetAllEnemy()
	{
		this.enemiesManager.ResetEnemyDeath();
	}

	// Token: 0x06001463 RID: 5219 RVA: 0x0002E744 File Offset: 0x0002C944
	[Token(Token = "0x6001463")]
	[Address(RVA = "0x4386B0", Offset = "0x4374B0", VA = "0x1804386B0")]
	public void ResetAllScriptSceneEvent()
	{
		SaveSystem save = this.Save;
		int num = 0;
		if (save != num && this.Save.gameObject.activeSelf)
		{
			ScriptSceneEventEnable[] components = this.Save.GetComponents<ScriptSceneEventEnable>();
			int num2 = 0;
			int length = components.Length;
			if (num2 < length)
			{
				components[num2].CloseScriptEvent();
				num2++;
			}
		}
	}

	// Token: 0x06001464 RID: 5220 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001464")]
	[Address(RVA = "0x438BE0", Offset = "0x4379E0", VA = "0x180438BE0")]
	public void UnlockAchievements(GameAchievement achievement)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001465 RID: 5221 RVA: 0x0002E7A8 File Offset: 0x0002C9A8
	[Token(Token = "0x6001465")]
	[Address(RVA = "0x438910", Offset = "0x437710", VA = "0x180438910")]
	public void SetDodgeTime()
	{
		Game.EnablePlayerHitStop(0.3f, 0.6f);
		Game.EnableStageHitStop(0.3f, 0.6f);
	}

	// Token: 0x06001466 RID: 5222 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001466")]
	[Address(RVA = "0x437840", Offset = "0x436640", VA = "0x180437840")]
	public void MarkTreasureChestDataUnlocked(int index)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001467 RID: 5223 RVA: 0x0002E7D4 File Offset: 0x0002C9D4
	[Token(Token = "0x6001467")]
	[Address(RVA = "0x3EFFB0", Offset = "0x3EEDB0", VA = "0x1803EFFB0")]
	public WizardGirlManage GetPlayerManager()
	{
		return this.wizardGirl;
	}

	// Token: 0x06001468 RID: 5224 RVA: 0x0002E7E8 File Offset: 0x0002C9E8
	[Token(Token = "0x6001468")]
	[Address(RVA = "0x436370", Offset = "0x435170", VA = "0x180436370")]
	public AchievementsSystem GetAchievementsSystem()
	{
		return this.achievementSystem;
	}

	// Token: 0x06001469 RID: 5225 RVA: 0x0002E7FC File Offset: 0x0002C9FC
	[Token(Token = "0x6001469")]
	[Address(RVA = "0x4351E0", Offset = "0x433FE0", VA = "0x1804351E0")]
	public void AddEffect(EffectPool source)
	{
		this.timeScaledEffects.Add(source);
		float stageTimeScale = Game.GetStageTimeScale();
		source.SetTimeScale(stageTimeScale);
	}

	// Token: 0x0600146A RID: 5226 RVA: 0x0002E82C File Offset: 0x0002CA2C
	[Token(Token = "0x600146A")]
	[Address(RVA = "0x435140", Offset = "0x433F40", VA = "0x180435140")]
	public void AddEffect(EffectPoolFull source)
	{
		this.timeScaledFullEffects.Add(source);
		float stageTimeScale = Game.GetStageTimeScale();
		source.SetTimeScale(stageTimeScale);
	}

	// Token: 0x0600146B RID: 5227 RVA: 0x0002E85C File Offset: 0x0002CA5C
	[Token(Token = "0x600146B")]
	[Address(RVA = "0x435330", Offset = "0x434130", VA = "0x180435330")]
	public void AddSound(SoundEffect source)
	{
		this.timeScaledSounds.Add(source);
		float stageTimeScale = Game.GetStageTimeScale();
		source.SetTimeScale(stageTimeScale);
	}

	// Token: 0x0600146C RID: 5228 RVA: 0x0002E88C File Offset: 0x0002CA8C
	[Token(Token = "0x600146C")]
	[Address(RVA = "0x4350E0", Offset = "0x433EE0", VA = "0x1804350E0")]
	public void AddDisposeHandler(IDisposable handler)
	{
		this.disposeHandlers.Add(handler);
	}

	// Token: 0x0600146D RID: 5229 RVA: 0x0002E8AC File Offset: 0x0002CAAC
	[Token(Token = "0x600146D")]
	[Address(RVA = "0x435280", Offset = "0x434080", VA = "0x180435280")]
	public void AddNpc(NPC npc)
	{
		this.timeScaledNpc.Add(npc);
		float stageTimeScale = Game.GetStageTimeScale();
		object value = ((IValueProvider)npc).GetValue(npc);
	}

	// Token: 0x0600146E RID: 5230 RVA: 0x0002E8DC File Offset: 0x0002CADC
	[Token(Token = "0x600146E")]
	[Address(RVA = "0x438620", Offset = "0x437420", VA = "0x180438620")]
	public void RemoveNpc(NPC npc)
	{
		bool flag = this.timeScaledNpc.Remove(npc);
	}

	// Token: 0x0600146F RID: 5231 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600146F")]
	[Address(RVA = "0x435010", Offset = "0x433E10", VA = "0x180435010")]
	public void AddAttackable(AttackableObject attackableObject)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001470 RID: 5232 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001470")]
	[Address(RVA = "0x438560", Offset = "0x437360", VA = "0x180438560")]
	public void RemoveAttackable(AttackableObject attackableObject)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001471 RID: 5233 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001471")]
	[Address(RVA = "0x436590", Offset = "0x435390", VA = "0x180436590")]
	public Dictionary<int, Vector3> GetNearAttackable(Vector3 unitPos)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001472 RID: 5234 RVA: 0x0002E8FC File Offset: 0x0002CAFC
	[Token(Token = "0x6001472")]
	[Address(RVA = "0x436520", Offset = "0x435320", VA = "0x180436520")]
	public ItemSystem GetItemManager()
	{
		return this.itemSystem;
	}

	// Token: 0x06001473 RID: 5235 RVA: 0x0002E910 File Offset: 0x0002CB10
	[Token(Token = "0x6001473")]
	[Address(RVA = "0x3EFFF0", Offset = "0x3EEDF0", VA = "0x1803EFFF0")]
	public EnemiesManager GetEnemiesManager()
	{
		return this.enemiesManager;
	}

	// Token: 0x06001474 RID: 5236 RVA: 0x0002E924 File Offset: 0x0002CB24
	[Token(Token = "0x6001474")]
	[Address(RVA = "0x436570", Offset = "0x435370", VA = "0x180436570")]
	public LockPointsManager GetLockPointsManager()
	{
		return this.enemiesManager.<LockPointsManager>k__BackingField;
	}

	// Token: 0x06001475 RID: 5237 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001475")]
	[Address(RVA = "0x435EE0", Offset = "0x434CE0", VA = "0x180435EE0")]
	public void CreateSoul(SoulSystem.SoulType Type, Vector3 Pos, int iNum)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001476 RID: 5238 RVA: 0x0002E944 File Offset: 0x0002CB44
	[Token(Token = "0x6001476")]
	[Address(RVA = "0x435CC0", Offset = "0x434AC0", VA = "0x180435CC0")]
	public void CalculateSceneSouls()
	{
		WizardGirlManage wizardGirlManage = this.wizardGirl;
		SoulSystem soulSystem = this.soulSystem;
		if (!wizardGirlManage.GetIsDead())
		{
			float sceneMoney = soulSystem.GetSceneMoney();
			int num = Mathf.RoundToInt(sceneMoney);
			Game.GameSave.stats.currentMoney = sceneMoney;
			int num2 = Game.Collection.IncreaseSoulAcquired(num);
		}
	}

	// Token: 0x06001477 RID: 5239 RVA: 0x0002E9A0 File Offset: 0x0002CBA0
	[Token(Token = "0x6001477")]
	[Address(RVA = "0x436450", Offset = "0x435250", VA = "0x180436450")]
	public Transform GetCharacterParent()
	{
		return this.children[0];
	}

	// Token: 0x06001478 RID: 5240 RVA: 0x0002E9C0 File Offset: 0x0002CBC0
	[Token(Token = "0x6001478")]
	[Address(RVA = "0x4364D0", Offset = "0x4352D0", VA = "0x1804364D0")]
	public Transform GetEnemyEffectParent()
	{
		return this.children[1];
	}

	// Token: 0x06001479 RID: 5241 RVA: 0x0002E9E0 File Offset: 0x0002CBE0
	[Token(Token = "0x6001479")]
	[Address(RVA = "0x436490", Offset = "0x435290", VA = "0x180436490")]
	public Transform GetEffectParent()
	{
		return this.children[2];
	}

	// Token: 0x0600147A RID: 5242 RVA: 0x0002EA00 File Offset: 0x0002CC00
	[Token(Token = "0x600147A")]
	[Address(RVA = "0x436530", Offset = "0x435330", VA = "0x180436530")]
	public Transform GetItemParent()
	{
		return this.children[3];
	}

	// Token: 0x0600147B RID: 5243 RVA: 0x0002EA20 File Offset: 0x0002CC20
	[Token(Token = "0x600147B")]
	[Address(RVA = "0x436800", Offset = "0x435600", VA = "0x180436800")]
	public Transform GetSoulParent()
	{
		return this.children[4];
	}

	// Token: 0x0600147C RID: 5244 RVA: 0x0002EA40 File Offset: 0x0002CC40
	[Token(Token = "0x600147C")]
	[Address(RVA = "0x436840", Offset = "0x435640", VA = "0x180436840")]
	public Transform GetSoundParent()
	{
		return this.children[5];
	}

	// Token: 0x0600147D RID: 5245 RVA: 0x0002EA60 File Offset: 0x0002CC60
	[Token(Token = "0x600147D")]
	[Address(RVA = "0x436380", Offset = "0x435180", VA = "0x180436380")]
	public Transform GetBGMParent()
	{
		return this.children[6];
	}

	// Token: 0x0600147E RID: 5246 RVA: 0x0002EA80 File Offset: 0x0002CC80
	[Token(Token = "0x600147E")]
	[Address(RVA = "0x439230", Offset = "0x438030", VA = "0x180439230")]
	public SceneManager()
	{
		List<SoundEffect> list = new List();
		this.timeScaledSounds = list;
		ulong num;
		this.originalGravity.z = (float)num;
		EnemiesManager enemiesManager = new EnemiesManager();
		this.enemiesManager = enemiesManager;
		ItemSystem itemSystem = new ItemSystem();
		this.itemSystem = itemSystem;
		SoulSystem soulSystem = new SoulSystem();
		this.soulSystem = soulSystem;
		this.scriptSystem = new ScriptMode
		{
			g_sVersionText = "V011"
		};
		AchievementsSystem achievementsSystem = new AchievementsSystem();
		this.achievementSystem = achievementsSystem;
		List<AttackableObject> list2 = new List();
		this.timeAttackables = list2;
		List<NPC> list3 = new List();
		this.timeScaledNpc = list3;
		List<EffectPool> list4 = new List();
		this.timeScaledEffects = list4;
		List<EffectPoolFull> list5 = new List();
		this.timeScaledFullEffects = list5;
		List<IDisposable> list6 = new List();
		this.disposeHandlers = list6;
		base..ctor();
	}

	// Token: 0x04001F8E RID: 8078
	[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001F8E")]
	public GameObject PlayerObj;

	// Token: 0x04001F8F RID: 8079
	[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001F8F")]
	public GameObject CameraObj;

	// Token: 0x04001F90 RID: 8080
	[Cpp2IlInjected.FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4001F90")]
	public Vector3 g_v3PlayerPos;

	// Token: 0x04001F91 RID: 8081
	[Cpp2IlInjected.FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4001F91")]
	public SaveSystem Save;

	// Token: 0x04001F92 RID: 8082
	[Cpp2IlInjected.FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4001F92")]
	public SceneEventManager SEM;

	// Token: 0x04001F93 RID: 8083
	[Cpp2IlInjected.FieldOffset(Offset = "0x48")]
	[Token(Token = "0x4001F93")]
	public SceneBGMController BGM;

	// Token: 0x04001F94 RID: 8084
	[Cpp2IlInjected.FieldOffset(Offset = "0x50")]
	[Token(Token = "0x4001F94")]
	public VoiceController Voice;

	// Token: 0x04001F95 RID: 8085
	[Cpp2IlInjected.FieldOffset(Offset = "0x58")]
	[Token(Token = "0x4001F95")]
	public SceneManager.GameState stageState;

	// Token: 0x04001F96 RID: 8086
	[Cpp2IlInjected.FieldOffset(Offset = "0x60")]
	[Token(Token = "0x4001F96")]
	private Camera stageCam;

	// Token: 0x04001F97 RID: 8087
	[Cpp2IlInjected.FieldOffset(Offset = "0x68")]
	[Token(Token = "0x4001F97")]
	[SerializeField]
	private StageUIManager stageUI;

	// Token: 0x04001F98 RID: 8088
	[Cpp2IlInjected.FieldOffset(Offset = "0x70")]
	[Token(Token = "0x4001F98")]
	[SerializeField]
	private Transform[] children;

	// Token: 0x04001F99 RID: 8089
	[Cpp2IlInjected.FieldOffset(Offset = "0x78")]
	[Token(Token = "0x4001F99")]
	[SerializeField]
	private PassiveEvent[] passiveEvents;

	// Token: 0x04001F9A RID: 8090
	[Cpp2IlInjected.FieldOffset(Offset = "0x80")]
	[Token(Token = "0x4001F9A")]
	[SerializeField]
	private List<SoundEffect> timeScaledSounds;

	// Token: 0x04001F9B RID: 8091
	[Cpp2IlInjected.FieldOffset(Offset = "0x88")]
	[Token(Token = "0x4001F9B")]
	[SerializeField]
	private CombatDialogueType bossDialogue;

	// Token: 0x04001F9C RID: 8092
	[Cpp2IlInjected.FieldOffset(Offset = "0x8C")]
	[Token(Token = "0x4001F9C")]
	[SerializeField]
	private bool isBossAttacking;

	// Token: 0x04001F9D RID: 8093
	[Cpp2IlInjected.FieldOffset(Offset = "0x90")]
	[Token(Token = "0x4001F9D")]
	private readonly Vector3 originalGravity;

	// Token: 0x04001F9E RID: 8094
	[Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
	[Token(Token = "0x4001F9E")]
	private WizardGirlManage wizardGirl;

	// Token: 0x04001F9F RID: 8095
	[Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
	[Token(Token = "0x4001F9F")]
	private EnemiesManager enemiesManager;

	// Token: 0x04001FA0 RID: 8096
	[Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
	[Token(Token = "0x4001FA0")]
	private ItemSystem itemSystem;

	// Token: 0x04001FA1 RID: 8097
	[Cpp2IlInjected.FieldOffset(Offset = "0xB8")]
	[Token(Token = "0x4001FA1")]
	private SoulSystem soulSystem;

	// Token: 0x04001FA2 RID: 8098
	[Cpp2IlInjected.FieldOffset(Offset = "0xC0")]
	[Token(Token = "0x4001FA2")]
	private ScriptMode scriptSystem;

	// Token: 0x04001FA3 RID: 8099
	[Cpp2IlInjected.FieldOffset(Offset = "0xC8")]
	[Token(Token = "0x4001FA3")]
	private AchievementsSystem achievementSystem;

	// Token: 0x04001FA4 RID: 8100
	[Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
	[Token(Token = "0x4001FA4")]
	private bool onSystemMenu;

	// Token: 0x04001FA5 RID: 8101
	[Cpp2IlInjected.FieldOffset(Offset = "0xD8")]
	[Token(Token = "0x4001FA5")]
	private bool[] treasureChestData;

	// Token: 0x04001FA6 RID: 8102
	[Cpp2IlInjected.FieldOffset(Offset = "0xE0")]
	[Token(Token = "0x4001FA6")]
	private string stageName;

	// Token: 0x04001FA7 RID: 8103
	[Cpp2IlInjected.FieldOffset(Offset = "0xE8")]
	[Token(Token = "0x4001FA7")]
	private int stageId;

	// Token: 0x04001FA8 RID: 8104
	[Cpp2IlInjected.FieldOffset(Offset = "0xEC")]
	[Token(Token = "0x4001FA8")]
	private int currentAttackableId;

	// Token: 0x04001FA9 RID: 8105
	[Cpp2IlInjected.FieldOffset(Offset = "0xF0")]
	[Token(Token = "0x4001FA9")]
	private List<AttackableObject> timeAttackables;

	// Token: 0x04001FAA RID: 8106
	[Cpp2IlInjected.FieldOffset(Offset = "0xF8")]
	[Token(Token = "0x4001FAA")]
	private List<NPC> timeScaledNpc;

	// Token: 0x04001FAB RID: 8107
	[Cpp2IlInjected.FieldOffset(Offset = "0x100")]
	[Token(Token = "0x4001FAB")]
	private List<EffectPool> timeScaledEffects;

	// Token: 0x04001FAC RID: 8108
	[Cpp2IlInjected.FieldOffset(Offset = "0x108")]
	[Token(Token = "0x4001FAC")]
	private List<EffectPoolFull> timeScaledFullEffects;

	// Token: 0x04001FAD RID: 8109
	[Cpp2IlInjected.FieldOffset(Offset = "0x110")]
	[Token(Token = "0x4001FAD")]
	private List<IDisposable> disposeHandlers;

	// Token: 0x04001FAE RID: 8110
	[Cpp2IlInjected.FieldOffset(Offset = "0x118")]
	[Token(Token = "0x4001FAE")]
	private GameObject[] areaEffects;

	// Token: 0x04001FAF RID: 8111
	[Cpp2IlInjected.FieldOffset(Offset = "0x120")]
	[Token(Token = "0x4001FAF")]
	private GameObject[] attackGroups;

	// Token: 0x04001FB0 RID: 8112
	[Cpp2IlInjected.FieldOffset(Offset = "0x128")]
	[Token(Token = "0x4001FB0")]
	private SpatialHashManager spatialHashManager;

	// Token: 0x02000205 RID: 517
	[Token(Token = "0x2000205")]
	public enum GameState
	{
		// Token: 0x04001FB2 RID: 8114
		[Token(Token = "0x4001FB2")]
		Normal,
		// Token: 0x04001FB3 RID: 8115
		[Token(Token = "0x4001FB3")]
		Death,
		// Token: 0x04001FB4 RID: 8116
		[Token(Token = "0x4001FB4")]
		Script,
		// Token: 0x04001FB5 RID: 8117
		[Token(Token = "0x4001FB5")]
		SaveUI
	}

	// Token: 0x02000206 RID: 518
	[Token(Token = "0x2000206")]
	public enum SoundWaveType
	{
		// Token: 0x04001FB7 RID: 8119
		[Token(Token = "0x4001FB7")]
		Battle,
		// Token: 0x04001FB8 RID: 8120
		[Token(Token = "0x4001FB8")]
		Footstep
	}
}
