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

namespace RootMotion.Demos
{
	// Token: 0x02000440 RID: 1088
	public class TwoHandedProp : MonoBehaviour
	{
		// Token: 0x060081F9 RID: 33273 RVA: 0x00212BE0 File Offset: 0x00210DE0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 625422, XrefRangeEnd = 625448, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TwoHandedProp.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060081FA RID: 33274 RVA: 0x00212C24 File Offset: 0x00210E24
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 625448, XrefRangeEnd = 625464, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void LateUpdate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TwoHandedProp.NativeMethodInfoPtr_LateUpdate_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060081FB RID: 33275 RVA: 0x00212C68 File Offset: 0x00210E68
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 625464, XrefRangeEnd = 625470, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AfterFBBIK()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TwoHandedProp.NativeMethodInfoPtr_AfterFBBIK_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060081FC RID: 33276 RVA: 0x00212CAC File Offset: 0x00210EAC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 625470, XrefRangeEnd = 625483, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDestroy()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TwoHandedProp.NativeMethodInfoPtr_OnDestroy_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060081FD RID: 33277 RVA: 0x00212CF0 File Offset: 0x00210EF0
		[CallerCount(67)]
		[CachedScanResults(RefRangeStart = 166362, RefRangeEnd = 166429, XrefRangeStart = 166362, XrefRangeEnd = 166429, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe TwoHandedProp()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TwoHandedProp.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060081FE RID: 33278 RVA: 0x00212D3C File Offset: 0x00210F3C
		// Note: this type is marked as 'beforefieldinit'.
		static TwoHandedProp()
		{
			Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.Demos", "TwoHandedProp");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr);
			TwoHandedProp.NativeFieldInfoPtr_leftHandTarget = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr, "leftHandTarget");
			TwoHandedProp.NativeFieldInfoPtr_ik = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr, "ik");
			TwoHandedProp.NativeFieldInfoPtr_targetPosRelativeToRight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr, "targetPosRelativeToRight");
			TwoHandedProp.NativeFieldInfoPtr_targetRotRelativeToRight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr, "targetRotRelativeToRight");
			TwoHandedProp.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr, 100673159);
			TwoHandedProp.NativeMethodInfoPtr_LateUpdate_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr, 100673160);
			TwoHandedProp.NativeMethodInfoPtr_AfterFBBIK_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr, 100673161);
			TwoHandedProp.NativeMethodInfoPtr_OnDestroy_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr, 100673162);
			TwoHandedProp.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TwoHandedProp>.NativeClassPtr, 100673163);
		}

		// Token: 0x060081FF RID: 33279 RVA: 0x0000351C File Offset: 0x0000171C
		public TwoHandedProp(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002C29 RID: 11305
		// (get) Token: 0x06008200 RID: 33280 RVA: 0x00212E20 File Offset: 0x00211020
		// (set) Token: 0x06008201 RID: 33281 RVA: 0x00212E54 File Offset: 0x00211054
		public unsafe Transform leftHandTarget
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwoHandedProp.NativeFieldInfoPtr_leftHandTarget);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Transform(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwoHandedProp.NativeFieldInfoPtr_leftHandTarget), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002C2A RID: 11306
		// (get) Token: 0x06008202 RID: 33282 RVA: 0x00212E7C File Offset: 0x0021107C
		// (set) Token: 0x06008203 RID: 33283 RVA: 0x00212EB0 File Offset: 0x002110B0
		public unsafe FullBodyBipedIK ik
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwoHandedProp.NativeFieldInfoPtr_ik);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new FullBodyBipedIK(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwoHandedProp.NativeFieldInfoPtr_ik), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002C2B RID: 11307
		// (get) Token: 0x06008204 RID: 33284 RVA: 0x00212ED8 File Offset: 0x002110D8
		// (set) Token: 0x06008205 RID: 33285 RVA: 0x00212F00 File Offset: 0x00211100
		public unsafe Vector3 targetPosRelativeToRight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwoHandedProp.NativeFieldInfoPtr_targetPosRelativeToRight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwoHandedProp.NativeFieldInfoPtr_targetPosRelativeToRight)) = value;
			}
		}

		// Token: 0x17002C2C RID: 11308
		// (get) Token: 0x06008206 RID: 33286 RVA: 0x00212F24 File Offset: 0x00211124
		// (set) Token: 0x06008207 RID: 33287 RVA: 0x00212F4C File Offset: 0x0021114C
		public unsafe Quaternion targetRotRelativeToRight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwoHandedProp.NativeFieldInfoPtr_targetRotRelativeToRight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwoHandedProp.NativeFieldInfoPtr_targetRotRelativeToRight)) = value;
			}
		}

		// Token: 0x04005707 RID: 22279
		private static readonly IntPtr NativeFieldInfoPtr_leftHandTarget;

		// Token: 0x04005708 RID: 22280
		private static readonly IntPtr NativeFieldInfoPtr_ik;

		// Token: 0x04005709 RID: 22281
		private static readonly IntPtr NativeFieldInfoPtr_targetPosRelativeToRight;

		// Token: 0x0400570A RID: 22282
		private static readonly IntPtr NativeFieldInfoPtr_targetRotRelativeToRight;

		// Token: 0x0400570B RID: 22283
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x0400570C RID: 22284
		private static readonly IntPtr NativeMethodInfoPtr_LateUpdate_Private_Void_0;

		// Token: 0x0400570D RID: 22285
		private static readonly IntPtr NativeMethodInfoPtr_AfterFBBIK_Private_Void_0;

		// Token: 0x0400570E RID: 22286
		private static readonly IntPtr NativeMethodInfoPtr_OnDestroy_Private_Void_0;

		// Token: 0x0400570F RID: 22287
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
