using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;
using UnityEngine;

namespace Obi
{
	// Token: 0x020004FB RID: 1275
	public class ObiParticleHandle : MonoBehaviour
	{
		// Token: 0x1700315C RID: 12636
		// (get) Token: 0x06009189 RID: 37257 RVA: 0x002571E0 File Offset: 0x002553E0
		public unsafe int ParticleCount
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613166, XrefRangeEnd = 613167, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr_get_ParticleCount_Public_get_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x1700315D RID: 12637
		// (get) Token: 0x0600918B RID: 37259 RVA: 0x0025728C File Offset: 0x0025548C
		// (set) Token: 0x0600918A RID: 37258 RVA: 0x00257230 File Offset: 0x00255430
		public unsafe ObiActor Actor
		{
			[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(ObiParticleHandle.NativeMethodInfoPtr_get_Actor_Public_get_ObiActor_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new ObiActor(intPtr3) : null;
			}
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613167, XrefRangeEnd = 613196, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(value);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr_set_Actor_Public_set_Void_ObiActor_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x0600918C RID: 37260 RVA: 0x002572E4 File Offset: 0x002554E4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613196, XrefRangeEnd = 613210, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnEnable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr_OnEnable_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600918D RID: 37261 RVA: 0x00257328 File Offset: 0x00255528
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613210, XrefRangeEnd = 613225, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr_OnDisable_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600918E RID: 37262 RVA: 0x0025736C File Offset: 0x0025556C
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 613236, RefRangeEnd = 613238, XrefRangeStart = 613225, XrefRangeEnd = 613236, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ResetInvMasses()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr_ResetInvMasses_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600918F RID: 37263 RVA: 0x002573B0 File Offset: 0x002555B0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613238, XrefRangeEnd = 613249, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Clear()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr_Clear_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009190 RID: 37264 RVA: 0x002573F4 File Offset: 0x002555F4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613249, XrefRangeEnd = 613261, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AddParticle(int index, Vector3 position, float invMass)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref index;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref position;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref invMass;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr_AddParticle_Public_Void_Int32_Vector3_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009191 RID: 37265 RVA: 0x00257470 File Offset: 0x00255670
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613261, XrefRangeEnd = 613279, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RemoveParticle(int index)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref index;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr_RemoveParticle_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06009192 RID: 37266 RVA: 0x002574C4 File Offset: 0x002556C4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613279, XrefRangeEnd = 613308, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Actor_solver_OnFrameBegin(Il2CppSystem.Object sender, EventArgs e)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(sender);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(e);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr_Actor_solver_OnFrameBegin_Private_Void_Object_EventArgs_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009193 RID: 37267 RVA: 0x00257538 File Offset: 0x00255738
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613308, XrefRangeEnd = 613330, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiParticleHandle()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiParticleHandle.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009194 RID: 37268 RVA: 0x00257584 File Offset: 0x00255784
		// Note: this type is marked as 'beforefieldinit'.
		static ObiParticleHandle()
		{
			Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiParticleHandle");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr);
			ObiParticleHandle.NativeFieldInfoPtr_actor = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, "actor");
			ObiParticleHandle.NativeFieldInfoPtr_handledParticleIndices = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, "handledParticleIndices");
			ObiParticleHandle.NativeFieldInfoPtr_handledParticlePositions = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, "handledParticlePositions");
			ObiParticleHandle.NativeFieldInfoPtr_handledParticleInvMasses = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, "handledParticleInvMasses");
			ObiParticleHandle.NativeFieldInfoPtr_HANDLED_PARTICLE_MASS = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, "HANDLED_PARTICLE_MASS");
			ObiParticleHandle.NativeMethodInfoPtr_get_ParticleCount_Public_get_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674596);
			ObiParticleHandle.NativeMethodInfoPtr_set_Actor_Public_set_Void_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674597);
			ObiParticleHandle.NativeMethodInfoPtr_get_Actor_Public_get_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674598);
			ObiParticleHandle.NativeMethodInfoPtr_OnEnable_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674599);
			ObiParticleHandle.NativeMethodInfoPtr_OnDisable_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674600);
			ObiParticleHandle.NativeMethodInfoPtr_ResetInvMasses_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674601);
			ObiParticleHandle.NativeMethodInfoPtr_Clear_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674602);
			ObiParticleHandle.NativeMethodInfoPtr_AddParticle_Public_Void_Int32_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674603);
			ObiParticleHandle.NativeMethodInfoPtr_RemoveParticle_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674604);
			ObiParticleHandle.NativeMethodInfoPtr_Actor_solver_OnFrameBegin_Private_Void_Object_EventArgs_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674605);
			ObiParticleHandle.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiParticleHandle>.NativeClassPtr, 100674606);
		}

		// Token: 0x06009195 RID: 37269 RVA: 0x0000351C File Offset: 0x0000171C
		public ObiParticleHandle(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003157 RID: 12631
		// (get) Token: 0x06009196 RID: 37270 RVA: 0x002576F4 File Offset: 0x002558F4
		// (set) Token: 0x06009197 RID: 37271 RVA: 0x00257728 File Offset: 0x00255928
		public unsafe ObiActor actor
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiParticleHandle.NativeFieldInfoPtr_actor);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new ObiActor(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiParticleHandle.NativeFieldInfoPtr_actor), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003158 RID: 12632
		// (get) Token: 0x06009198 RID: 37272 RVA: 0x00257750 File Offset: 0x00255950
		// (set) Token: 0x06009199 RID: 37273 RVA: 0x00257784 File Offset: 0x00255984
		public unsafe List<int> handledParticleIndices
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiParticleHandle.NativeFieldInfoPtr_handledParticleIndices);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<int>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiParticleHandle.NativeFieldInfoPtr_handledParticleIndices), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003159 RID: 12633
		// (get) Token: 0x0600919A RID: 37274 RVA: 0x002577AC File Offset: 0x002559AC
		// (set) Token: 0x0600919B RID: 37275 RVA: 0x002577E0 File Offset: 0x002559E0
		public unsafe List<Vector3> handledParticlePositions
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiParticleHandle.NativeFieldInfoPtr_handledParticlePositions);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<Vector3>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiParticleHandle.NativeFieldInfoPtr_handledParticlePositions), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700315A RID: 12634
		// (get) Token: 0x0600919C RID: 37276 RVA: 0x00257808 File Offset: 0x00255A08
		// (set) Token: 0x0600919D RID: 37277 RVA: 0x0025783C File Offset: 0x00255A3C
		public unsafe List<float> handledParticleInvMasses
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiParticleHandle.NativeFieldInfoPtr_handledParticleInvMasses);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<float>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiParticleHandle.NativeFieldInfoPtr_handledParticleInvMasses), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700315B RID: 12635
		// (get) Token: 0x0600919E RID: 37278 RVA: 0x00257864 File Offset: 0x00255A64
		// (set) Token: 0x0600919F RID: 37279 RVA: 0x00257882 File Offset: 0x00255A82
		public unsafe static float HANDLED_PARTICLE_MASS
		{
			get
			{
				float num;
				IL2CPP.il2cpp_field_static_get_value(ObiParticleHandle.NativeFieldInfoPtr_HANDLED_PARTICLE_MASS, (void*)(&num));
				return num;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ObiParticleHandle.NativeFieldInfoPtr_HANDLED_PARTICLE_MASS, (void*)(&value));
			}
		}

		// Token: 0x04006107 RID: 24839
		private static readonly IntPtr NativeFieldInfoPtr_actor;

		// Token: 0x04006108 RID: 24840
		private static readonly IntPtr NativeFieldInfoPtr_handledParticleIndices;

		// Token: 0x04006109 RID: 24841
		private static readonly IntPtr NativeFieldInfoPtr_handledParticlePositions;

		// Token: 0x0400610A RID: 24842
		private static readonly IntPtr NativeFieldInfoPtr_handledParticleInvMasses;

		// Token: 0x0400610B RID: 24843
		private static readonly IntPtr NativeFieldInfoPtr_HANDLED_PARTICLE_MASS;

		// Token: 0x0400610C RID: 24844
		private static readonly IntPtr NativeMethodInfoPtr_get_ParticleCount_Public_get_Int32_0;

		// Token: 0x0400610D RID: 24845
		private static readonly IntPtr NativeMethodInfoPtr_set_Actor_Public_set_Void_ObiActor_0;

		// Token: 0x0400610E RID: 24846
		private static readonly IntPtr NativeMethodInfoPtr_get_Actor_Public_get_ObiActor_0;

		// Token: 0x0400610F RID: 24847
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Private_Void_0;

		// Token: 0x04006110 RID: 24848
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Private_Void_0;

		// Token: 0x04006111 RID: 24849
		private static readonly IntPtr NativeMethodInfoPtr_ResetInvMasses_Private_Void_0;

		// Token: 0x04006112 RID: 24850
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Void_0;

		// Token: 0x04006113 RID: 24851
		private static readonly IntPtr NativeMethodInfoPtr_AddParticle_Public_Void_Int32_Vector3_Single_0;

		// Token: 0x04006114 RID: 24852
		private static readonly IntPtr NativeMethodInfoPtr_RemoveParticle_Public_Void_Int32_0;

		// Token: 0x04006115 RID: 24853
		private static readonly IntPtr NativeMethodInfoPtr_Actor_solver_OnFrameBegin_Private_Void_Object_EventArgs_0;

		// Token: 0x04006116 RID: 24854
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
