using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;
using Il2CppSystem.Collections;
using UnityEngine;

namespace MTAssets.UltimateLODSystem
{
	// Token: 0x0200060D RID: 1549
	public class RuntimeCameraDetector : MonoBehaviour
	{
		// Token: 0x06009F2B RID: 40747 RVA: 0x0028BD44 File Offset: 0x00289F44
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623033, XrefRangeEnd = 623048, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Awake()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector.NativeMethodInfoPtr_Awake_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009F2C RID: 40748 RVA: 0x0028BD88 File Offset: 0x00289F88
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623048, XrefRangeEnd = 623053, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IEnumerator ArrayOfCamerasDelayedUpdater()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector.NativeMethodInfoPtr_ArrayOfCamerasDelayedUpdater_Private_IEnumerator_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new IEnumerator(intPtr3) : null;
		}

		// Token: 0x06009F2D RID: 40749 RVA: 0x0028BDE0 File Offset: 0x00289FE0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623053, XrefRangeEnd = 623058, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IEnumerator CurrentCameraOnScreenDetector()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector.NativeMethodInfoPtr_CurrentCameraOnScreenDetector_Private_IEnumerator_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new IEnumerator(intPtr3) : null;
		}

		// Token: 0x06009F2E RID: 40750 RVA: 0x0028BE38 File Offset: 0x0028A038
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623058, XrefRangeEnd = 623072, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe RuntimeCameraDetector()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009F2F RID: 40751 RVA: 0x0028BE84 File Offset: 0x0028A084
		// Note: this type is marked as 'beforefieldinit'.
		static RuntimeCameraDetector()
		{
			Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "MTAssets.UltimateLODSystem", "RuntimeCameraDetector");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr);
			RuntimeCameraDetector.NativeFieldInfoPtr_DELAY_BETWEEN_ARRAY_OF_CAMERAS_UPDATE = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr, "DELAY_BETWEEN_ARRAY_OF_CAMERAS_UPDATE");
			RuntimeCameraDetector.NativeFieldInfoPtr_DELAY_BETWEEN_CURRENT_CAMERA_DETECTOR = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr, "DELAY_BETWEEN_CURRENT_CAMERA_DETECTOR");
			RuntimeCameraDetector.NativeFieldInfoPtr_currentArrayOfCameras = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr, "currentArrayOfCameras");
			RuntimeCameraDetector.NativeMethodInfoPtr_Awake_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr, 100675540);
			RuntimeCameraDetector.NativeMethodInfoPtr_ArrayOfCamerasDelayedUpdater_Private_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr, 100675541);
			RuntimeCameraDetector.NativeMethodInfoPtr_CurrentCameraOnScreenDetector_Private_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr, 100675542);
			RuntimeCameraDetector.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr, 100675543);
		}

		// Token: 0x06009F30 RID: 40752 RVA: 0x0000351C File Offset: 0x0000171C
		public RuntimeCameraDetector(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003602 RID: 13826
		// (get) Token: 0x06009F31 RID: 40753 RVA: 0x0028BF40 File Offset: 0x0028A140
		// (set) Token: 0x06009F32 RID: 40754 RVA: 0x0028BF74 File Offset: 0x0028A174
		public unsafe WaitForSecondsRealtime DELAY_BETWEEN_ARRAY_OF_CAMERAS_UPDATE
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector.NativeFieldInfoPtr_DELAY_BETWEEN_ARRAY_OF_CAMERAS_UPDATE);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new WaitForSecondsRealtime(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector.NativeFieldInfoPtr_DELAY_BETWEEN_ARRAY_OF_CAMERAS_UPDATE), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003603 RID: 13827
		// (get) Token: 0x06009F33 RID: 40755 RVA: 0x0028BF9C File Offset: 0x0028A19C
		// (set) Token: 0x06009F34 RID: 40756 RVA: 0x0028BFD0 File Offset: 0x0028A1D0
		public unsafe WaitForSecondsRealtime DELAY_BETWEEN_CURRENT_CAMERA_DETECTOR
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector.NativeFieldInfoPtr_DELAY_BETWEEN_CURRENT_CAMERA_DETECTOR);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new WaitForSecondsRealtime(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector.NativeFieldInfoPtr_DELAY_BETWEEN_CURRENT_CAMERA_DETECTOR), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003604 RID: 13828
		// (get) Token: 0x06009F35 RID: 40757 RVA: 0x0028BFF8 File Offset: 0x0028A1F8
		// (set) Token: 0x06009F36 RID: 40758 RVA: 0x0028C02C File Offset: 0x0028A22C
		public unsafe Il2CppReferenceArray<Camera> currentArrayOfCameras
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector.NativeFieldInfoPtr_currentArrayOfCameras);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<Camera>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector.NativeFieldInfoPtr_currentArrayOfCameras), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04006A96 RID: 27286
		private static readonly IntPtr NativeFieldInfoPtr_DELAY_BETWEEN_ARRAY_OF_CAMERAS_UPDATE;

		// Token: 0x04006A97 RID: 27287
		private static readonly IntPtr NativeFieldInfoPtr_DELAY_BETWEEN_CURRENT_CAMERA_DETECTOR;

		// Token: 0x04006A98 RID: 27288
		private static readonly IntPtr NativeFieldInfoPtr_currentArrayOfCameras;

		// Token: 0x04006A99 RID: 27289
		private static readonly IntPtr NativeMethodInfoPtr_Awake_Public_Void_0;

		// Token: 0x04006A9A RID: 27290
		private static readonly IntPtr NativeMethodInfoPtr_ArrayOfCamerasDelayedUpdater_Private_IEnumerator_0;

		// Token: 0x04006A9B RID: 27291
		private static readonly IntPtr NativeMethodInfoPtr_CurrentCameraOnScreenDetector_Private_IEnumerator_0;

		// Token: 0x04006A9C RID: 27292
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x0200060E RID: 1550
		[ObfuscatedName("MTAssets.UltimateLODSystem.RuntimeCameraDetector/<ArrayOfCamerasDelayedUpdater>d__4")]
		public sealed class _ArrayOfCamerasDelayedUpdater_d__4 : Il2CppSystem.Object
		{
			// Token: 0x06009F37 RID: 40759 RVA: 0x0028C054 File Offset: 0x0028A254
			[CallerCount(323)]
			[CachedScanResults(RefRangeStart = 12254, RefRangeEnd = 12577, XrefRangeStart = 12254, XrefRangeEnd = 12577, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe _ArrayOfCamerasDelayedUpdater_d__4(int <>1__state)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr))
			{
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref <>1__state;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr__ctor_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x06009F38 RID: 40760 RVA: 0x0028C0B4 File Offset: 0x0028A2B4
			[CallerCount(5585)]
			[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5609, XrefRangeStart = 24, XrefRangeEnd = 5609, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void System_IDisposable_Dispose()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06009F39 RID: 40761 RVA: 0x0028C0F8 File Offset: 0x0028A2F8
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623015, XrefRangeEnd = 623019, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe bool MoveNext()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}

			// Token: 0x17003608 RID: 13832
			// (get) Token: 0x06009F3A RID: 40762 RVA: 0x0028C148 File Offset: 0x0028A348
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
				}
			}

			// Token: 0x06009F3B RID: 40763 RVA: 0x0028C1A0 File Offset: 0x0028A3A0
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623019, XrefRangeEnd = 623024, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void System_Collections_IEnumerator_Reset()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x17003609 RID: 13833
			// (get) Token: 0x06009F3C RID: 40764 RVA: 0x0028C1E4 File Offset: 0x0028A3E4
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
				}
			}

			// Token: 0x06009F3D RID: 40765 RVA: 0x0028C23C File Offset: 0x0028A43C
			// Note: this type is marked as 'beforefieldinit'.
			static _ArrayOfCamerasDelayedUpdater_d__4()
			{
				Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr, "<ArrayOfCamerasDelayedUpdater>d__4");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr);
				RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeFieldInfoPtr___1__state = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr, "<>1__state");
				RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeFieldInfoPtr___2__current = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr, "<>2__current");
				RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr, "<>4__this");
				RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr__ctor_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr, 100675544);
				RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr, 100675545);
				RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr, 100675546);
				RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr, 100675547);
				RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr, 100675548);
				RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4>.NativeClassPtr, 100675549);
			}

			// Token: 0x06009F3E RID: 40766 RVA: 0x0000A688 File Offset: 0x00008888
			public _ArrayOfCamerasDelayedUpdater_d__4(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17003605 RID: 13829
			// (get) Token: 0x06009F3F RID: 40767 RVA: 0x0028C31C File Offset: 0x0028A51C
			// (set) Token: 0x06009F40 RID: 40768 RVA: 0x0028C344 File Offset: 0x0028A544
			public unsafe int __1__state
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeFieldInfoPtr___1__state);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeFieldInfoPtr___1__state)) = value;
				}
			}

			// Token: 0x17003606 RID: 13830
			// (get) Token: 0x06009F41 RID: 40769 RVA: 0x0028C368 File Offset: 0x0028A568
			// (set) Token: 0x06009F42 RID: 40770 RVA: 0x0028C39C File Offset: 0x0028A59C
			public unsafe Il2CppSystem.Object __2__current
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeFieldInfoPtr___2__current);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Il2CppSystem.Object(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeFieldInfoPtr___2__current), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17003607 RID: 13831
			// (get) Token: 0x06009F43 RID: 40771 RVA: 0x0028C3C4 File Offset: 0x0028A5C4
			// (set) Token: 0x06009F44 RID: 40772 RVA: 0x0028C3F8 File Offset: 0x0028A5F8
			public unsafe RuntimeCameraDetector __4__this
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeFieldInfoPtr___4__this);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new RuntimeCameraDetector(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._ArrayOfCamerasDelayedUpdater_d__4.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x04006A9D RID: 27293
			private static readonly IntPtr NativeFieldInfoPtr___1__state;

			// Token: 0x04006A9E RID: 27294
			private static readonly IntPtr NativeFieldInfoPtr___2__current;

			// Token: 0x04006A9F RID: 27295
			private static readonly IntPtr NativeFieldInfoPtr___4__this;

			// Token: 0x04006AA0 RID: 27296
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x04006AA1 RID: 27297
			private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

			// Token: 0x04006AA2 RID: 27298
			private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

			// Token: 0x04006AA3 RID: 27299
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

			// Token: 0x04006AA4 RID: 27300
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

			// Token: 0x04006AA5 RID: 27301
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
		}

		// Token: 0x0200060F RID: 1551
		[ObfuscatedName("MTAssets.UltimateLODSystem.RuntimeCameraDetector/<CurrentCameraOnScreenDetector>d__5")]
		public sealed class _CurrentCameraOnScreenDetector_d__5 : Il2CppSystem.Object
		{
			// Token: 0x06009F45 RID: 40773 RVA: 0x0028C420 File Offset: 0x0028A620
			[CallerCount(323)]
			[CachedScanResults(RefRangeStart = 12254, RefRangeEnd = 12577, XrefRangeStart = 12254, XrefRangeEnd = 12577, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe _CurrentCameraOnScreenDetector_d__5(int <>1__state)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr))
			{
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref <>1__state;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr__ctor_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x06009F46 RID: 40774 RVA: 0x0028C480 File Offset: 0x0028A680
			[CallerCount(5585)]
			[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5609, XrefRangeStart = 24, XrefRangeEnd = 5609, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void System_IDisposable_Dispose()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06009F47 RID: 40775 RVA: 0x0028C4C4 File Offset: 0x0028A6C4
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623024, XrefRangeEnd = 623028, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe bool MoveNext()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}

			// Token: 0x1700360D RID: 13837
			// (get) Token: 0x06009F48 RID: 40776 RVA: 0x0028C514 File Offset: 0x0028A714
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
				}
			}

			// Token: 0x06009F49 RID: 40777 RVA: 0x0028C56C File Offset: 0x0028A76C
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623028, XrefRangeEnd = 623033, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void System_Collections_IEnumerator_Reset()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x1700360E RID: 13838
			// (get) Token: 0x06009F4A RID: 40778 RVA: 0x0028C5B0 File Offset: 0x0028A7B0
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
				}
			}

			// Token: 0x06009F4B RID: 40779 RVA: 0x0028C608 File Offset: 0x0028A808
			// Note: this type is marked as 'beforefieldinit'.
			static _CurrentCameraOnScreenDetector_d__5()
			{
				Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<RuntimeCameraDetector>.NativeClassPtr, "<CurrentCameraOnScreenDetector>d__5");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr);
				RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeFieldInfoPtr___1__state = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr, "<>1__state");
				RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeFieldInfoPtr___2__current = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr, "<>2__current");
				RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr, "<>4__this");
				RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr__ctor_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr, 100675550);
				RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr, 100675551);
				RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr, 100675552);
				RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr, 100675553);
				RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr, 100675554);
				RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5>.NativeClassPtr, 100675555);
			}

			// Token: 0x06009F4C RID: 40780 RVA: 0x0000A688 File Offset: 0x00008888
			public _CurrentCameraOnScreenDetector_d__5(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x1700360A RID: 13834
			// (get) Token: 0x06009F4D RID: 40781 RVA: 0x0028C6E8 File Offset: 0x0028A8E8
			// (set) Token: 0x06009F4E RID: 40782 RVA: 0x0028C710 File Offset: 0x0028A910
			public unsafe int __1__state
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeFieldInfoPtr___1__state);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeFieldInfoPtr___1__state)) = value;
				}
			}

			// Token: 0x1700360B RID: 13835
			// (get) Token: 0x06009F4F RID: 40783 RVA: 0x0028C734 File Offset: 0x0028A934
			// (set) Token: 0x06009F50 RID: 40784 RVA: 0x0028C768 File Offset: 0x0028A968
			public unsafe Il2CppSystem.Object __2__current
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeFieldInfoPtr___2__current);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Il2CppSystem.Object(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeFieldInfoPtr___2__current), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x1700360C RID: 13836
			// (get) Token: 0x06009F51 RID: 40785 RVA: 0x0028C790 File Offset: 0x0028A990
			// (set) Token: 0x06009F52 RID: 40786 RVA: 0x0028C7C4 File Offset: 0x0028A9C4
			public unsafe RuntimeCameraDetector __4__this
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeFieldInfoPtr___4__this);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new RuntimeCameraDetector(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RuntimeCameraDetector._CurrentCameraOnScreenDetector_d__5.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x04006AA6 RID: 27302
			private static readonly IntPtr NativeFieldInfoPtr___1__state;

			// Token: 0x04006AA7 RID: 27303
			private static readonly IntPtr NativeFieldInfoPtr___2__current;

			// Token: 0x04006AA8 RID: 27304
			private static readonly IntPtr NativeFieldInfoPtr___4__this;

			// Token: 0x04006AA9 RID: 27305
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x04006AAA RID: 27306
			private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

			// Token: 0x04006AAB RID: 27307
			private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

			// Token: 0x04006AAC RID: 27308
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

			// Token: 0x04006AAD RID: 27309
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

			// Token: 0x04006AAE RID: 27310
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
		}
	}
}
