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

namespace Obi
{
	// Token: 0x02000529 RID: 1321
	public class CoroutineJob : Object
	{
		// Token: 0x170032F1 RID: 13041
		// (get) Token: 0x060096C2 RID: 38594 RVA: 0x0026CE68 File Offset: 0x0026B068
		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: 0x170032F2 RID: 13042
		// (get) Token: 0x060096C3 RID: 38595 RVA: 0x0026CEC0 File Offset: 0x0026B0C0
		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: 0x170032F3 RID: 13043
		// (get) Token: 0x060096C4 RID: 38596 RVA: 0x0026CF10 File Offset: 0x0026B110
		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: 0x060096C5 RID: 38597 RVA: 0x0026CF60 File Offset: 0x0026B160
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 642914, RefRangeEnd = 642915, XrefRangeStart = 642913, XrefRangeEnd = 642914, 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: 0x060096C6 RID: 38598 RVA: 0x0026CFA4 File Offset: 0x0026B1A4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642915, XrefRangeEnd = 642932, 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: 0x060096C7 RID: 38599 RVA: 0x0026D004 File Offset: 0x0026B204
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642932, XrefRangeEnd = 642938, 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: 0x060096C8 RID: 38600 RVA: 0x0026D074 File Offset: 0x0026B274
		[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: 0x060096C9 RID: 38601 RVA: 0x0026D0B8 File Offset: 0x0026B2B8
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, 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: 0x060096CA RID: 38602 RVA: 0x0026D104 File Offset: 0x0026B304
		// 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, 100675030);
			CoroutineJob.NativeMethodInfoPtr_get_IsDone_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100675031);
			CoroutineJob.NativeMethodInfoPtr_get_RaisedException_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100675032);
			CoroutineJob.NativeMethodInfoPtr_Init_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100675033);
			CoroutineJob.NativeMethodInfoPtr_RunSynchronously_Public_Static_Object_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100675034);
			CoroutineJob.NativeMethodInfoPtr_Start_Public_IEnumerator_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100675035);
			CoroutineJob.NativeMethodInfoPtr_Stop_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100675036);
			CoroutineJob.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob>.NativeClassPtr, 100675037);
		}

		// Token: 0x060096CB RID: 38603 RVA: 0x0000A74C File Offset: 0x0000894C
		public CoroutineJob(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170032EB RID: 13035
		// (get) Token: 0x060096CC RID: 38604 RVA: 0x0026D24C File Offset: 0x0026B44C
		// (set) Token: 0x060096CD RID: 38605 RVA: 0x0026D280 File Offset: 0x0026B480
		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: 0x170032EC RID: 13036
		// (get) Token: 0x060096CE RID: 38606 RVA: 0x0026D2A8 File Offset: 0x0026B4A8
		// (set) Token: 0x060096CF RID: 38607 RVA: 0x0026D2D0 File Offset: 0x0026B4D0
		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: 0x170032ED RID: 13037
		// (get) Token: 0x060096D0 RID: 38608 RVA: 0x0026D2F4 File Offset: 0x0026B4F4
		// (set) Token: 0x060096D1 RID: 38609 RVA: 0x0026D31C File Offset: 0x0026B51C
		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: 0x170032EE RID: 13038
		// (get) Token: 0x060096D2 RID: 38610 RVA: 0x0026D340 File Offset: 0x0026B540
		// (set) Token: 0x060096D3 RID: 38611 RVA: 0x0026D368 File Offset: 0x0026B568
		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: 0x170032EF RID: 13039
		// (get) Token: 0x060096D4 RID: 38612 RVA: 0x0026D38C File Offset: 0x0026B58C
		// (set) Token: 0x060096D5 RID: 38613 RVA: 0x0026D3C0 File Offset: 0x0026B5C0
		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: 0x170032F0 RID: 13040
		// (get) Token: 0x060096D6 RID: 38614 RVA: 0x0026D3E8 File Offset: 0x0026B5E8
		// (set) Token: 0x060096D7 RID: 38615 RVA: 0x0026D410 File Offset: 0x0026B610
		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: 0x0400649A RID: 25754
		private static readonly IntPtr NativeFieldInfoPtr_result;

		// Token: 0x0400649B RID: 25755
		private static readonly IntPtr NativeFieldInfoPtr_isDone;

		// Token: 0x0400649C RID: 25756
		private static readonly IntPtr NativeFieldInfoPtr_raisedException;

		// Token: 0x0400649D RID: 25757
		private static readonly IntPtr NativeFieldInfoPtr_stop;

		// Token: 0x0400649E RID: 25758
		private static readonly IntPtr NativeFieldInfoPtr_e;

		// Token: 0x0400649F RID: 25759
		private static readonly IntPtr NativeFieldInfoPtr_asyncThreshold;

		// Token: 0x040064A0 RID: 25760
		private static readonly IntPtr NativeMethodInfoPtr_get_Result_Public_get_Object_0;

		// Token: 0x040064A1 RID: 25761
		private static readonly IntPtr NativeMethodInfoPtr_get_IsDone_Public_get_Boolean_0;

		// Token: 0x040064A2 RID: 25762
		private static readonly IntPtr NativeMethodInfoPtr_get_RaisedException_Public_get_Boolean_0;

		// Token: 0x040064A3 RID: 25763
		private static readonly IntPtr NativeMethodInfoPtr_Init_Private_Void_0;

		// Token: 0x040064A4 RID: 25764
		private static readonly IntPtr NativeMethodInfoPtr_RunSynchronously_Public_Static_Object_IEnumerator_0;

		// Token: 0x040064A5 RID: 25765
		private static readonly IntPtr NativeMethodInfoPtr_Start_Public_IEnumerator_IEnumerator_0;

		// Token: 0x040064A6 RID: 25766
		private static readonly IntPtr NativeMethodInfoPtr_Stop_Public_Void_0;

		// Token: 0x040064A7 RID: 25767
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x0200052A RID: 1322
		public class ProgressInfo : Object
		{
			// Token: 0x060096D8 RID: 38616 RVA: 0x0026D434 File Offset: 0x0026B634
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 642898, RefRangeEnd = 642899, XrefRangeStart = 642896, XrefRangeEnd = 642898, 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: 0x060096D9 RID: 38617 RVA: 0x0026D4AC File Offset: 0x0026B6AC
			// 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, 100675038);
			}

			// Token: 0x060096DA RID: 38618 RVA: 0x0000A74C File Offset: 0x0000894C
			public ProgressInfo(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170032F4 RID: 13044
			// (get) Token: 0x060096DB RID: 38619 RVA: 0x0026D514 File Offset: 0x0026B714
			// (set) Token: 0x060096DC RID: 38620 RVA: 0x0026D53D File Offset: 0x0026B73D
			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: 0x170032F5 RID: 13045
			// (get) Token: 0x060096DD RID: 38621 RVA: 0x0026D564 File Offset: 0x0026B764
			// (set) Token: 0x060096DE RID: 38622 RVA: 0x0026D58C File Offset: 0x0026B78C
			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: 0x040064A8 RID: 25768
			private static readonly IntPtr NativeFieldInfoPtr_userReadableInfo;

			// Token: 0x040064A9 RID: 25769
			private static readonly IntPtr NativeFieldInfoPtr_progress;

			// Token: 0x040064AA RID: 25770
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Single_0;
		}

		// Token: 0x0200052B RID: 1323
		[ObfuscatedName("Obi.CoroutineJob/<Start>d__15")]
		public sealed class _Start_d__15 : Object
		{
			// Token: 0x060096DF RID: 38623 RVA: 0x0026D5B0 File Offset: 0x0026B7B0
			[CallerCount(350)]
			[CachedScanResults(RefRangeStart = 11975, RefRangeEnd = 12325, XrefRangeStart = 11975, XrefRangeEnd = 12325, 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: 0x060096E0 RID: 38624 RVA: 0x0026D610 File Offset: 0x0026B810
			[CallerCount(5874)]
			[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, 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: 0x060096E1 RID: 38625 RVA: 0x0026D654 File Offset: 0x0026B854
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642899, XrefRangeEnd = 642908, 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: 0x170032FB RID: 13051
			// (get) Token: 0x060096E2 RID: 38626 RVA: 0x0026D6A4 File Offset: 0x0026B8A4
			public unsafe Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, 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: 0x060096E3 RID: 38627 RVA: 0x0026D6FC File Offset: 0x0026B8FC
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642908, XrefRangeEnd = 642913, 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: 0x170032FC RID: 13052
			// (get) Token: 0x060096E4 RID: 38628 RVA: 0x0026D740 File Offset: 0x0026B940
			public unsafe Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, 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: 0x060096E5 RID: 38629 RVA: 0x0026D798 File Offset: 0x0026B998
			// 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, 100675039);
				CoroutineJob._Start_d__15.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, 100675040);
				CoroutineJob._Start_d__15.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, 100675041);
				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, 100675042);
				CoroutineJob._Start_d__15.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CoroutineJob._Start_d__15>.NativeClassPtr, 100675043);
				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, 100675044);
			}

			// Token: 0x060096E6 RID: 38630 RVA: 0x0000A74C File Offset: 0x0000894C
			public _Start_d__15(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170032F6 RID: 13046
			// (get) Token: 0x060096E7 RID: 38631 RVA: 0x0026D8A0 File Offset: 0x0026BAA0
			// (set) Token: 0x060096E8 RID: 38632 RVA: 0x0026D8C8 File Offset: 0x0026BAC8
			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: 0x170032F7 RID: 13047
			// (get) Token: 0x060096E9 RID: 38633 RVA: 0x0026D8EC File Offset: 0x0026BAEC
			// (set) Token: 0x060096EA RID: 38634 RVA: 0x0026D920 File Offset: 0x0026BB20
			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: 0x170032F8 RID: 13048
			// (get) Token: 0x060096EB RID: 38635 RVA: 0x0026D948 File Offset: 0x0026BB48
			// (set) Token: 0x060096EC RID: 38636 RVA: 0x0026D97C File Offset: 0x0026BB7C
			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: 0x170032F9 RID: 13049
			// (get) Token: 0x060096ED RID: 38637 RVA: 0x0026D9A4 File Offset: 0x0026BBA4
			// (set) Token: 0x060096EE RID: 38638 RVA: 0x0026D9D8 File Offset: 0x0026BBD8
			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: 0x170032FA RID: 13050
			// (get) Token: 0x060096EF RID: 38639 RVA: 0x0026DA00 File Offset: 0x0026BC00
			// (set) Token: 0x060096F0 RID: 38640 RVA: 0x0026DA34 File Offset: 0x0026BC34
			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: 0x040064AB RID: 25771
			private static readonly IntPtr NativeFieldInfoPtr___1__state;

			// Token: 0x040064AC RID: 25772
			private static readonly IntPtr NativeFieldInfoPtr___2__current;

			// Token: 0x040064AD RID: 25773
			private static readonly IntPtr NativeFieldInfoPtr___4__this;

			// Token: 0x040064AE RID: 25774
			private static readonly IntPtr NativeFieldInfoPtr_coroutine;

			// Token: 0x040064AF RID: 25775
			private static readonly IntPtr NativeFieldInfoPtr__sw_5__2;

			// Token: 0x040064B0 RID: 25776
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x040064B1 RID: 25777
			private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

			// Token: 0x040064B2 RID: 25778
			private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

			// Token: 0x040064B3 RID: 25779
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

			// Token: 0x040064B4 RID: 25780
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

			// Token: 0x040064B5 RID: 25781
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
		}
	}
}
