using System;
using Cpp2IlInjected;
using UnityEngine;

namespace Obi
{
	// Token: 0x0200052C RID: 1324
	[Token(Token = "0x200052C")]
	public class ObiEmitterMaterialGranular : ObiEmitterMaterial
	{
		// Token: 0x06002E46 RID: 11846 RVA: 0x000651FC File Offset: 0x000633FC
		[Token(Token = "0x6002E46")]
		[Address(RVA = "0x10A24E0", Offset = "0x10A14E0", VA = "0x1810A24E0")]
		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: 0x06002E47 RID: 11847 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002E47")]
		[Address(RVA = "0x10A2440", Offset = "0x10A1440", VA = "0x1810A2440", 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: 0x06002E48 RID: 11848 RVA: 0x00065258 File Offset: 0x00063458
		[Token(Token = "0x6002E48")]
		[Address(RVA = "0x10A2540", Offset = "0x10A1540", VA = "0x1810A2540")]
		public ObiEmitterMaterialGranular()
		{
			this.resolution = 1f;
			this.restDensity = 1000f;
			base..ctor();
		}

		// Token: 0x040036E1 RID: 14049
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40036E1")]
		public float randomness;
	}
}
