using System;
using Cpp2IlInjected;
using UnityEngine;

namespace Obi
{
	// Token: 0x020004D4 RID: 1236
	[Token(Token = "0x20004D4")]
	public class ObiEmitterMaterialGranular : ObiEmitterMaterial
	{
		// Token: 0x06002B7D RID: 11133 RVA: 0x0005DF64 File Offset: 0x0005C164
		[Token(Token = "0x6002B7D")]
		[Address(RVA = "0x100F1B0", Offset = "0x100DFB0", VA = "0x18100F1B0")]
		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.randomness;
			this.restDensity = num2;
			float num4 = Mathf.Max((float)0, num3);
			this.randomness = num4;
		}

		// Token: 0x06002B7E RID: 11134 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002B7E")]
		[Address(RVA = "0x100F110", Offset = "0x100DF10", VA = "0x18100F110", 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: 0x06002B7F RID: 11135 RVA: 0x0005DFC0 File Offset: 0x0005C1C0
		[Token(Token = "0x6002B7F")]
		[Address(RVA = "0x100F210", Offset = "0x100E010", VA = "0x18100F210")]
		public ObiEmitterMaterialGranular()
		{
			this.resolution = 1f;
			this.restDensity = 1000f;
			base..ctor();
		}

		// Token: 0x040033F7 RID: 13303
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40033F7")]
		public float randomness;
	}
}
