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

namespace MTAssets.UltimateLODSystem
{
	// Token: 0x020005F2 RID: 1522
	[Token(Token = "0x20005F2")]
	[AddComponentMenu("")]
	public class RuntimeCameraDetector : MonoBehaviour
	{
		// Token: 0x06002FD4 RID: 12244 RVA: 0x00065BAC File Offset: 0x00063DAC
		[Token(Token = "0x6002FD4")]
		[Address(RVA = "0x42F450", Offset = "0x42E250", VA = "0x18042F450")]
		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: 0x06002FD5 RID: 12245 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002FD5")]
		[Address(RVA = "0x42F3E0", Offset = "0x42E1E0", VA = "0x18042F3E0")]
		private IEnumerator ArrayOfCamerasDelayedUpdater()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002FD6 RID: 12246 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002FD6")]
		[Address(RVA = "0x42F540", Offset = "0x42E340", VA = "0x18042F540")]
		private IEnumerator CurrentCameraOnScreenDetector()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002FD7 RID: 12247 RVA: 0x00065C08 File Offset: 0x00063E08
		[Token(Token = "0x6002FD7")]
		[Address(RVA = "0x42F5B0", Offset = "0x42E3B0", VA = "0x18042F5B0")]
		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: 0x04003A12 RID: 14866
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003A12")]
		private WaitForSecondsRealtime DELAY_BETWEEN_ARRAY_OF_CAMERAS_UPDATE;

		// Token: 0x04003A13 RID: 14867
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4003A13")]
		private WaitForSecondsRealtime DELAY_BETWEEN_CURRENT_CAMERA_DETECTOR;

		// Token: 0x04003A14 RID: 14868
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4003A14")]
		private Camera[] currentArrayOfCameras;
	}
}
