using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000575 RID: 1397
	[Token(Token = "0x2000575")]
	[Serializable]
	public sealed class ColorGradingCurve
	{
		// Token: 0x06002E14 RID: 11796 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002E14")]
		[Address(RVA = "0xE8F090", Offset = "0xE8DE90", VA = "0x180E8F090")]
		public ColorGradingCurve(AnimationCurve curve, float zeroValue, bool loop, Vector2 bounds)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002E15 RID: 11797 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002E15")]
		[Address(RVA = "0xE8EE10", Offset = "0xE8DC10", VA = "0x180E8EE10")]
		public void Cache()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002E16 RID: 11798 RVA: 0x00062734 File Offset: 0x00060934
		[Token(Token = "0x6002E16")]
		[Address(RVA = "0xE8F010", Offset = "0xE8DE10", VA = "0x180E8F010")]
		public float Evaluate(float t)
		{
			if (this.curve.length != 0 && this.m_Loop && this.curve.length != 1)
			{
				return this.m_InternalLoopingCurve.Evaluate(t);
			}
			return this.m_ZeroValue;
		}

		// Token: 0x040036FC RID: 14076
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x40036FC")]
		public AnimationCurve curve;

		// Token: 0x040036FD RID: 14077
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40036FD")]
		[SerializeField]
		private bool m_Loop;

		// Token: 0x040036FE RID: 14078
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x40036FE")]
		[SerializeField]
		private float m_ZeroValue;

		// Token: 0x040036FF RID: 14079
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40036FF")]
		[SerializeField]
		private float m_Range;

		// Token: 0x04003700 RID: 14080
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4003700")]
		private AnimationCurve m_InternalLoopingCurve;
	}
}
