using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005CD RID: 1485
	[Token(Token = "0x20005CD")]
	[Serializable]
	public sealed class ColorGradingCurve
	{
		// Token: 0x060030DD RID: 12509 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030DD")]
		[Address(RVA = "0x12ED010", Offset = "0x12EC010", VA = "0x1812ED010")]
		public ColorGradingCurve(AnimationCurve curve, float zeroValue, bool loop, Vector2 bounds)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030DE RID: 12510 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030DE")]
		[Address(RVA = "0x12ECD90", Offset = "0x12EBD90", VA = "0x1812ECD90")]
		public void Cache()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030DF RID: 12511 RVA: 0x00069A04 File Offset: 0x00067C04
		[Token(Token = "0x60030DF")]
		[Address(RVA = "0x12ECF90", Offset = "0x12EBF90", VA = "0x1812ECF90")]
		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: 0x040039E6 RID: 14822
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x40039E6")]
		public AnimationCurve curve;

		// Token: 0x040039E7 RID: 14823
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40039E7")]
		[SerializeField]
		private bool m_Loop;

		// Token: 0x040039E8 RID: 14824
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x40039E8")]
		[SerializeField]
		private float m_ZeroValue;

		// Token: 0x040039E9 RID: 14825
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40039E9")]
		[SerializeField]
		private float m_Range;

		// Token: 0x040039EA RID: 14826
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40039EA")]
		private AnimationCurve m_InternalLoopingCurve;
	}
}
