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

namespace Obi
{
	// Token: 0x0200053A RID: 1338
	public class ObiEmitterMaterialFluid : ObiEmitterMaterial
	{
		// Token: 0x060097FF RID: 38911 RVA: 0x00272210 File Offset: 0x00270410
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 643784, XrefRangeEnd = 643789, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnValidate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiEmitterMaterialFluid.NativeMethodInfoPtr_OnValidate_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009800 RID: 38912 RVA: 0x00272254 File Offset: 0x00270454
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 643789, XrefRangeEnd = 643791, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override Oni.FluidMaterial GetEquivalentOniMaterial(Oni.SolverParameters.Mode mode)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref mode;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiEmitterMaterialFluid.NativeMethodInfoPtr_GetEquivalentOniMaterial_Public_Virtual_FluidMaterial_Mode_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06009801 RID: 38913 RVA: 0x002722C4 File Offset: 0x002704C4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 643791, XrefRangeEnd = 643792, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiEmitterMaterialFluid()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiEmitterMaterialFluid.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009802 RID: 38914 RVA: 0x00272310 File Offset: 0x00270510
		// Note: this type is marked as 'beforefieldinit'.
		static ObiEmitterMaterialFluid()
		{
			Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiEmitterMaterialFluid");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr);
			ObiEmitterMaterialFluid.NativeFieldInfoPtr_smoothing = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, "smoothing");
			ObiEmitterMaterialFluid.NativeFieldInfoPtr_viscosity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, "viscosity");
			ObiEmitterMaterialFluid.NativeFieldInfoPtr_surfaceTension = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, "surfaceTension");
			ObiEmitterMaterialFluid.NativeFieldInfoPtr_buoyancy = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, "buoyancy");
			ObiEmitterMaterialFluid.NativeFieldInfoPtr_atmosphericDrag = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, "atmosphericDrag");
			ObiEmitterMaterialFluid.NativeFieldInfoPtr_atmosphericPressure = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, "atmosphericPressure");
			ObiEmitterMaterialFluid.NativeFieldInfoPtr_vorticity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, "vorticity");
			ObiEmitterMaterialFluid.NativeMethodInfoPtr_OnValidate_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, 100675139);
			ObiEmitterMaterialFluid.NativeMethodInfoPtr_GetEquivalentOniMaterial_Public_Virtual_FluidMaterial_Mode_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, 100675140);
			ObiEmitterMaterialFluid.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiEmitterMaterialFluid>.NativeClassPtr, 100675141);
		}

		// Token: 0x06009803 RID: 38915 RVA: 0x00272408 File Offset: 0x00270608
		public ObiEmitterMaterialFluid(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700335F RID: 13151
		// (get) Token: 0x06009804 RID: 38916 RVA: 0x00272414 File Offset: 0x00270614
		// (set) Token: 0x06009805 RID: 38917 RVA: 0x0027243C File Offset: 0x0027063C
		public unsafe float smoothing
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_smoothing);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_smoothing)) = value;
			}
		}

		// Token: 0x17003360 RID: 13152
		// (get) Token: 0x06009806 RID: 38918 RVA: 0x00272460 File Offset: 0x00270660
		// (set) Token: 0x06009807 RID: 38919 RVA: 0x00272488 File Offset: 0x00270688
		public unsafe float viscosity
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_viscosity);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_viscosity)) = value;
			}
		}

		// Token: 0x17003361 RID: 13153
		// (get) Token: 0x06009808 RID: 38920 RVA: 0x002724AC File Offset: 0x002706AC
		// (set) Token: 0x06009809 RID: 38921 RVA: 0x002724D4 File Offset: 0x002706D4
		public unsafe float surfaceTension
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_surfaceTension);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_surfaceTension)) = value;
			}
		}

		// Token: 0x17003362 RID: 13154
		// (get) Token: 0x0600980A RID: 38922 RVA: 0x002724F8 File Offset: 0x002706F8
		// (set) Token: 0x0600980B RID: 38923 RVA: 0x00272520 File Offset: 0x00270720
		public unsafe float buoyancy
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_buoyancy);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_buoyancy)) = value;
			}
		}

		// Token: 0x17003363 RID: 13155
		// (get) Token: 0x0600980C RID: 38924 RVA: 0x00272544 File Offset: 0x00270744
		// (set) Token: 0x0600980D RID: 38925 RVA: 0x0027256C File Offset: 0x0027076C
		public unsafe float atmosphericDrag
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_atmosphericDrag);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_atmosphericDrag)) = value;
			}
		}

		// Token: 0x17003364 RID: 13156
		// (get) Token: 0x0600980E RID: 38926 RVA: 0x00272590 File Offset: 0x00270790
		// (set) Token: 0x0600980F RID: 38927 RVA: 0x002725B8 File Offset: 0x002707B8
		public unsafe float atmosphericPressure
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_atmosphericPressure);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_atmosphericPressure)) = value;
			}
		}

		// Token: 0x17003365 RID: 13157
		// (get) Token: 0x06009810 RID: 38928 RVA: 0x002725DC File Offset: 0x002707DC
		// (set) Token: 0x06009811 RID: 38929 RVA: 0x00272604 File Offset: 0x00270804
		public unsafe float vorticity
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_vorticity);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiEmitterMaterialFluid.NativeFieldInfoPtr_vorticity)) = value;
			}
		}

		// Token: 0x04006568 RID: 25960
		private static readonly IntPtr NativeFieldInfoPtr_smoothing;

		// Token: 0x04006569 RID: 25961
		private static readonly IntPtr NativeFieldInfoPtr_viscosity;

		// Token: 0x0400656A RID: 25962
		private static readonly IntPtr NativeFieldInfoPtr_surfaceTension;

		// Token: 0x0400656B RID: 25963
		private static readonly IntPtr NativeFieldInfoPtr_buoyancy;

		// Token: 0x0400656C RID: 25964
		private static readonly IntPtr NativeFieldInfoPtr_atmosphericDrag;

		// Token: 0x0400656D RID: 25965
		private static readonly IntPtr NativeFieldInfoPtr_atmosphericPressure;

		// Token: 0x0400656E RID: 25966
		private static readonly IntPtr NativeFieldInfoPtr_vorticity;

		// Token: 0x0400656F RID: 25967
		private static readonly IntPtr NativeMethodInfoPtr_OnValidate_Public_Void_0;

		// Token: 0x04006570 RID: 25968
		private static readonly IntPtr NativeMethodInfoPtr_GetEquivalentOniMaterial_Public_Virtual_FluidMaterial_Mode_0;

		// Token: 0x04006571 RID: 25969
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
