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

namespace RootMotion.Demos
{
	// Token: 0x0200040F RID: 1039
	public class TerrainOffset : MonoBehaviour
	{
		// Token: 0x06007E77 RID: 32375 RVA: 0x00205E84 File Offset: 0x00204084
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623675, XrefRangeEnd = 623686, 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: 0x06007E78 RID: 32376 RVA: 0x00205EC8 File Offset: 0x002040C8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 623695, RefRangeEnd = 623696, XrefRangeStart = 623686, XrefRangeEnd = 623695, 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: 0x06007E79 RID: 32377 RVA: 0x00205F2C File Offset: 0x0020412C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623696, XrefRangeEnd = 623697, 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: 0x06007E7A RID: 32378 RVA: 0x00205F78 File Offset: 0x00204178
		// 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, 100672968);
			TerrainOffset.NativeMethodInfoPtr_GetGroundHeightOffset_Private_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, 100672969);
			TerrainOffset.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TerrainOffset>.NativeClassPtr, 100672970);
		}

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

		// Token: 0x17002AE9 RID: 10985
		// (get) Token: 0x06007E7C RID: 32380 RVA: 0x00206084 File Offset: 0x00204284
		// (set) Token: 0x06007E7D RID: 32381 RVA: 0x002060B8 File Offset: 0x002042B8
		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: 0x17002AEA RID: 10986
		// (get) Token: 0x06007E7E RID: 32382 RVA: 0x002060E0 File Offset: 0x002042E0
		// (set) Token: 0x06007E7F RID: 32383 RVA: 0x00206108 File Offset: 0x00204308
		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: 0x17002AEB RID: 10987
		// (get) Token: 0x06007E80 RID: 32384 RVA: 0x0020612C File Offset: 0x0020432C
		// (set) Token: 0x06007E81 RID: 32385 RVA: 0x00206154 File Offset: 0x00204354
		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: 0x17002AEC RID: 10988
		// (get) Token: 0x06007E82 RID: 32386 RVA: 0x00206178 File Offset: 0x00204378
		// (set) Token: 0x06007E83 RID: 32387 RVA: 0x002061A0 File Offset: 0x002043A0
		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: 0x17002AED RID: 10989
		// (get) Token: 0x06007E84 RID: 32388 RVA: 0x002061C4 File Offset: 0x002043C4
		// (set) Token: 0x06007E85 RID: 32389 RVA: 0x002061EC File Offset: 0x002043EC
		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: 0x17002AEE RID: 10990
		// (get) Token: 0x06007E86 RID: 32390 RVA: 0x00206210 File Offset: 0x00204410
		// (set) Token: 0x06007E87 RID: 32391 RVA: 0x00206238 File Offset: 0x00204438
		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: 0x17002AEF RID: 10991
		// (get) Token: 0x06007E88 RID: 32392 RVA: 0x0020625C File Offset: 0x0020445C
		// (set) Token: 0x06007E89 RID: 32393 RVA: 0x00206284 File Offset: 0x00204484
		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: 0x17002AF0 RID: 10992
		// (get) Token: 0x06007E8A RID: 32394 RVA: 0x002062A8 File Offset: 0x002044A8
		// (set) Token: 0x06007E8B RID: 32395 RVA: 0x002062D0 File Offset: 0x002044D0
		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: 0x04005514 RID: 21780
		private static readonly IntPtr NativeFieldInfoPtr_aimIK;

		// Token: 0x04005515 RID: 21781
		private static readonly IntPtr NativeFieldInfoPtr_raycastOffset;

		// Token: 0x04005516 RID: 21782
		private static readonly IntPtr NativeFieldInfoPtr_raycastLayers;

		// Token: 0x04005517 RID: 21783
		private static readonly IntPtr NativeFieldInfoPtr_min;

		// Token: 0x04005518 RID: 21784
		private static readonly IntPtr NativeFieldInfoPtr_max;

		// Token: 0x04005519 RID: 21785
		private static readonly IntPtr NativeFieldInfoPtr_lerpSpeed;

		// Token: 0x0400551A RID: 21786
		private static readonly IntPtr NativeFieldInfoPtr_hit;

		// Token: 0x0400551B RID: 21787
		private static readonly IntPtr NativeFieldInfoPtr_offset;

		// Token: 0x0400551C RID: 21788
		private static readonly IntPtr NativeMethodInfoPtr_LateUpdate_Private_Void_0;

		// Token: 0x0400551D RID: 21789
		private static readonly IntPtr NativeMethodInfoPtr_GetGroundHeightOffset_Private_Vector3_Vector3_0;

		// Token: 0x0400551E RID: 21790
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
