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

namespace Obi
{
	// Token: 0x0200054B RID: 1355
	public class ObiExternalForce : MonoBehaviour
	{
		// Token: 0x06009919 RID: 39193 RVA: 0x00276B60 File Offset: 0x00274D60
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 644652, XrefRangeEnd = 644672, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void LateUpdate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiExternalForce.NativeMethodInfoPtr_LateUpdate_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600991A RID: 39194 RVA: 0x00276BA4 File Offset: 0x00274DA4
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 644674, RefRangeEnd = 644676, XrefRangeStart = 644672, XrefRangeEnd = 644674, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe float GetTurbulence(float turbulenceIntensity)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref turbulenceIntensity;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiExternalForce.NativeMethodInfoPtr_GetTurbulence_Protected_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x0600991B RID: 39195 RVA: 0x00276C08 File Offset: 0x00274E08
		[CallerCount(0)]
		public unsafe virtual void ApplyForcesToActor(ObiActor actor)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(actor);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiExternalForce.NativeMethodInfoPtr_ApplyForcesToActor_Public_Abstract_Virtual_New_Void_ObiActor_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600991C RID: 39196 RVA: 0x00276C6C File Offset: 0x00274E6C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 541431, RefRangeEnd = 541432, XrefRangeStart = 541431, XrefRangeEnd = 541432, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiExternalForce()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiExternalForce.NativeMethodInfoPtr__ctor_Protected_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600991D RID: 39197 RVA: 0x00276CB8 File Offset: 0x00274EB8
		// Note: this type is marked as 'beforefieldinit'.
		static ObiExternalForce()
		{
			Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiExternalForce");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr);
			ObiExternalForce.NativeFieldInfoPtr_intensity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr, "intensity");
			ObiExternalForce.NativeFieldInfoPtr_turbulence = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr, "turbulence");
			ObiExternalForce.NativeFieldInfoPtr_turbulenceFrequency = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr, "turbulenceFrequency");
			ObiExternalForce.NativeFieldInfoPtr_turbulenceSeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr, "turbulenceSeed");
			ObiExternalForce.NativeFieldInfoPtr_affectedSolvers = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr, "affectedSolvers");
			ObiExternalForce.NativeMethodInfoPtr_LateUpdate_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr, 100675242);
			ObiExternalForce.NativeMethodInfoPtr_GetTurbulence_Protected_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr, 100675243);
			ObiExternalForce.NativeMethodInfoPtr_ApplyForcesToActor_Public_Abstract_Virtual_New_Void_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr, 100675244);
			ObiExternalForce.NativeMethodInfoPtr__ctor_Protected_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiExternalForce>.NativeClassPtr, 100675245);
		}

		// Token: 0x0600991E RID: 39198 RVA: 0x0000351C File Offset: 0x0000171C
		public ObiExternalForce(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170033B4 RID: 13236
		// (get) Token: 0x0600991F RID: 39199 RVA: 0x00276D9C File Offset: 0x00274F9C
		// (set) Token: 0x06009920 RID: 39200 RVA: 0x00276DC4 File Offset: 0x00274FC4
		public unsafe float intensity
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_intensity);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_intensity)) = value;
			}
		}

		// Token: 0x170033B5 RID: 13237
		// (get) Token: 0x06009921 RID: 39201 RVA: 0x00276DE8 File Offset: 0x00274FE8
		// (set) Token: 0x06009922 RID: 39202 RVA: 0x00276E10 File Offset: 0x00275010
		public unsafe float turbulence
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_turbulence);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_turbulence)) = value;
			}
		}

		// Token: 0x170033B6 RID: 13238
		// (get) Token: 0x06009923 RID: 39203 RVA: 0x00276E34 File Offset: 0x00275034
		// (set) Token: 0x06009924 RID: 39204 RVA: 0x00276E5C File Offset: 0x0027505C
		public unsafe float turbulenceFrequency
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_turbulenceFrequency);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_turbulenceFrequency)) = value;
			}
		}

		// Token: 0x170033B7 RID: 13239
		// (get) Token: 0x06009925 RID: 39205 RVA: 0x00276E80 File Offset: 0x00275080
		// (set) Token: 0x06009926 RID: 39206 RVA: 0x00276EA8 File Offset: 0x002750A8
		public unsafe float turbulenceSeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_turbulenceSeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_turbulenceSeed)) = value;
			}
		}

		// Token: 0x170033B8 RID: 13240
		// (get) Token: 0x06009927 RID: 39207 RVA: 0x00276ECC File Offset: 0x002750CC
		// (set) Token: 0x06009928 RID: 39208 RVA: 0x00276F00 File Offset: 0x00275100
		public unsafe Il2CppReferenceArray<ObiSolver> affectedSolvers
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_affectedSolvers);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<ObiSolver>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiExternalForce.NativeFieldInfoPtr_affectedSolvers), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04006635 RID: 26165
		private static readonly IntPtr NativeFieldInfoPtr_intensity;

		// Token: 0x04006636 RID: 26166
		private static readonly IntPtr NativeFieldInfoPtr_turbulence;

		// Token: 0x04006637 RID: 26167
		private static readonly IntPtr NativeFieldInfoPtr_turbulenceFrequency;

		// Token: 0x04006638 RID: 26168
		private static readonly IntPtr NativeFieldInfoPtr_turbulenceSeed;

		// Token: 0x04006639 RID: 26169
		private static readonly IntPtr NativeFieldInfoPtr_affectedSolvers;

		// Token: 0x0400663A RID: 26170
		private static readonly IntPtr NativeMethodInfoPtr_LateUpdate_Public_Void_0;

		// Token: 0x0400663B RID: 26171
		private static readonly IntPtr NativeMethodInfoPtr_GetTurbulence_Protected_Single_Single_0;

		// Token: 0x0400663C RID: 26172
		private static readonly IntPtr NativeMethodInfoPtr_ApplyForcesToActor_Public_Abstract_Virtual_New_Void_ObiActor_0;

		// Token: 0x0400663D RID: 26173
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Protected_Void_0;
	}
}
