using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using MEC;
using UnityEngine;
using UnityEngine.SceneManagement;

// Token: 0x02000162 RID: 354
[Token(Token = "0x2000162")]
public class LoaderSceneManager : GameSceneBase
{
	// Token: 0x060011C7 RID: 4551 RVA: 0x00028980 File Offset: 0x00026B80
	[Token(Token = "0x60011C7")]
	[Address(RVA = "0x3FBAA0", Offset = "0x3FA8A0", VA = "0x1803FBAA0", Slot = "4")]
	public override void Enter()
	{
		this.UpdateProgress(-1f);
		int num = 0;
		Game.FadeInBlackScreen((float)0, num);
		int num2;
		LoaderSceneManager.<Ready>d__3 <Ready>d__ = new LoaderSceneManager.<Ready>d__3(num2);
		num2 = 0;
		<Ready>d__.<>4__this = this;
		CoroutineHandle coroutineHandle = MECExtensionMethods1.RunCoroutine(<Ready>d__);
	}

	// Token: 0x060011C8 RID: 4552 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011C8")]
	[Address(RVA = "0x3FBDD0", Offset = "0x3FABD0", VA = "0x1803FBDD0")]
	private IEnumerator<float> Ready()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011C9 RID: 4553 RVA: 0x000289C0 File Offset: 0x00026BC0
	[Token(Token = "0x60011C9")]
	[Address(RVA = "0x3FBC30", Offset = "0x3FAA30", VA = "0x1803FBC30")]
	private void LoadScene()
	{
		AsyncOperation asyncOperation = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(Game.SceneData.nextSceneName);
		this.loader = asyncOperation;
		AsyncOperation asyncOperation2 = this.loader;
		int num = 0;
		asyncOperation2.allowSceneActivation = num != 0;
		int num2;
		LoaderSceneManager.<ProcessLoading>d__5 <ProcessLoading>d__ = new LoaderSceneManager.<ProcessLoading>d__5(num2);
		num2 = 0;
		<ProcessLoading>d__.<>4__this = this;
		CoroutineHandle coroutineHandle = MECExtensionMethods1.RunCoroutine(<ProcessLoading>d__);
	}

	// Token: 0x060011CA RID: 4554 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011CA")]
	[Address(RVA = "0x3FBD60", Offset = "0x3FAB60", VA = "0x1803FBD60")]
	private IEnumerator<float> ProcessLoading()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011CB RID: 4555 RVA: 0x00028A14 File Offset: 0x00026C14
	[Token(Token = "0x60011CB")]
	[Address(RVA = "0x3FBEF0", Offset = "0x3FACF0", VA = "0x1803FBEF0")]
	private void UpdateProgress(float progressValue = -1f)
	{
		if (0 > (int)progressValue)
		{
		}
		Game.GetSceneLoadingUI().UpdateProgress(progressValue);
	}

	// Token: 0x060011CC RID: 4556 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011CC")]
	[Address(RVA = "0x3FB8A0", Offset = "0x3FA6A0", VA = "0x1803FB8A0")]
	private void CompleteLoading()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011CD RID: 4557 RVA: 0x00028A38 File Offset: 0x00026C38
	[Token(Token = "0x60011CD")]
	[Address(RVA = "0x3FBB70", Offset = "0x3FA970", VA = "0x1803FBB70")]
	private void HideLoading()
	{
		UISceneLoading sceneLoadingUI = Game.GetSceneLoadingUI();
		Action action = delegate
		{
			Game.FinishSceneLoading(this.loader);
		};
		sceneLoadingUI.Hide(action);
	}

	// Token: 0x060011CE RID: 4558 RVA: 0x00028A68 File Offset: 0x00026C68
	[Token(Token = "0x60011CE")]
	[Address(RVA = "0x3FBF80", Offset = "0x3FAD80", VA = "0x1803FBF80")]
	public LoaderSceneManager()
	{
	}

	// Token: 0x04001BA1 RID: 7073
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001BA1")]
	private AsyncOperation loader;

	// Token: 0x04001BA2 RID: 7074
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001BA2")]
	private float progress;
}
