using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;

namespace Obi
{
	// Token: 0x02000523 RID: 1315
	public class ObiSkinConstraints : ObiBatchedConstraints
	{
		// Token: 0x0600967F RID: 38527 RVA: 0x0026BCD4 File Offset: 0x00269ED4
		[CallerCount(16)]
		[CachedScanResults(RefRangeStart = 30161, RefRangeEnd = 30177, XrefRangeStart = 30161, XrefRangeEnd = 30177, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override Oni.ConstraintType GetConstraintType()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiSkinConstraints.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06009680 RID: 38528 RVA: 0x0026BD30 File Offset: 0x00269F30
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642647, XrefRangeEnd = 642667, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override List<ObiConstraintBatch> GetBatches()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiSkinConstraints.NativeMethodInfoPtr_GetBatches_Public_Virtual_List_1_ObiConstraintBatch_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new List<ObiConstraintBatch>(intPtr3) : null;
		}

		// Token: 0x06009681 RID: 38529 RVA: 0x0026BD94 File Offset: 0x00269F94
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642667, XrefRangeEnd = 642672, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Clear()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiSkinConstraints.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009682 RID: 38530 RVA: 0x0026BDE4 File Offset: 0x00269FE4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 642675, RefRangeEnd = 642676, XrefRangeStart = 642672, XrefRangeEnd = 642675, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AddBatch(ObiSkinConstraintBatch batch)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(batch);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiSkinConstraints.NativeMethodInfoPtr_AddBatch_Public_Void_ObiSkinConstraintBatch_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06009683 RID: 38531 RVA: 0x0026BE40 File Offset: 0x0026A040
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642676, XrefRangeEnd = 642680, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RemoveBatch(ObiSkinConstraintBatch batch)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(batch);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiSkinConstraints.NativeMethodInfoPtr_RemoveBatch_Public_Void_ObiSkinConstraintBatch_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06009684 RID: 38532 RVA: 0x0026BE9C File Offset: 0x0026A09C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642680, XrefRangeEnd = 642723, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDrawGizmosSelected()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiSkinConstraints.NativeMethodInfoPtr_OnDrawGizmosSelected_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009685 RID: 38533 RVA: 0x0026BEE0 File Offset: 0x0026A0E0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642723, XrefRangeEnd = 642731, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiSkinConstraints()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiSkinConstraints.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009686 RID: 38534 RVA: 0x0026BF2C File Offset: 0x0026A12C
		// Note: this type is marked as 'beforefieldinit'.
		static ObiSkinConstraints()
		{
			Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiSkinConstraints");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr);
			ObiSkinConstraints.NativeFieldInfoPtr_stiffness = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, "stiffness");
			ObiSkinConstraints.NativeFieldInfoPtr_batches = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, "batches");
			ObiSkinConstraints.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, 100675000);
			ObiSkinConstraints.NativeMethodInfoPtr_GetBatches_Public_Virtual_List_1_ObiConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, 100675001);
			ObiSkinConstraints.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, 100675002);
			ObiSkinConstraints.NativeMethodInfoPtr_AddBatch_Public_Void_ObiSkinConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, 100675003);
			ObiSkinConstraints.NativeMethodInfoPtr_RemoveBatch_Public_Void_ObiSkinConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, 100675004);
			ObiSkinConstraints.NativeMethodInfoPtr_OnDrawGizmosSelected_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, 100675005);
			ObiSkinConstraints.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, 100675006);
		}

		// Token: 0x06009687 RID: 38535 RVA: 0x00269EF0 File Offset: 0x002680F0
		public ObiSkinConstraints(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170032DD RID: 13021
		// (get) Token: 0x06009688 RID: 38536 RVA: 0x0026C010 File Offset: 0x0026A210
		// (set) Token: 0x06009689 RID: 38537 RVA: 0x0026C038 File Offset: 0x0026A238
		public unsafe float stiffness
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiSkinConstraints.NativeFieldInfoPtr_stiffness);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiSkinConstraints.NativeFieldInfoPtr_stiffness)) = value;
			}
		}

		// Token: 0x170032DE RID: 13022
		// (get) Token: 0x0600968A RID: 38538 RVA: 0x0026C05C File Offset: 0x0026A25C
		// (set) Token: 0x0600968B RID: 38539 RVA: 0x0026C090 File Offset: 0x0026A290
		public unsafe List<ObiSkinConstraintBatch> batches
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiSkinConstraints.NativeFieldInfoPtr_batches);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<ObiSkinConstraintBatch>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiSkinConstraints.NativeFieldInfoPtr_batches), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04006471 RID: 25713
		private static readonly IntPtr NativeFieldInfoPtr_stiffness;

		// Token: 0x04006472 RID: 25714
		private static readonly IntPtr NativeFieldInfoPtr_batches;

		// Token: 0x04006473 RID: 25715
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0;

		// Token: 0x04006474 RID: 25716
		private static readonly IntPtr NativeMethodInfoPtr_GetBatches_Public_Virtual_List_1_ObiConstraintBatch_0;

		// Token: 0x04006475 RID: 25717
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Virtual_Void_0;

		// Token: 0x04006476 RID: 25718
		private static readonly IntPtr NativeMethodInfoPtr_AddBatch_Public_Void_ObiSkinConstraintBatch_0;

		// Token: 0x04006477 RID: 25719
		private static readonly IntPtr NativeMethodInfoPtr_RemoveBatch_Public_Void_ObiSkinConstraintBatch_0;

		// Token: 0x04006478 RID: 25720
		private static readonly IntPtr NativeMethodInfoPtr_OnDrawGizmosSelected_Public_Void_0;

		// Token: 0x04006479 RID: 25721
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000524 RID: 1316
		[ObfuscatedName("Obi.ObiSkinConstraints/<>c")]
		[Serializable]
		public sealed class __c : Object
		{
			// Token: 0x0600968C RID: 38540 RVA: 0x0026C0B8 File Offset: 0x0026A2B8
			[CallerCount(1664)]
			[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe __c()
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiSkinConstraints.__c>.NativeClassPtr))
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiSkinConstraints.__c.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x0600968D RID: 38541 RVA: 0x0026C104 File Offset: 0x0026A304
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 51857, RefRangeEnd = 51858, XrefRangeStart = 51857, XrefRangeEnd = 51858, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe ObiConstraintBatch _GetBatches_b__3_0(ObiSkinConstraintBatch x)
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(x);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiSkinConstraints.__c.NativeMethodInfoPtr__GetBatches_b__3_0_Internal_ObiConstraintBatch_ObiSkinConstraintBatch_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new ObiConstraintBatch(intPtr3) : null;
				}
			}

			// Token: 0x0600968E RID: 38542 RVA: 0x0026C174 File Offset: 0x0026A374
			// Note: this type is marked as 'beforefieldinit'.
			static __c()
			{
				Il2CppClassPointerStore<ObiSkinConstraints.__c>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ObiSkinConstraints>.NativeClassPtr, "<>c");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiSkinConstraints.__c>.NativeClassPtr);
				ObiSkinConstraints.__c.NativeFieldInfoPtr___9 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiSkinConstraints.__c>.NativeClassPtr, "<>9");
				ObiSkinConstraints.__c.NativeFieldInfoPtr___9__3_0 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiSkinConstraints.__c>.NativeClassPtr, "<>9__3_0");
				ObiSkinConstraints.__c.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiSkinConstraints.__c>.NativeClassPtr, 100675008);
				ObiSkinConstraints.__c.NativeMethodInfoPtr__GetBatches_b__3_0_Internal_ObiConstraintBatch_ObiSkinConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiSkinConstraints.__c>.NativeClassPtr, 100675009);
			}

			// Token: 0x0600968F RID: 38543 RVA: 0x0000A74C File Offset: 0x0000894C
			public __c(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170032DF RID: 13023
			// (get) Token: 0x06009690 RID: 38544 RVA: 0x0026C1F0 File Offset: 0x0026A3F0
			// (set) Token: 0x06009691 RID: 38545 RVA: 0x0026C21B File Offset: 0x0026A41B
			public unsafe static ObiSkinConstraints.__c __9
			{
				get
				{
					IntPtr intPtr;
					IL2CPP.il2cpp_field_static_get_value(ObiSkinConstraints.__c.NativeFieldInfoPtr___9, (void*)(&intPtr));
					IntPtr intPtr2 = intPtr;
					return (intPtr2 != 0) ? new ObiSkinConstraints.__c(intPtr2) : null;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(ObiSkinConstraints.__c.NativeFieldInfoPtr___9, IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170032E0 RID: 13024
			// (get) Token: 0x06009692 RID: 38546 RVA: 0x0026C230 File Offset: 0x0026A430
			// (set) Token: 0x06009693 RID: 38547 RVA: 0x0026C25B File Offset: 0x0026A45B
			public unsafe static Converter<ObiSkinConstraintBatch, ObiConstraintBatch> __9__3_0
			{
				get
				{
					IntPtr intPtr;
					IL2CPP.il2cpp_field_static_get_value(ObiSkinConstraints.__c.NativeFieldInfoPtr___9__3_0, (void*)(&intPtr));
					IntPtr intPtr2 = intPtr;
					return (intPtr2 != 0) ? new Converter<ObiSkinConstraintBatch, ObiConstraintBatch>(intPtr2) : null;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(ObiSkinConstraints.__c.NativeFieldInfoPtr___9__3_0, IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x0400647A RID: 25722
			private static readonly IntPtr NativeFieldInfoPtr___9;

			// Token: 0x0400647B RID: 25723
			private static readonly IntPtr NativeFieldInfoPtr___9__3_0;

			// Token: 0x0400647C RID: 25724
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

			// Token: 0x0400647D RID: 25725
			private static readonly IntPtr NativeMethodInfoPtr__GetBatches_b__3_0_Internal_ObiConstraintBatch_ObiSkinConstraintBatch_0;
		}
	}
}
