using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;

// Token: 0x02000317 RID: 791
[Serializable]
public class NobetaBoneController : Object
{
	// Token: 0x17002563 RID: 9571
	// (get) Token: 0x06006B83 RID: 27523 RVA: 0x001B37A4 File Offset: 0x001B19A4
	public unsafe DynamicBoneCollider Collider
	{
		[CallerCount(10)]
		[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(NobetaBoneController.NativeMethodInfoPtr_get_Collider_Public_get_DynamicBoneCollider_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new DynamicBoneCollider(intPtr3) : null;
		}
	}

	// Token: 0x06006B84 RID: 27524 RVA: 0x001B37FC File Offset: 0x001B19FC
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 581170, RefRangeEnd = 581171, XrefRangeStart = 581167, XrefRangeEnd = 581170, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void UpdateValue(float value)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref value;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(NobetaBoneController.NativeMethodInfoPtr_UpdateValue_Public_Void_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06006B85 RID: 27525 RVA: 0x001B3850 File Offset: 0x001B1A50
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 581173, RefRangeEnd = 581174, XrefRangeStart = 581171, XrefRangeEnd = 581173, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Enable(bool enable)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref enable;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(NobetaBoneController.NativeMethodInfoPtr_Enable_Public_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06006B86 RID: 27526 RVA: 0x001B38A4 File Offset: 0x001B1AA4
	[CallerCount(1642)]
	[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe NobetaBoneController()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(NobetaBoneController.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06006B87 RID: 27527 RVA: 0x001B38F0 File Offset: 0x001B1AF0
	// Note: this type is marked as 'beforefieldinit'.
	static NobetaBoneController()
	{
		Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "NobetaBoneController");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr);
		NobetaBoneController.NativeFieldInfoPtr_colliderRadius = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr, "colliderRadius");
		NobetaBoneController.NativeFieldInfoPtr_boneCollider = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr, "boneCollider");
		NobetaBoneController.NativeFieldInfoPtr_bones = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr, "bones");
		NobetaBoneController.NativeMethodInfoPtr_get_Collider_Public_get_DynamicBoneCollider_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr, 100671167);
		NobetaBoneController.NativeMethodInfoPtr_UpdateValue_Public_Void_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr, 100671168);
		NobetaBoneController.NativeMethodInfoPtr_Enable_Public_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr, 100671169);
		NobetaBoneController.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<NobetaBoneController>.NativeClassPtr, 100671170);
	}

	// Token: 0x06006B88 RID: 27528 RVA: 0x0000A688 File Offset: 0x00008888
	public NobetaBoneController(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17002560 RID: 9568
	// (get) Token: 0x06006B89 RID: 27529 RVA: 0x001B39AC File Offset: 0x001B1BAC
	// (set) Token: 0x06006B8A RID: 27530 RVA: 0x001B39D4 File Offset: 0x001B1BD4
	public unsafe float colliderRadius
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(NobetaBoneController.NativeFieldInfoPtr_colliderRadius);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(NobetaBoneController.NativeFieldInfoPtr_colliderRadius)) = value;
		}
	}

	// Token: 0x17002561 RID: 9569
	// (get) Token: 0x06006B8B RID: 27531 RVA: 0x001B39F8 File Offset: 0x001B1BF8
	// (set) Token: 0x06006B8C RID: 27532 RVA: 0x001B3A2C File Offset: 0x001B1C2C
	public unsafe DynamicBoneCollider boneCollider
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(NobetaBoneController.NativeFieldInfoPtr_boneCollider);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new DynamicBoneCollider(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(NobetaBoneController.NativeFieldInfoPtr_boneCollider), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17002562 RID: 9570
	// (get) Token: 0x06006B8D RID: 27533 RVA: 0x001B3A54 File Offset: 0x001B1C54
	// (set) Token: 0x06006B8E RID: 27534 RVA: 0x001B3A88 File Offset: 0x001B1C88
	public unsafe Il2CppReferenceArray<DynamicBone> bones
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(NobetaBoneController.NativeFieldInfoPtr_bones);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppReferenceArray<DynamicBone>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(NobetaBoneController.NativeFieldInfoPtr_bones), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04004767 RID: 18279
	private static readonly IntPtr NativeFieldInfoPtr_colliderRadius;

	// Token: 0x04004768 RID: 18280
	private static readonly IntPtr NativeFieldInfoPtr_boneCollider;

	// Token: 0x04004769 RID: 18281
	private static readonly IntPtr NativeFieldInfoPtr_bones;

	// Token: 0x0400476A RID: 18282
	private static readonly IntPtr NativeMethodInfoPtr_get_Collider_Public_get_DynamicBoneCollider_0;

	// Token: 0x0400476B RID: 18283
	private static readonly IntPtr NativeMethodInfoPtr_UpdateValue_Public_Void_Single_0;

	// Token: 0x0400476C RID: 18284
	private static readonly IntPtr NativeMethodInfoPtr_Enable_Public_Void_Boolean_0;

	// Token: 0x0400476D RID: 18285
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
