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

// Token: 0x02000349 RID: 841
public class CFX_ShurikenThreadFix : MonoBehaviour
{
	// Token: 0x06007026 RID: 28710 RVA: 0x001C732C File Offset: 0x001C552C
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 584644, XrefRangeEnd = 584657, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void OnEnable()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix.NativeMethodInfoPtr_OnEnable_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06007027 RID: 28711 RVA: 0x001C7370 File Offset: 0x001C5570
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 584657, XrefRangeEnd = 584662, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe IEnumerator WaitFrame()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix.NativeMethodInfoPtr_WaitFrame_Private_IEnumerator_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		IntPtr intPtr3 = intPtr;
		return (intPtr3 != 0) ? new IEnumerator(intPtr3) : null;
	}

	// Token: 0x06007028 RID: 28712 RVA: 0x001C73C8 File Offset: 0x001C55C8
	[CallerCount(63)]
	[CachedScanResults(RefRangeStart = 222154, RefRangeEnd = 222217, XrefRangeStart = 222154, XrefRangeEnd = 222217, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe CFX_ShurikenThreadFix()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06007029 RID: 28713 RVA: 0x001C7414 File Offset: 0x001C5614
	// Note: this type is marked as 'beforefieldinit'.
	static CFX_ShurikenThreadFix()
	{
		Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "CFX_ShurikenThreadFix");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr);
		CFX_ShurikenThreadFix.NativeFieldInfoPtr_systems = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, "systems");
		CFX_ShurikenThreadFix.NativeMethodInfoPtr_OnEnable_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, 100671639);
		CFX_ShurikenThreadFix.NativeMethodInfoPtr_WaitFrame_Private_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, 100671640);
		CFX_ShurikenThreadFix.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, 100671641);
	}

	// Token: 0x0600702A RID: 28714 RVA: 0x0000351C File Offset: 0x0000171C
	public CFX_ShurikenThreadFix(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x170026B7 RID: 9911
	// (get) Token: 0x0600702B RID: 28715 RVA: 0x001C7494 File Offset: 0x001C5694
	// (set) Token: 0x0600702C RID: 28716 RVA: 0x001C74C8 File Offset: 0x001C56C8
	public unsafe Il2CppReferenceArray<ParticleSystem> systems
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix.NativeFieldInfoPtr_systems);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppReferenceArray<ParticleSystem>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix.NativeFieldInfoPtr_systems), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04004A71 RID: 19057
	private static readonly IntPtr NativeFieldInfoPtr_systems;

	// Token: 0x04004A72 RID: 19058
	private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Private_Void_0;

	// Token: 0x04004A73 RID: 19059
	private static readonly IntPtr NativeMethodInfoPtr_WaitFrame_Private_IEnumerator_0;

	// Token: 0x04004A74 RID: 19060
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

	// Token: 0x0200034A RID: 842
	[ObfuscatedName("CFX_ShurikenThreadFix/<WaitFrame>d__2")]
	public sealed class _WaitFrame_d__2 : Il2CppSystem.Object
	{
		// Token: 0x0600702D RID: 28717 RVA: 0x001C74F0 File Offset: 0x001C56F0
		[CallerCount(323)]
		[CachedScanResults(RefRangeStart = 12254, RefRangeEnd = 12577, XrefRangeStart = 12254, XrefRangeEnd = 12577, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe _WaitFrame_d__2(int <>1__state)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr))
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref <>1__state;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr__ctor_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600702E RID: 28718 RVA: 0x001C7550 File Offset: 0x001C5750
		[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(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600702F RID: 28719 RVA: 0x001C7594 File Offset: 0x001C5794
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 584638, XrefRangeEnd = 584639, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe bool MoveNext()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix._WaitFrame_d__2.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: 0x170026BB RID: 9915
		// (get) Token: 0x06007030 RID: 28720 RVA: 0x001C75E4 File Offset: 0x001C57E4
		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(CFX_ShurikenThreadFix._WaitFrame_d__2.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: 0x06007031 RID: 28721 RVA: 0x001C763C File Offset: 0x001C583C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 584639, XrefRangeEnd = 584644, 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(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x170026BC RID: 9916
		// (get) Token: 0x06007032 RID: 28722 RVA: 0x001C7680 File Offset: 0x001C5880
		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(CFX_ShurikenThreadFix._WaitFrame_d__2.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: 0x06007033 RID: 28723 RVA: 0x001C76D8 File Offset: 0x001C58D8
		// Note: this type is marked as 'beforefieldinit'.
		static _WaitFrame_d__2()
		{
			Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, "<WaitFrame>d__2");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___1__state = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, "<>1__state");
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___2__current = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, "<>2__current");
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, "<>4__this");
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr__ctor_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100671642);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100671643);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100671644);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100671645);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100671646);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100671647);
		}

		// Token: 0x06007034 RID: 28724 RVA: 0x0000A688 File Offset: 0x00008888
		public _WaitFrame_d__2(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170026B8 RID: 9912
		// (get) Token: 0x06007035 RID: 28725 RVA: 0x001C77B8 File Offset: 0x001C59B8
		// (set) Token: 0x06007036 RID: 28726 RVA: 0x001C77E0 File Offset: 0x001C59E0
		public unsafe int __1__state
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___1__state);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___1__state)) = value;
			}
		}

		// Token: 0x170026B9 RID: 9913
		// (get) Token: 0x06007037 RID: 28727 RVA: 0x001C7804 File Offset: 0x001C5A04
		// (set) Token: 0x06007038 RID: 28728 RVA: 0x001C7838 File Offset: 0x001C5A38
		public unsafe Il2CppSystem.Object __2__current
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.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(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___2__current), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170026BA RID: 9914
		// (get) Token: 0x06007039 RID: 28729 RVA: 0x001C7860 File Offset: 0x001C5A60
		// (set) Token: 0x0600703A RID: 28730 RVA: 0x001C7894 File Offset: 0x001C5A94
		public unsafe CFX_ShurikenThreadFix __4__this
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___4__this);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new CFX_ShurikenThreadFix(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04004A75 RID: 19061
		private static readonly IntPtr NativeFieldInfoPtr___1__state;

		// Token: 0x04004A76 RID: 19062
		private static readonly IntPtr NativeFieldInfoPtr___2__current;

		// Token: 0x04004A77 RID: 19063
		private static readonly IntPtr NativeFieldInfoPtr___4__this;

		// Token: 0x04004A78 RID: 19064
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

		// Token: 0x04004A79 RID: 19065
		private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

		// Token: 0x04004A7A RID: 19066
		private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

		// Token: 0x04004A7B RID: 19067
		private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

		// Token: 0x04004A7C RID: 19068
		private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

		// Token: 0x04004A7D RID: 19069
		private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
	}
}
