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

namespace RootMotion.Demos
{
	// Token: 0x020003F0 RID: 1008
	public class VRIKPlatform : MonoBehaviour
	{
		// Token: 0x06007A10 RID: 31248 RVA: 0x001F1788 File Offset: 0x001EF988
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 593318, XrefRangeEnd = 593322, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VRIKPlatform.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007A11 RID: 31249 RVA: 0x001F17CC File Offset: 0x001EF9CC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 593322, XrefRangeEnd = 593335, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VRIKPlatform.NativeMethodInfoPtr_Update_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007A12 RID: 31250 RVA: 0x001F1810 File Offset: 0x001EFA10
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 593335, XrefRangeEnd = 593337, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe VRIKPlatform()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<VRIKPlatform>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VRIKPlatform.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007A13 RID: 31251 RVA: 0x001F185C File Offset: 0x001EFA5C
		// Note: this type is marked as 'beforefieldinit'.
		static VRIKPlatform()
		{
			Il2CppClassPointerStore<VRIKPlatform>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.Demos", "VRIKPlatform");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<VRIKPlatform>.NativeClassPtr);
			VRIKPlatform.NativeFieldInfoPtr_ik = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<VRIKPlatform>.NativeClassPtr, "ik");
			VRIKPlatform.NativeFieldInfoPtr_lastPosition = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<VRIKPlatform>.NativeClassPtr, "lastPosition");
			VRIKPlatform.NativeFieldInfoPtr_lastRotation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<VRIKPlatform>.NativeClassPtr, "lastRotation");
			VRIKPlatform.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VRIKPlatform>.NativeClassPtr, 100672476);
			VRIKPlatform.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VRIKPlatform>.NativeClassPtr, 100672477);
			VRIKPlatform.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VRIKPlatform>.NativeClassPtr, 100672478);
		}

		// Token: 0x06007A14 RID: 31252 RVA: 0x0000351C File Offset: 0x0000171C
		public VRIKPlatform(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170029AE RID: 10670
		// (get) Token: 0x06007A15 RID: 31253 RVA: 0x001F1904 File Offset: 0x001EFB04
		// (set) Token: 0x06007A16 RID: 31254 RVA: 0x001F1938 File Offset: 0x001EFB38
		public unsafe VRIK ik
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(VRIKPlatform.NativeFieldInfoPtr_ik);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new VRIK(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(VRIKPlatform.NativeFieldInfoPtr_ik), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170029AF RID: 10671
		// (get) Token: 0x06007A17 RID: 31255 RVA: 0x001F1960 File Offset: 0x001EFB60
		// (set) Token: 0x06007A18 RID: 31256 RVA: 0x001F1988 File Offset: 0x001EFB88
		public unsafe Vector3 lastPosition
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(VRIKPlatform.NativeFieldInfoPtr_lastPosition);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(VRIKPlatform.NativeFieldInfoPtr_lastPosition)) = value;
			}
		}

		// Token: 0x170029B0 RID: 10672
		// (get) Token: 0x06007A19 RID: 31257 RVA: 0x001F19AC File Offset: 0x001EFBAC
		// (set) Token: 0x06007A1A RID: 31258 RVA: 0x001F19D4 File Offset: 0x001EFBD4
		public unsafe Quaternion lastRotation
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(VRIKPlatform.NativeFieldInfoPtr_lastRotation);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(VRIKPlatform.NativeFieldInfoPtr_lastRotation)) = value;
			}
		}

		// Token: 0x0400519A RID: 20890
		private static readonly IntPtr NativeFieldInfoPtr_ik;

		// Token: 0x0400519B RID: 20891
		private static readonly IntPtr NativeFieldInfoPtr_lastPosition;

		// Token: 0x0400519C RID: 20892
		private static readonly IntPtr NativeFieldInfoPtr_lastRotation;

		// Token: 0x0400519D RID: 20893
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x0400519E RID: 20894
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x0400519F RID: 20895
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
