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

namespace Obi
{
	// Token: 0x02000527 RID: 1319
	public class ObiVolumeConstraints : ObiBatchedConstraints
	{
		// Token: 0x060096AB RID: 38571 RVA: 0x0026C86C File Offset: 0x0026AA6C
		[CallerCount(0)]
		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), ObiVolumeConstraints.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060096AC RID: 38572 RVA: 0x0026C8C8 File Offset: 0x0026AAC8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642809, XrefRangeEnd = 642829, 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), ObiVolumeConstraints.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: 0x060096AD RID: 38573 RVA: 0x0026C92C File Offset: 0x0026AB2C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642829, XrefRangeEnd = 642834, 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), ObiVolumeConstraints.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060096AE RID: 38574 RVA: 0x0026C97C File Offset: 0x0026AB7C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642834, XrefRangeEnd = 642837, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AddBatch(ObiVolumeConstraintBatch 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(ObiVolumeConstraints.NativeMethodInfoPtr_AddBatch_Public_Void_ObiVolumeConstraintBatch_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060096AF RID: 38575 RVA: 0x0026C9D8 File Offset: 0x0026ABD8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642837, XrefRangeEnd = 642841, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RemoveBatch(ObiVolumeConstraintBatch 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(ObiVolumeConstraints.NativeMethodInfoPtr_RemoveBatch_Public_Void_ObiVolumeConstraintBatch_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060096B0 RID: 38576 RVA: 0x0026CA34 File Offset: 0x0026AC34
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642841, XrefRangeEnd = 642888, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDrawGizmosSelected()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiVolumeConstraints.NativeMethodInfoPtr_OnDrawGizmosSelected_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060096B1 RID: 38577 RVA: 0x0026CA78 File Offset: 0x0026AC78
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 642888, XrefRangeEnd = 642896, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiVolumeConstraints()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiVolumeConstraints.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060096B2 RID: 38578 RVA: 0x0026CAC4 File Offset: 0x0026ACC4
		// Note: this type is marked as 'beforefieldinit'.
		static ObiVolumeConstraints()
		{
			Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiVolumeConstraints");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr);
			ObiVolumeConstraints.NativeFieldInfoPtr_overpressure = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, "overpressure");
			ObiVolumeConstraints.NativeFieldInfoPtr_stiffness = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, "stiffness");
			ObiVolumeConstraints.NativeFieldInfoPtr_batches = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, "batches");
			ObiVolumeConstraints.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100675020);
			ObiVolumeConstraints.NativeMethodInfoPtr_GetBatches_Public_Virtual_List_1_ObiConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100675021);
			ObiVolumeConstraints.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100675022);
			ObiVolumeConstraints.NativeMethodInfoPtr_AddBatch_Public_Void_ObiVolumeConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100675023);
			ObiVolumeConstraints.NativeMethodInfoPtr_RemoveBatch_Public_Void_ObiVolumeConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100675024);
			ObiVolumeConstraints.NativeMethodInfoPtr_OnDrawGizmosSelected_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100675025);
			ObiVolumeConstraints.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100675026);
		}

		// Token: 0x060096B3 RID: 38579 RVA: 0x00269EF0 File Offset: 0x002680F0
		public ObiVolumeConstraints(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170032E6 RID: 13030
		// (get) Token: 0x060096B4 RID: 38580 RVA: 0x0026CBBC File Offset: 0x0026ADBC
		// (set) Token: 0x060096B5 RID: 38581 RVA: 0x0026CBE4 File Offset: 0x0026ADE4
		public unsafe float overpressure
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiVolumeConstraints.NativeFieldInfoPtr_overpressure);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiVolumeConstraints.NativeFieldInfoPtr_overpressure)) = value;
			}
		}

		// Token: 0x170032E7 RID: 13031
		// (get) Token: 0x060096B6 RID: 38582 RVA: 0x0026CC08 File Offset: 0x0026AE08
		// (set) Token: 0x060096B7 RID: 38583 RVA: 0x0026CC30 File Offset: 0x0026AE30
		public unsafe float stiffness
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiVolumeConstraints.NativeFieldInfoPtr_stiffness);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiVolumeConstraints.NativeFieldInfoPtr_stiffness)) = value;
			}
		}

		// Token: 0x170032E8 RID: 13032
		// (get) Token: 0x060096B8 RID: 38584 RVA: 0x0026CC54 File Offset: 0x0026AE54
		// (set) Token: 0x060096B9 RID: 38585 RVA: 0x0026CC88 File Offset: 0x0026AE88
		public unsafe List<ObiVolumeConstraintBatch> batches
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiVolumeConstraints.NativeFieldInfoPtr_batches);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<ObiVolumeConstraintBatch>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiVolumeConstraints.NativeFieldInfoPtr_batches), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x0400648C RID: 25740
		private static readonly IntPtr NativeFieldInfoPtr_overpressure;

		// Token: 0x0400648D RID: 25741
		private static readonly IntPtr NativeFieldInfoPtr_stiffness;

		// Token: 0x0400648E RID: 25742
		private static readonly IntPtr NativeFieldInfoPtr_batches;

		// Token: 0x0400648F RID: 25743
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0;

		// Token: 0x04006490 RID: 25744
		private static readonly IntPtr NativeMethodInfoPtr_GetBatches_Public_Virtual_List_1_ObiConstraintBatch_0;

		// Token: 0x04006491 RID: 25745
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Virtual_Void_0;

		// Token: 0x04006492 RID: 25746
		private static readonly IntPtr NativeMethodInfoPtr_AddBatch_Public_Void_ObiVolumeConstraintBatch_0;

		// Token: 0x04006493 RID: 25747
		private static readonly IntPtr NativeMethodInfoPtr_RemoveBatch_Public_Void_ObiVolumeConstraintBatch_0;

		// Token: 0x04006494 RID: 25748
		private static readonly IntPtr NativeMethodInfoPtr_OnDrawGizmosSelected_Public_Void_0;

		// Token: 0x04006495 RID: 25749
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

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

			// Token: 0x060096BB RID: 38587 RVA: 0x0026CCFC File Offset: 0x0026AEFC
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 51857, RefRangeEnd = 51858, XrefRangeStart = 51857, XrefRangeEnd = 51858, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe ObiConstraintBatch _GetBatches_b__4_0(ObiVolumeConstraintBatch 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(ObiVolumeConstraints.__c.NativeMethodInfoPtr__GetBatches_b__4_0_Internal_ObiConstraintBatch_ObiVolumeConstraintBatch_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new ObiConstraintBatch(intPtr3) : null;
				}
			}

			// Token: 0x060096BC RID: 38588 RVA: 0x0026CD6C File Offset: 0x0026AF6C
			// Note: this type is marked as 'beforefieldinit'.
			static __c()
			{
				Il2CppClassPointerStore<ObiVolumeConstraints.__c>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, "<>c");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiVolumeConstraints.__c>.NativeClassPtr);
				ObiVolumeConstraints.__c.NativeFieldInfoPtr___9 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiVolumeConstraints.__c>.NativeClassPtr, "<>9");
				ObiVolumeConstraints.__c.NativeFieldInfoPtr___9__4_0 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiVolumeConstraints.__c>.NativeClassPtr, "<>9__4_0");
				ObiVolumeConstraints.__c.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints.__c>.NativeClassPtr, 100675028);
				ObiVolumeConstraints.__c.NativeMethodInfoPtr__GetBatches_b__4_0_Internal_ObiConstraintBatch_ObiVolumeConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints.__c>.NativeClassPtr, 100675029);
			}

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

			// Token: 0x170032E9 RID: 13033
			// (get) Token: 0x060096BE RID: 38590 RVA: 0x0026CDE8 File Offset: 0x0026AFE8
			// (set) Token: 0x060096BF RID: 38591 RVA: 0x0026CE13 File Offset: 0x0026B013
			public unsafe static ObiVolumeConstraints.__c __9
			{
				get
				{
					IntPtr intPtr;
					IL2CPP.il2cpp_field_static_get_value(ObiVolumeConstraints.__c.NativeFieldInfoPtr___9, (void*)(&intPtr));
					IntPtr intPtr2 = intPtr;
					return (intPtr2 != 0) ? new ObiVolumeConstraints.__c(intPtr2) : null;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(ObiVolumeConstraints.__c.NativeFieldInfoPtr___9, IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170032EA RID: 13034
			// (get) Token: 0x060096C0 RID: 38592 RVA: 0x0026CE28 File Offset: 0x0026B028
			// (set) Token: 0x060096C1 RID: 38593 RVA: 0x0026CE53 File Offset: 0x0026B053
			public unsafe static Converter<ObiVolumeConstraintBatch, ObiConstraintBatch> __9__4_0
			{
				get
				{
					IntPtr intPtr;
					IL2CPP.il2cpp_field_static_get_value(ObiVolumeConstraints.__c.NativeFieldInfoPtr___9__4_0, (void*)(&intPtr));
					IntPtr intPtr2 = intPtr;
					return (intPtr2 != 0) ? new Converter<ObiVolumeConstraintBatch, ObiConstraintBatch>(intPtr2) : null;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(ObiVolumeConstraints.__c.NativeFieldInfoPtr___9__4_0, IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x04006496 RID: 25750
			private static readonly IntPtr NativeFieldInfoPtr___9;

			// Token: 0x04006497 RID: 25751
			private static readonly IntPtr NativeFieldInfoPtr___9__4_0;

			// Token: 0x04006498 RID: 25752
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

			// Token: 0x04006499 RID: 25753
			private static readonly IntPtr NativeMethodInfoPtr__GetBatches_b__4_0_Internal_ObiConstraintBatch_ObiVolumeConstraintBatch_0;
		}
	}
}
