using System;
using System.Runtime.InteropServices;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005C3 RID: 1475
	[Serializable]
	public class EyeAdaptationModel : PostProcessingModel
	{
		// Token: 0x17003596 RID: 13718
		// (get) Token: 0x06009EDE RID: 40670 RVA: 0x0028D008 File Offset: 0x0028B208
		// (set) Token: 0x06009EDF RID: 40671 RVA: 0x0028D058 File Offset: 0x0028B258
		public unsafe EyeAdaptationModel.Settings settings
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(EyeAdaptationModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
			[CallerCount(0)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref value;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(EyeAdaptationModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x06009EE0 RID: 40672 RVA: 0x0028D0AC File Offset: 0x0028B2AC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 648853, XrefRangeEnd = 648854, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Reset()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), EyeAdaptationModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009EE1 RID: 40673 RVA: 0x0028D0FC File Offset: 0x0028B2FC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 648856, RefRangeEnd = 648857, XrefRangeStart = 648854, XrefRangeEnd = 648856, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe EyeAdaptationModel()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<EyeAdaptationModel>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(EyeAdaptationModel.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009EE2 RID: 40674 RVA: 0x0028D148 File Offset: 0x0028B348
		// Note: this type is marked as 'beforefieldinit'.
		static EyeAdaptationModel()
		{
			Il2CppClassPointerStore<EyeAdaptationModel>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "EyeAdaptationModel");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<EyeAdaptationModel>.NativeClassPtr);
			EyeAdaptationModel.NativeFieldInfoPtr_m_Settings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel>.NativeClassPtr, "m_Settings");
			EyeAdaptationModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<EyeAdaptationModel>.NativeClassPtr, 100675720);
			EyeAdaptationModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<EyeAdaptationModel>.NativeClassPtr, 100675721);
			EyeAdaptationModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<EyeAdaptationModel>.NativeClassPtr, 100675722);
			EyeAdaptationModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<EyeAdaptationModel>.NativeClassPtr, 100675723);
		}

		// Token: 0x06009EE3 RID: 40675 RVA: 0x00289EDC File Offset: 0x002880DC
		public EyeAdaptationModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003595 RID: 13717
		// (get) Token: 0x06009EE4 RID: 40676 RVA: 0x0028D1DC File Offset: 0x0028B3DC
		// (set) Token: 0x06009EE5 RID: 40677 RVA: 0x0028D204 File Offset: 0x0028B404
		public unsafe EyeAdaptationModel.Settings m_Settings
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(EyeAdaptationModel.NativeFieldInfoPtr_m_Settings);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(EyeAdaptationModel.NativeFieldInfoPtr_m_Settings)) = value;
			}
		}

		// Token: 0x04006A7B RID: 27259
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x04006A7C RID: 27260
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x04006A7D RID: 27261
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x04006A7E RID: 27262
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x04006A7F RID: 27263
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020005C4 RID: 1476
		public enum EyeAdaptationType
		{
			// Token: 0x04006A81 RID: 27265
			Progressive,
			// Token: 0x04006A82 RID: 27266
			Fixed
		}

		// Token: 0x020005C5 RID: 1477
		[Serializable]
		[StructLayout(2)]
		public struct Settings
		{
			// Token: 0x17003597 RID: 13719
			// (get) Token: 0x06009EE6 RID: 40678 RVA: 0x0028D228 File Offset: 0x0028B428
			public unsafe static EyeAdaptationModel.Settings defaultSettings
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 648851, RefRangeEnd = 648853, XrefRangeStart = 648851, XrefRangeEnd = 648851, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(EyeAdaptationModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0, 0, (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
			}

			// Token: 0x06009EE7 RID: 40679 RVA: 0x0028D26C File Offset: 0x0028B46C
			// Note: this type is marked as 'beforefieldinit'.
			static Settings()
			{
				Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<EyeAdaptationModel>.NativeClassPtr, "Settings");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr);
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_lowPercent = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "lowPercent");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_highPercent = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "highPercent");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_minLuminance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "minLuminance");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_maxLuminance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "maxLuminance");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_keyValue = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "keyValue");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_dynamicKeyValue = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "dynamicKeyValue");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_adaptationType = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "adaptationType");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_speedUp = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "speedUp");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_speedDown = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "speedDown");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_logMin = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "logMin");
				EyeAdaptationModel.Settings.NativeFieldInfoPtr_logMax = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, "logMax");
				EyeAdaptationModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, 100675724);
			}

			// Token: 0x06009EE8 RID: 40680 RVA: 0x0028D387 File Offset: 0x0028B587
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<EyeAdaptationModel.Settings>.NativeClassPtr, ref this));
			}

			// Token: 0x04006A83 RID: 27267
			private static readonly IntPtr NativeFieldInfoPtr_lowPercent;

			// Token: 0x04006A84 RID: 27268
			private static readonly IntPtr NativeFieldInfoPtr_highPercent;

			// Token: 0x04006A85 RID: 27269
			private static readonly IntPtr NativeFieldInfoPtr_minLuminance;

			// Token: 0x04006A86 RID: 27270
			private static readonly IntPtr NativeFieldInfoPtr_maxLuminance;

			// Token: 0x04006A87 RID: 27271
			private static readonly IntPtr NativeFieldInfoPtr_keyValue;

			// Token: 0x04006A88 RID: 27272
			private static readonly IntPtr NativeFieldInfoPtr_dynamicKeyValue;

			// Token: 0x04006A89 RID: 27273
			private static readonly IntPtr NativeFieldInfoPtr_adaptationType;

			// Token: 0x04006A8A RID: 27274
			private static readonly IntPtr NativeFieldInfoPtr_speedUp;

			// Token: 0x04006A8B RID: 27275
			private static readonly IntPtr NativeFieldInfoPtr_speedDown;

			// Token: 0x04006A8C RID: 27276
			private static readonly IntPtr NativeFieldInfoPtr_logMin;

			// Token: 0x04006A8D RID: 27277
			private static readonly IntPtr NativeFieldInfoPtr_logMax;

			// Token: 0x04006A8E RID: 27278
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;

			// Token: 0x04006A8F RID: 27279
			[FieldOffset(0)]
			public float lowPercent;

			// Token: 0x04006A90 RID: 27280
			[FieldOffset(4)]
			public float highPercent;

			// Token: 0x04006A91 RID: 27281
			[FieldOffset(8)]
			public float minLuminance;

			// Token: 0x04006A92 RID: 27282
			[FieldOffset(12)]
			public float maxLuminance;

			// Token: 0x04006A93 RID: 27283
			[FieldOffset(16)]
			public float keyValue;

			// Token: 0x04006A94 RID: 27284
			[FieldOffset(20)]
			[MarshalAs(4)]
			public bool dynamicKeyValue;

			// Token: 0x04006A95 RID: 27285
			[FieldOffset(24)]
			public EyeAdaptationModel.EyeAdaptationType adaptationType;

			// Token: 0x04006A96 RID: 27286
			[FieldOffset(28)]
			public float speedUp;

			// Token: 0x04006A97 RID: 27287
			[FieldOffset(32)]
			public float speedDown;

			// Token: 0x04006A98 RID: 27288
			[FieldOffset(36)]
			public int logMin;

			// Token: 0x04006A99 RID: 27289
			[FieldOffset(40)]
			public int logMax;
		}
	}
}
