using System;
using System.Collections;
using Cpp2IlInjected;
using UnityEngine;

namespace MTAssets.UltimateLODSystem
{
	// Token: 0x0200064A RID: 1610
	[Token(Token = "0x200064A")]
	[AddComponentMenu("")]
	public class RuntimeCameraDetector : MonoBehaviour
	{
		// Token: 0x0600329D RID: 12957 RVA: 0x0006CE7C File Offset: 0x0006B07C
		[Token(Token = "0x600329D")]
		[Address(RVA = "0x5097D0", Offset = "0x5087D0", VA = "0x1805097D0")]
		public void Awake()
		{
			Camera[] allCameras = Camera.allCameras;
			this.currentArrayOfCameras = allCameras;
			int num;
			RuntimeCameraDetector.<ArrayOfCamerasDelayedUpdater>d__4 <ArrayOfCamerasDelayedUpdater>d__ = new RuntimeCameraDetector.<ArrayOfCamerasDelayedUpdater>d__4(num);
			num = 0;
			<ArrayOfCamerasDelayedUpdater>d__.<>4__this = this;
			Coroutine coroutine = base.StartCoroutine(<ArrayOfCamerasDelayedUpdater>d__);
			int num2;
			RuntimeCameraDetector.<CurrentCameraOnScreenDetector>d__5 <CurrentCameraOnScreenDetector>d__ = new RuntimeCameraDetector.<CurrentCameraOnScreenDetector>d__5(num2);
			num2 = 0;
			<CurrentCameraOnScreenDetector>d__.<>4__this = this;
			Coroutine coroutine2 = base.StartCoroutine(<CurrentCameraOnScreenDetector>d__);
		}

		// Token: 0x0600329E RID: 12958 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600329E")]
		[Address(RVA = "0x509760", Offset = "0x508760", VA = "0x180509760")]
		private IEnumerator ArrayOfCamerasDelayedUpdater()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600329F RID: 12959 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600329F")]
		[Address(RVA = "0x5098C0", Offset = "0x5088C0", VA = "0x1805098C0")]
		private IEnumerator CurrentCameraOnScreenDetector()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060032A0 RID: 12960 RVA: 0x0006CED8 File Offset: 0x0006B0D8
		[Token(Token = "0x60032A0")]
		[Address(RVA = "0x509930", Offset = "0x508930", VA = "0x180509930")]
		public RuntimeCameraDetector()
		{
			WaitForSecondsRealtime waitForSecondsRealtime = new WaitForSecondsRealtime(0.5f);
			this.DELAY_BETWEEN_ARRAY_OF_CAMERAS_UPDATE = waitForSecondsRealtime;
			WaitForSecondsRealtime waitForSecondsRealtime2 = new WaitForSecondsRealtime(0.09f);
			this.DELAY_BETWEEN_CURRENT_CAMERA_DETECTOR = waitForSecondsRealtime2;
			Camera[] array = new Camera[0];
			this.currentArrayOfCameras = array;
			base..ctor();
		}

		// Token: 0x04003CFC RID: 15612
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003CFC")]
		private WaitForSecondsRealtime DELAY_BETWEEN_ARRAY_OF_CAMERAS_UPDATE;

		// Token: 0x04003CFD RID: 15613
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4003CFD")]
		private WaitForSecondsRealtime DELAY_BETWEEN_CURRENT_CAMERA_DETECTOR;

		// Token: 0x04003CFE RID: 15614
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4003CFE")]
		private Camera[] currentArrayOfCameras;
	}
}
