using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;
using Il2CppSystem.Collections;
using Il2CppSystem.Diagnostics;

namespace Obi
{
	// Token: 0x020004D1 RID: 1233
	public class CoroutineJob : Object
	{
		// Token: 0x17003056 RID: 12374
		// (get) Token: 0x06008E6F RID: 36463 RVA: 0x0024A12C File Offset: 0x0024832C
		public unsafe Object Result
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob.NativeMethodInfoPtr_get_Result_Public_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new Object(intPtr3) : null;
			}
		}

		// Token: 0x17003057 RID: 12375
		// (get) Token: 0x06008E70 RID: 36464 RVA: 0x0024A184 File Offset: 0x00248384
		public unsafe bool IsDone
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob.NativeMethodInfoPtr_get_IsDone_Public_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x17003058 RID: 12376
		// (get) Token: 0x06008E71 RID: 36465 RVA: 0x0024A1D4 File Offset: 0x002483D4
		public unsafe bool RaisedException
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob.NativeMethodInfoPtr_get_RaisedException_Public_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06008E72 RID: 36466 RVA: 0x0024A224 File Offset: 0x00248424
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 610604, RefRangeEnd = 610605, XrefRangeStart = 610603, XrefRangeEnd = 610604, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Init()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob.NativeMethodInfoPtr_Init_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008E73 RID: 36467 RVA: 0x0024A268 File Offset: 0x00248468
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610605, XrefRangeEnd = 610622, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Object RunSynchronously(IEnumerator coroutine)
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(coroutine);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob.NativeMethodInfoPtr_RunSynchronously_Public_Static_Object_IEnumerator_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new Object(intPtr3) : null;
			}
		}

		// Token: 0x06008E74 RID: 36468 RVA: 0x0024A2C8 File Offset: 0x002484C8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610622, XrefRangeEnd = 610628, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IEnumerator Start(IEnumerator coroutine)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(coroutine);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob.NativeMethodInfoPtr_Start_Public_IEnumerator_IEnumerator_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new IEnumerator(intPtr3) : null;
			}
		}

		// Token: 0x06008E75 RID: 36469 RVA: 0x0024A338 File Offset: 0x00248538
		[CallerCount(0)]
		public unsafe void Stop()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob.NativeMethodInfoPtr_Stop_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008E76 RID: 36470 RVA: 0x0024A37C File Offset: 0x0024857C
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe CoroutineJob()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008E77 RID: 36471 RVA: 0x0024A3C8 File Offset: 0x002485C8
		// Note: this type is marked as 'beforefieldinit'.
		static CoroutineJob()
		{
			Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "CoroutineJob");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr);
			CoroutineJob.NativeFieldInfoPtr_result = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, "result");
			CoroutineJob.NativeFieldInfoPtr_isDone = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, "isDone");
			CoroutineJob.NativeFieldInfoPtr_raisedException = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, "raisedException");
			CoroutineJob.NativeFieldInfoPtr_stop = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, "stop");
			CoroutineJob.NativeFieldInfoPtr_e = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, "e");
			CoroutineJob.NativeFieldInfoPtr_asyncThreshold = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, "asyncThreshold");
			CoroutineJob.NativeMethodInfoPtr_get_Result_Public_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100674317);
			CoroutineJob.NativeMethodInfoPtr_get_IsDone_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100674318);
			CoroutineJob.NativeMethodInfoPtr_get_RaisedException_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100674319);
			CoroutineJob.NativeMethodInfoPtr_Init_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100674320);
			CoroutineJob.NativeMethodInfoPtr_RunSynchronously_Public_Static_Object_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100674321);
			CoroutineJob.NativeMethodInfoPtr_Start_Public_IEnumerator_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100674322);
			CoroutineJob.NativeMethodInfoPtr_Stop_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100674323);
			CoroutineJob.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100674324);
		}

		// Token: 0x06008E78 RID: 36472 RVA: 0x0000A688 File Offset: 0x00008888
		public CoroutineJob(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003050 RID: 12368
		// (get) Token: 0x06008E79 RID: 36473 RVA: 0x0024A510 File Offset: 0x00248710
		// (set) Token: 0x06008E7A RID: 36474 RVA: 0x0024A544 File Offset: 0x00248744
		public unsafe Object result
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_result);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Object(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_result), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003051 RID: 12369
		// (get) Token: 0x06008E7B RID: 36475 RVA: 0x0024A56C File Offset: 0x0024876C
		// (set) Token: 0x06008E7C RID: 36476 RVA: 0x0024A594 File Offset: 0x00248794
		public unsafe bool isDone
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_isDone);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_isDone)) = value;
			}
		}

		// Token: 0x17003052 RID: 12370
		// (get) Token: 0x06008E7D RID: 36477 RVA: 0x0024A5B8 File Offset: 0x002487B8
		// (set) Token: 0x06008E7E RID: 36478 RVA: 0x0024A5E0 File Offset: 0x002487E0
		public unsafe bool raisedException
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_raisedException);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_raisedException)) = value;
			}
		}

		// Token: 0x17003053 RID: 12371
		// (get) Token: 0x06008E7F RID: 36479 RVA: 0x0024A604 File Offset: 0x00248804
		// (set) Token: 0x06008E80 RID: 36480 RVA: 0x0024A62C File Offset: 0x0024882C
		public unsafe bool stop
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_stop);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_stop)) = value;
			}
		}

		// Token: 0x17003054 RID: 12372
		// (get) Token: 0x06008E81 RID: 36481 RVA: 0x0024A650 File Offset: 0x00248850
		// (set) Token: 0x06008E82 RID: 36482 RVA: 0x0024A684 File Offset: 0x00248884
		public unsafe Exception e
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_e);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Exception(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_e), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003055 RID: 12373
		// (get) Token: 0x06008E83 RID: 36483 RVA: 0x0024A6AC File Offset: 0x002488AC
		// (set) Token: 0x06008E84 RID: 36484 RVA: 0x0024A6D4 File Offset: 0x002488D4
		public unsafe int asyncThreshold
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_asyncThreshold);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.NativeFieldInfoPtr_asyncThreshold)) = value;
			}
		}

		// Token: 0x04005EF1 RID: 24305
		private static readonly IntPtr NativeFieldInfoPtr_result;

		// Token: 0x04005EF2 RID: 24306
		private static readonly IntPtr NativeFieldInfoPtr_isDone;

		// Token: 0x04005EF3 RID: 24307
		private static readonly IntPtr NativeFieldInfoPtr_raisedException;

		// Token: 0x04005EF4 RID: 24308
		private static readonly IntPtr NativeFieldInfoPtr_stop;

		// Token: 0x04005EF5 RID: 24309
		private static readonly IntPtr NativeFieldInfoPtr_e;

		// Token: 0x04005EF6 RID: 24310
		private static readonly IntPtr NativeFieldInfoPtr_asyncThreshold;

		// Token: 0x04005EF7 RID: 24311
		private static readonly IntPtr NativeMethodInfoPtr_get_Result_Public_get_Object_0;

		// Token: 0x04005EF8 RID: 24312
		private static readonly IntPtr NativeMethodInfoPtr_get_IsDone_Public_get_Boolean_0;

		// Token: 0x04005EF9 RID: 24313
		private static readonly IntPtr NativeMethodInfoPtr_get_RaisedException_Public_get_Boolean_0;

		// Token: 0x04005EFA RID: 24314
		private static readonly IntPtr NativeMethodInfoPtr_Init_Private_Void_0;

		// Token: 0x04005EFB RID: 24315
		private static readonly IntPtr NativeMethodInfoPtr_RunSynchronously_Public_Static_Object_IEnumerator_0;

		// Token: 0x04005EFC RID: 24316
		private static readonly IntPtr NativeMethodInfoPtr_Start_Public_IEnumerator_IEnumerator_0;

		// Token: 0x04005EFD RID: 24317
		private static readonly IntPtr NativeMethodInfoPtr_Stop_Public_Void_0;

		// Token: 0x04005EFE RID: 24318
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004D2 RID: 1234
		public class ProgressInfo : Object
		{
			// Token: 0x06008E85 RID: 36485 RVA: 0x0024A6F8 File Offset: 0x002488F8
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 610588, RefRangeEnd = 610589, XrefRangeStart = 610586, XrefRangeEnd = 610588, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe ProgressInfo(string userReadableInfo, float progress)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CoroutineJob.ProgressInfo>.NativeClassPtr))
			{
				IntPtr* ptr;
				checked
				{
					ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.ManagedStringToIl2Cpp(userReadableInfo);
				}
				ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref progress;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob.ProgressInfo.NativeMethodInfoPtr__ctor_Public_Void_String_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06008E86 RID: 36486 RVA: 0x0024A770 File Offset: 0x00248970
			// Note: this type is marked as 'beforefieldinit'.
			static ProgressInfo()
			{
				Il2CppClassPointerStore<CoroutineJob.ProgressInfo>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, "ProgressInfo");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CoroutineJob.ProgressInfo>.NativeClassPtr);
				CoroutineJob.ProgressInfo.NativeFieldInfoPtr_userReadableInfo = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob.ProgressInfo>.NativeClassPtr, "userReadableInfo");
				CoroutineJob.ProgressInfo.NativeFieldInfoPtr_progress = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob.ProgressInfo>.NativeClassPtr, "progress");
				CoroutineJob.ProgressInfo.NativeMethodInfoPtr__ctor_Public_Void_String_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob.ProgressInfo>.NativeClassPtr, 100674325);
			}

			// Token: 0x06008E87 RID: 36487 RVA: 0x0000A688 File Offset: 0x00008888
			public ProgressInfo(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17003059 RID: 12377
			// (get) Token: 0x06008E88 RID: 36488 RVA: 0x0024A7D8 File Offset: 0x002489D8
			// (set) Token: 0x06008E89 RID: 36489 RVA: 0x0024A801 File Offset: 0x00248A01
			public unsafe string userReadableInfo
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.ProgressInfo.NativeFieldInfoPtr_userReadableInfo);
					return IL2CPP.Il2CppStringToManaged(*intPtr);
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.ProgressInfo.NativeFieldInfoPtr_userReadableInfo), IL2CPP.ManagedStringToIl2Cpp(value));
				}
			}

			// Token: 0x1700305A RID: 12378
			// (get) Token: 0x06008E8A RID: 36490 RVA: 0x0024A828 File Offset: 0x00248A28
			// (set) Token: 0x06008E8B RID: 36491 RVA: 0x0024A850 File Offset: 0x00248A50
			public unsafe float progress
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.ProgressInfo.NativeFieldInfoPtr_progress);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob.ProgressInfo.NativeFieldInfoPtr_progress)) = value;
				}
			}

			// Token: 0x04005EFF RID: 24319
			private static readonly IntPtr NativeFieldInfoPtr_userReadableInfo;

			// Token: 0x04005F00 RID: 24320
			private static readonly IntPtr NativeFieldInfoPtr_progress;

			// Token: 0x04005F01 RID: 24321
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Single_0;
		}

		// Token: 0x020004D3 RID: 1235
		[ObfuscatedName("Obi.CoroutineJob/<Start>d__15")]
		public sealed class _Start_d__15 : Object
		{
			// Token: 0x06008E8C RID: 36492 RVA: 0x0024A874 File Offset: 0x00248A74
			[CallerCount(323)]
			[CachedScanResults(RefRangeStart = 12254, RefRangeEnd = 12577, XrefRangeStart = 12254, XrefRangeEnd = 12577, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe _Start_d__15(int <>1__state)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr))
			{
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref <>1__state;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob._Start_d__15.NativeMethodInfoPtr__ctor_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x06008E8D RID: 36493 RVA: 0x0024A8D4 File Offset: 0x00248AD4
			[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(CoroutineJob._Start_d__15.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06008E8E RID: 36494 RVA: 0x0024A918 File Offset: 0x00248B18
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610589, XrefRangeEnd = 610598, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe bool MoveNext()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CoroutineJob._Start_d__15.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: 0x17003060 RID: 12384
			// (get) Token: 0x06008E8F RID: 36495 RVA: 0x0024A968 File Offset: 0x00248B68
			public unsafe 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(CoroutineJob._Start_d__15.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 Object(intPtr3) : null;
				}
			}

			// Token: 0x06008E90 RID: 36496 RVA: 0x0024A9C0 File Offset: 0x00248BC0
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610598, XrefRangeEnd = 610603, 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(CoroutineJob._Start_d__15.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x17003061 RID: 12385
			// (get) Token: 0x06008E91 RID: 36497 RVA: 0x0024AA04 File Offset: 0x00248C04
			public unsafe 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(CoroutineJob._Start_d__15.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 Object(intPtr3) : null;
				}
			}

			// Token: 0x06008E92 RID: 36498 RVA: 0x0024AA5C File Offset: 0x00248C5C
			// Note: this type is marked as 'beforefieldinit'.
			static _Start_d__15()
			{
				Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, "<Start>d__15");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr);
				CoroutineJob._Start_d__15.NativeFieldInfoPtr___1__state = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, "<>1__state");
				CoroutineJob._Start_d__15.NativeFieldInfoPtr___2__current = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, "<>2__current");
				CoroutineJob._Start_d__15.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, "<>4__this");
				CoroutineJob._Start_d__15.NativeFieldInfoPtr_coroutine = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, "coroutine");
				CoroutineJob._Start_d__15.NativeFieldInfoPtr__sw_5__2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, "<sw>5__2");
				CoroutineJob._Start_d__15.NativeMethodInfoPtr__ctor_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, 100674326);
				CoroutineJob._Start_d__15.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, 100674327);
				CoroutineJob._Start_d__15.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, 100674328);
				CoroutineJob._Start_d__15.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, 100674329);
				CoroutineJob._Start_d__15.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, 100674330);
				CoroutineJob._Start_d__15.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, 100674331);
			}

			// Token: 0x06008E93 RID: 36499 RVA: 0x0000A688 File Offset: 0x00008888
			public _Start_d__15(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x1700305B RID: 12379
			// (get) Token: 0x06008E94 RID: 36500 RVA: 0x0024AB64 File Offset: 0x00248D64
			// (set) Token: 0x06008E95 RID: 36501 RVA: 0x0024AB8C File Offset: 0x00248D8C
			public unsafe int __1__state
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr___1__state);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr___1__state)) = value;
				}
			}

			// Token: 0x1700305C RID: 12380
			// (get) Token: 0x06008E96 RID: 36502 RVA: 0x0024ABB0 File Offset: 0x00248DB0
			// (set) Token: 0x06008E97 RID: 36503 RVA: 0x0024ABE4 File Offset: 0x00248DE4
			public unsafe Object __2__current
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr___2__current);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Object(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr___2__current), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x1700305D RID: 12381
			// (get) Token: 0x06008E98 RID: 36504 RVA: 0x0024AC0C File Offset: 0x00248E0C
			// (set) Token: 0x06008E99 RID: 36505 RVA: 0x0024AC40 File Offset: 0x00248E40
			public unsafe CoroutineJob __4__this
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr___4__this);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new CoroutineJob(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x1700305E RID: 12382
			// (get) Token: 0x06008E9A RID: 36506 RVA: 0x0024AC68 File Offset: 0x00248E68
			// (set) Token: 0x06008E9B RID: 36507 RVA: 0x0024AC9C File Offset: 0x00248E9C
			public unsafe IEnumerator coroutine
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr_coroutine);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new IEnumerator(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr_coroutine), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x1700305F RID: 12383
			// (get) Token: 0x06008E9C RID: 36508 RVA: 0x0024ACC4 File Offset: 0x00248EC4
			// (set) Token: 0x06008E9D RID: 36509 RVA: 0x0024ACF8 File Offset: 0x00248EF8
			public unsafe Stopwatch _sw_5__2
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr__sw_5__2);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Stopwatch(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CoroutineJob._Start_d__15.NativeFieldInfoPtr__sw_5__2), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x04005F02 RID: 24322
			private static readonly IntPtr NativeFieldInfoPtr___1__state;

			// Token: 0x04005F03 RID: 24323
			private static readonly IntPtr NativeFieldInfoPtr___2__current;

			// Token: 0x04005F04 RID: 24324
			private static readonly IntPtr NativeFieldInfoPtr___4__this;

			// Token: 0x04005F05 RID: 24325
			private static readonly IntPtr NativeFieldInfoPtr_coroutine;

			// Token: 0x04005F06 RID: 24326
			private static readonly IntPtr NativeFieldInfoPtr__sw_5__2;

			// Token: 0x04005F07 RID: 24327
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x04005F08 RID: 24328
			private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

			// Token: 0x04005F09 RID: 24329
			private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

			// Token: 0x04005F0A RID: 24330
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

			// Token: 0x04005F0B RID: 24331
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

			// Token: 0x04005F0C RID: 24332
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
		}
	}
}
