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

// Token: 0x0200018E RID: 398
[Token(Token = "0x200018E")]
public class LoaderSceneManager : GameSceneBase
{
	// Token: 0x0600133F RID: 4927 RVA: 0x0002B798 File Offset: 0x00029998
	[Token(Token = "0x600133F")]
	[Address(RVA = "0x41E850", Offset = "0x41D850", VA = "0x18041E850", 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: 0x06001340 RID: 4928 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001340")]
	[Address(RVA = "0x41EB80", Offset = "0x41DB80", VA = "0x18041EB80")]
	private IEnumerator<float> Ready()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001341 RID: 4929 RVA: 0x0002B7D8 File Offset: 0x000299D8
	[Token(Token = "0x6001341")]
	[Address(RVA = "0x41E9E0", Offset = "0x41D9E0", VA = "0x18041E9E0")]
	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: 0x06001342 RID: 4930 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001342")]
	[Address(RVA = "0x41EB10", Offset = "0x41DB10", VA = "0x18041EB10")]
	private IEnumerator<float> ProcessLoading()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001343 RID: 4931 RVA: 0x0002B82C File Offset: 0x00029A2C
	[Token(Token = "0x6001343")]
	[Address(RVA = "0x41ECA0", Offset = "0x41DCA0", VA = "0x18041ECA0")]
	private void UpdateProgress(float progressValue = -1f)
	{
		if (0 > (int)progressValue)
		{
		}
		Game.GetSceneLoadingUI().UpdateProgress(progressValue);
	}

	// Token: 0x06001344 RID: 4932 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001344")]
	[Address(RVA = "0x41E650", Offset = "0x41D650", VA = "0x18041E650")]
	private void CompleteLoading()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001345 RID: 4933 RVA: 0x0002B850 File Offset: 0x00029A50
	[Token(Token = "0x6001345")]
	[Address(RVA = "0x41E920", Offset = "0x41D920", VA = "0x18041E920")]
	private void HideLoading()
	{
		UISceneLoading sceneLoadingUI = Game.GetSceneLoadingUI();
		Action action = delegate
		{
			Game.FinishSceneLoading(this.loader);
		};
		sceneLoadingUI.Hide(action);
	}

	// Token: 0x06001346 RID: 4934 RVA: 0x0002B880 File Offset: 0x00029A80
	[Token(Token = "0x6001346")]
	[Address(RVA = "0x41ED30", Offset = "0x41DD30", VA = "0x18041ED30")]
	public LoaderSceneManager()
	{
	}

	// Token: 0x04001D14 RID: 7444
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001D14")]
	private AsyncOperation loader;

	// Token: 0x04001D15 RID: 7445
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001D15")]
	private float progress;
}
