using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using RootMotion.FinalIK;
using UnityEngine;

namespace RootMotion.Demos
{
	// Token: 0x020003B7 RID: 951
	public class TerrainOffset : MonoBehaviour
	{
		// Token: 0x06007624 RID: 30244 RVA: 0x001E3148 File Offset: 0x001E1348
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591370, XrefRangeEnd = 591381, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void LateUpdate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TerrainOffset.NativeMethodInfoPtr_LateUpdate_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007625 RID: 30245 RVA: 0x001E318C File Offset: 0x001E138C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 591390, RefRangeEnd = 591391, XrefRangeStart = 591381, XrefRangeEnd = 591390, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 GetGroundHeightOffset(Vector3 worldPosition)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref worldPosition;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TerrainOffset.NativeMethodInfoPtr_GetGroundHeightOffset_Private_Vector3_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06007626 RID: 30246 RVA: 0x001E31F0 File Offset: 0x001E13F0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591391, XrefRangeEnd = 591392, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe TerrainOffset()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TerrainOffset.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007627 RID: 30247 RVA: 0x001E323C File Offset: 0x001E143C
		// Note: this type is marked as 'beforefieldinit'.
		static TerrainOffset()
		{
			Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.Demos", "TerrainOffset");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr);
			TerrainOffset.NativeFieldInfoPtr_aimIK = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, "aimIK");
			TerrainOffset.NativeFieldInfoPtr_raycastOffset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, "raycastOffset");
			TerrainOffset.NativeFieldInfoPtr_raycastLayers = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, "raycastLayers");
			TerrainOffset.NativeFieldInfoPtr_min = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, "min");
			TerrainOffset.NativeFieldInfoPtr_max = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, "max");
			TerrainOffset.NativeFieldInfoPtr_lerpSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, "lerpSpeed");
			TerrainOffset.NativeFieldInfoPtr_hit = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, "hit");
			TerrainOffset.NativeFieldInfoPtr_offset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, "offset");
			TerrainOffset.NativeMethodInfoPtr_LateUpdate_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, 100672255);
			TerrainOffset.NativeMethodInfoPtr_GetGroundHeightOffset_Private_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, 100672256);
			TerrainOffset.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, 100672257);
		}

		// Token: 0x06007628 RID: 30248 RVA: 0x0000351C File Offset: 0x0000171C
		public TerrainOffset(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700284E RID: 10318
		// (get) Token: 0x06007629 RID: 30249 RVA: 0x001E3348 File Offset: 0x001E1548
		// (set) Token: 0x0600762A RID: 30250 RVA: 0x001E337C File Offset: 0x001E157C
		public unsafe AimIK aimIK
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_aimIK);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AimIK(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_aimIK), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700284F RID: 10319
		// (get) Token: 0x0600762B RID: 30251 RVA: 0x001E33A4 File Offset: 0x001E15A4
		// (set) Token: 0x0600762C RID: 30252 RVA: 0x001E33CC File Offset: 0x001E15CC
		public unsafe Vector3 raycastOffset
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_raycastOffset);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_raycastOffset)) = value;
			}
		}

		// Token: 0x17002850 RID: 10320
		// (get) Token: 0x0600762D RID: 30253 RVA: 0x001E33F0 File Offset: 0x001E15F0
		// (set) Token: 0x0600762E RID: 30254 RVA: 0x001E3418 File Offset: 0x001E1618
		public unsafe LayerMask raycastLayers
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_raycastLayers);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_raycastLayers)) = value;
			}
		}

		// Token: 0x17002851 RID: 10321
		// (get) Token: 0x0600762F RID: 30255 RVA: 0x001E343C File Offset: 0x001E163C
		// (set) Token: 0x06007630 RID: 30256 RVA: 0x001E3464 File Offset: 0x001E1664
		public unsafe float min
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_min);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_min)) = value;
			}
		}

		// Token: 0x17002852 RID: 10322
		// (get) Token: 0x06007631 RID: 30257 RVA: 0x001E3488 File Offset: 0x001E1688
		// (set) Token: 0x06007632 RID: 30258 RVA: 0x001E34B0 File Offset: 0x001E16B0
		public unsafe float max
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_max);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_max)) = value;
			}
		}

		// Token: 0x17002853 RID: 10323
		// (get) Token: 0x06007633 RID: 30259 RVA: 0x001E34D4 File Offset: 0x001E16D4
		// (set) Token: 0x06007634 RID: 30260 RVA: 0x001E34FC File Offset: 0x001E16FC
		public unsafe float lerpSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_lerpSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_lerpSpeed)) = value;
			}
		}

		// Token: 0x17002854 RID: 10324
		// (get) Token: 0x06007635 RID: 30261 RVA: 0x001E3520 File Offset: 0x001E1720
		// (set) Token: 0x06007636 RID: 30262 RVA: 0x001E3548 File Offset: 0x001E1748
		public unsafe RaycastHit hit
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_hit);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_hit)) = value;
			}
		}

		// Token: 0x17002855 RID: 10325
		// (get) Token: 0x06007637 RID: 30263 RVA: 0x001E356C File Offset: 0x001E176C
		// (set) Token: 0x06007638 RID: 30264 RVA: 0x001E3594 File Offset: 0x001E1794
		public unsafe Vector3 offset
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_offset);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TerrainOffset.NativeFieldInfoPtr_offset)) = value;
			}
		}

		// Token: 0x04004F6B RID: 20331
		private static readonly IntPtr NativeFieldInfoPtr_aimIK;

		// Token: 0x04004F6C RID: 20332
		private static readonly IntPtr NativeFieldInfoPtr_raycastOffset;

		// Token: 0x04004F6D RID: 20333
		private static readonly IntPtr NativeFieldInfoPtr_raycastLayers;

		// Token: 0x04004F6E RID: 20334
		private static readonly IntPtr NativeFieldInfoPtr_min;

		// Token: 0x04004F6F RID: 20335
		private static readonly IntPtr NativeFieldInfoPtr_max;

		// Token: 0x04004F70 RID: 20336
		private static readonly IntPtr NativeFieldInfoPtr_lerpSpeed;

		// Token: 0x04004F71 RID: 20337
		private static readonly IntPtr NativeFieldInfoPtr_hit;

		// Token: 0x04004F72 RID: 20338
		private static readonly IntPtr NativeFieldInfoPtr_offset;

		// Token: 0x04004F73 RID: 20339
		private static readonly IntPtr NativeMethodInfoPtr_LateUpdate_Private_Void_0;

		// Token: 0x04004F74 RID: 20340
		private static readonly IntPtr NativeMethodInfoPtr_GetGroundHeightOffset_Private_Vector3_Vector3_0;

		// Token: 0x04004F75 RID: 20341
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
