using System;
using Cpp2IlInjected;
using UnityEngine;

namespace Obi
{
	// Token: 0x020004D3 RID: 1235
	[Token(Token = "0x20004D3")]
	public class ObiEmitterMaterialFluid : ObiEmitterMaterial
	{
		// Token: 0x06002B7A RID: 11130 RVA: 0x0005DE78 File Offset: 0x0005C078
		[Token(Token = "0x6002B7A")]
		[Address(RVA = "0x100F040", Offset = "0x100DE40", VA = "0x18100F040")]
		public void OnValidate()
		{
			float resolution = this.resolution;
			float num = Mathf.Max(0.001f, resolution);
			float restDensity = this.restDensity;
			this.resolution = num;
			float num2 = Mathf.Max(0.001f, restDensity);
			float num3 = this.smoothing;
			this.restDensity = num2;
			float num4 = Mathf.Max(1f, num3);
			float num5 = this.viscosity;
			this.smoothing = num4;
			float num6 = Mathf.Max((float)0, num5);
			float num7 = this.atmosphericDrag;
			this.viscosity = num6;
			float num8 = Mathf.Max((float)0, num7);
			this.atmosphericDrag = num8;
		}

		// Token: 0x06002B7B RID: 11131 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002B7B")]
		[Address(RVA = "0x100EFA0", Offset = "0x100DDA0", VA = "0x18100EFA0", Slot = "4")]
		public override Oni.FluidMaterial GetEquivalentOniMaterial(Oni.SolverParameters.Mode mode)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002B7C RID: 11132 RVA: 0x0005DF0C File Offset: 0x0005C10C
		[Token(Token = "0x6002B7C")]
		[Address(RVA = "0x100F0D0", Offset = "0x100DED0", VA = "0x18100F0D0")]
		public ObiEmitterMaterialFluid()
		{
			this.resolution = 1f;
			this.restDensity = 1000f;
			base..ctor();
		}

		// Token: 0x040033F0 RID: 13296
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40033F0")]
		public float smoothing = 1.5f;

		// Token: 0x040033F1 RID: 13297
		[FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x40033F1")]
		public float viscosity = 0.05f;

		// Token: 0x040033F2 RID: 13298
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x40033F2")]
		public float surfaceTension = 0.1f;

		// Token: 0x040033F3 RID: 13299
		[FieldOffset(Offset = "0x34")]
		[Token(Token = "0x40033F3")]
		public float buoyancy = -1f;

		// Token: 0x040033F4 RID: 13300
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x40033F4")]
		public float atmosphericDrag;

		// Token: 0x040033F5 RID: 13301
		[FieldOffset(Offset = "0x3C")]
		[Token(Token = "0x40033F5")]
		public float atmosphericPressure;

		// Token: 0x040033F6 RID: 13302
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x40033F6")]
		public float vorticity;
	}
}
