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

namespace Obi
{
	// Token: 0x020004CF RID: 1231
	public class ObiVolumeConstraints : ObiBatchedConstraints
	{
		// Token: 0x06008E58 RID: 36440 RVA: 0x00249B30 File Offset: 0x00247D30
		[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: 0x06008E59 RID: 36441 RVA: 0x00249B8C File Offset: 0x00247D8C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610499, XrefRangeEnd = 610519, 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: 0x06008E5A RID: 36442 RVA: 0x00249BF0 File Offset: 0x00247DF0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610519, XrefRangeEnd = 610524, 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: 0x06008E5B RID: 36443 RVA: 0x00249C40 File Offset: 0x00247E40
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610524, XrefRangeEnd = 610527, 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: 0x06008E5C RID: 36444 RVA: 0x00249C9C File Offset: 0x00247E9C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610527, XrefRangeEnd = 610531, 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: 0x06008E5D RID: 36445 RVA: 0x00249CF8 File Offset: 0x00247EF8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610531, XrefRangeEnd = 610578, 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: 0x06008E5E RID: 36446 RVA: 0x00249D3C File Offset: 0x00247F3C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 610578, XrefRangeEnd = 610586, 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: 0x06008E5F RID: 36447 RVA: 0x00249D88 File Offset: 0x00247F88
		// 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, 100674307);
			ObiVolumeConstraints.NativeMethodInfoPtr_GetBatches_Public_Virtual_List_1_ObiConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100674308);
			ObiVolumeConstraints.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100674309);
			ObiVolumeConstraints.NativeMethodInfoPtr_AddBatch_Public_Void_ObiVolumeConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100674310);
			ObiVolumeConstraints.NativeMethodInfoPtr_RemoveBatch_Public_Void_ObiVolumeConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100674311);
			ObiVolumeConstraints.NativeMethodInfoPtr_OnDrawGizmosSelected_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100674312);
			ObiVolumeConstraints.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints>.NativeClassPtr, 100674313);
		}

		// Token: 0x06008E60 RID: 36448 RVA: 0x002471B4 File Offset: 0x002453B4
		public ObiVolumeConstraints(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700304B RID: 12363
		// (get) Token: 0x06008E61 RID: 36449 RVA: 0x00249E80 File Offset: 0x00248080
		// (set) Token: 0x06008E62 RID: 36450 RVA: 0x00249EA8 File Offset: 0x002480A8
		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: 0x1700304C RID: 12364
		// (get) Token: 0x06008E63 RID: 36451 RVA: 0x00249ECC File Offset: 0x002480CC
		// (set) Token: 0x06008E64 RID: 36452 RVA: 0x00249EF4 File Offset: 0x002480F4
		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: 0x1700304D RID: 12365
		// (get) Token: 0x06008E65 RID: 36453 RVA: 0x00249F18 File Offset: 0x00248118
		// (set) Token: 0x06008E66 RID: 36454 RVA: 0x00249F4C File Offset: 0x0024814C
		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: 0x04005EE3 RID: 24291
		private static readonly IntPtr NativeFieldInfoPtr_overpressure;

		// Token: 0x04005EE4 RID: 24292
		private static readonly IntPtr NativeFieldInfoPtr_stiffness;

		// Token: 0x04005EE5 RID: 24293
		private static readonly IntPtr NativeFieldInfoPtr_batches;

		// Token: 0x04005EE6 RID: 24294
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0;

		// Token: 0x04005EE7 RID: 24295
		private static readonly IntPtr NativeMethodInfoPtr_GetBatches_Public_Virtual_List_1_ObiConstraintBatch_0;

		// Token: 0x04005EE8 RID: 24296
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Virtual_Void_0;

		// Token: 0x04005EE9 RID: 24297
		private static readonly IntPtr NativeMethodInfoPtr_AddBatch_Public_Void_ObiVolumeConstraintBatch_0;

		// Token: 0x04005EEA RID: 24298
		private static readonly IntPtr NativeMethodInfoPtr_RemoveBatch_Public_Void_ObiVolumeConstraintBatch_0;

		// Token: 0x04005EEB RID: 24299
		private static readonly IntPtr NativeMethodInfoPtr_OnDrawGizmosSelected_Public_Void_0;

		// Token: 0x04005EEC RID: 24300
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004D0 RID: 1232
		[ObfuscatedName("Obi.ObiVolumeConstraints/<>c")]
		[Serializable]
		public sealed class __c : Object
		{
			// Token: 0x06008E67 RID: 36455 RVA: 0x00249F74 File Offset: 0x00248174
			[CallerCount(1642)]
			[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, 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: 0x06008E68 RID: 36456 RVA: 0x00249FC0 File Offset: 0x002481C0
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 51855, RefRangeEnd = 51856, XrefRangeStart = 51855, XrefRangeEnd = 51856, 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: 0x06008E69 RID: 36457 RVA: 0x0024A030 File Offset: 0x00248230
			// 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, 100674315);
				ObiVolumeConstraints.__c.NativeMethodInfoPtr__GetBatches_b__4_0_Internal_ObiConstraintBatch_ObiVolumeConstraintBatch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiVolumeConstraints.__c>.NativeClassPtr, 100674316);
			}

			// Token: 0x06008E6A RID: 36458 RVA: 0x0000A688 File Offset: 0x00008888
			public __c(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x1700304E RID: 12366
			// (get) Token: 0x06008E6B RID: 36459 RVA: 0x0024A0AC File Offset: 0x002482AC
			// (set) Token: 0x06008E6C RID: 36460 RVA: 0x0024A0D7 File Offset: 0x002482D7
			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: 0x1700304F RID: 12367
			// (get) Token: 0x06008E6D RID: 36461 RVA: 0x0024A0EC File Offset: 0x002482EC
			// (set) Token: 0x06008E6E RID: 36462 RVA: 0x0024A117 File Offset: 0x00248317
			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: 0x04005EED RID: 24301
			private static readonly IntPtr NativeFieldInfoPtr___9;

			// Token: 0x04005EEE RID: 24302
			private static readonly IntPtr NativeFieldInfoPtr___9__4_0;

			// Token: 0x04005EEF RID: 24303
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

			// Token: 0x04005EF0 RID: 24304
			private static readonly IntPtr NativeMethodInfoPtr__GetBatches_b__4_0_Internal_ObiConstraintBatch_ObiVolumeConstraintBatch_0;
		}
	}
}
