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

// Token: 0x020000A0 RID: 160
public class LockPoint : MonoBehaviour
{
	// Token: 0x060012F5 RID: 4853 RVA: 0x0005218C File Offset: 0x0005038C
	[CallerCount(0)]
	public unsafe void SetLockState(bool locked)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref locked;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(LockPoint.NativeMethodInfoPtr_SetLockState_Public_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x060012F6 RID: 4854 RVA: 0x000521E0 File Offset: 0x000503E0
	[CallerCount(0)]
	public unsafe bool GetLockState()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(LockPoint.NativeMethodInfoPtr_GetLockState_Public_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		return *IL2CPP.il2cpp_object_unbox(intPtr);
	}

	// Token: 0x060012F7 RID: 4855 RVA: 0x00052230 File Offset: 0x00050430
	[CallerCount(0)]
	public unsafe void SetLockEnable(bool bEnable)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref bEnable;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(LockPoint.NativeMethodInfoPtr_SetLockEnable_Public_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x060012F8 RID: 4856 RVA: 0x00052284 File Offset: 0x00050484
	[CallerCount(0)]
	public unsafe bool GetLockEnable()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(LockPoint.NativeMethodInfoPtr_GetLockEnable_Public_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		return *IL2CPP.il2cpp_object_unbox(intPtr);
	}

	// Token: 0x060012F9 RID: 4857 RVA: 0x000522D4 File Offset: 0x000504D4
	[CallerCount(35)]
	[CachedScanResults(RefRangeStart = 223929, RefRangeEnd = 223964, XrefRangeStart = 223929, XrefRangeEnd = 223964, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe Transform GetTransform()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(LockPoint.NativeMethodInfoPtr_GetTransform_Public_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		IntPtr intPtr3 = intPtr;
		return (intPtr3 != 0) ? new Transform(intPtr3) : null;
	}

	// Token: 0x060012FA RID: 4858 RVA: 0x0005232C File Offset: 0x0005052C
	[CallerCount(63)]
	[CachedScanResults(RefRangeStart = 222154, RefRangeEnd = 222217, XrefRangeStart = 222154, XrefRangeEnd = 222217, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe LockPoint()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<LockPoint>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(LockPoint.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060012FB RID: 4859 RVA: 0x00052378 File Offset: 0x00050578
	// Note: this type is marked as 'beforefieldinit'.
	static LockPoint()
	{
		Il2CppClassPointerStore<LockPoint>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "LockPoint");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<LockPoint>.NativeClassPtr);
		LockPoint.NativeFieldInfoPtr_isLockEnabled = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<LockPoint>.NativeClassPtr, "isLockEnabled");
		LockPoint.NativeFieldInfoPtr_isLocked = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<LockPoint>.NativeClassPtr, "isLocked");
		LockPoint.NativeMethodInfoPtr_SetLockState_Public_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<LockPoint>.NativeClassPtr, 100665067);
		LockPoint.NativeMethodInfoPtr_GetLockState_Public_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<LockPoint>.NativeClassPtr, 100665068);
		LockPoint.NativeMethodInfoPtr_SetLockEnable_Public_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<LockPoint>.NativeClassPtr, 100665069);
		LockPoint.NativeMethodInfoPtr_GetLockEnable_Public_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<LockPoint>.NativeClassPtr, 100665070);
		LockPoint.NativeMethodInfoPtr_GetTransform_Public_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<LockPoint>.NativeClassPtr, 100665071);
		LockPoint.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<LockPoint>.NativeClassPtr, 100665072);
	}

	// Token: 0x060012FC RID: 4860 RVA: 0x0000351C File Offset: 0x0000171C
	public LockPoint(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x170005C1 RID: 1473
	// (get) Token: 0x060012FD RID: 4861 RVA: 0x00052448 File Offset: 0x00050648
	// (set) Token: 0x060012FE RID: 4862 RVA: 0x00052470 File Offset: 0x00050670
	public unsafe bool isLockEnabled
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(LockPoint.NativeFieldInfoPtr_isLockEnabled);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(LockPoint.NativeFieldInfoPtr_isLockEnabled)) = value;
		}
	}

	// Token: 0x170005C2 RID: 1474
	// (get) Token: 0x060012FF RID: 4863 RVA: 0x00052494 File Offset: 0x00050694
	// (set) Token: 0x06001300 RID: 4864 RVA: 0x000524BC File Offset: 0x000506BC
	public unsafe bool isLocked
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(LockPoint.NativeFieldInfoPtr_isLocked);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(LockPoint.NativeFieldInfoPtr_isLocked)) = value;
		}
	}

	// Token: 0x04000EE6 RID: 3814
	private static readonly IntPtr NativeFieldInfoPtr_isLockEnabled;

	// Token: 0x04000EE7 RID: 3815
	private static readonly IntPtr NativeFieldInfoPtr_isLocked;

	// Token: 0x04000EE8 RID: 3816
	private static readonly IntPtr NativeMethodInfoPtr_SetLockState_Public_Void_Boolean_0;

	// Token: 0x04000EE9 RID: 3817
	private static readonly IntPtr NativeMethodInfoPtr_GetLockState_Public_Boolean_0;

	// Token: 0x04000EEA RID: 3818
	private static readonly IntPtr NativeMethodInfoPtr_SetLockEnable_Public_Void_Boolean_0;

	// Token: 0x04000EEB RID: 3819
	private static readonly IntPtr NativeMethodInfoPtr_GetLockEnable_Public_Boolean_0;

	// Token: 0x04000EEC RID: 3820
	private static readonly IntPtr NativeMethodInfoPtr_GetTransform_Public_Transform_0;

	// Token: 0x04000EED RID: 3821
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
