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

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005D3 RID: 1491
	[Serializable]
	public class UserLutModel : PostProcessingModel
	{
		// Token: 0x170035A5 RID: 13733
		// (get) Token: 0x06009F1B RID: 40731 RVA: 0x0028E10C File Offset: 0x0028C30C
		// (set) Token: 0x06009F1C RID: 40732 RVA: 0x0028E158 File Offset: 0x0028C358
		public unsafe UserLutModel.Settings settings
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UserLutModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return new UserLutModel.Settings(intPtr);
			}
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 0, XrefRangeEnd = 0, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.il2cpp_object_unbox(IL2CPP.Il2CppObjectBaseToPtrNotNull(value));
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UserLutModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x06009F1D RID: 40733 RVA: 0x0028E1B8 File Offset: 0x0028C3B8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 648882, XrefRangeEnd = 648884, 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), UserLutModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009F1E RID: 40734 RVA: 0x0028E208 File Offset: 0x0028C408
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 648887, RefRangeEnd = 648888, XrefRangeStart = 648884, XrefRangeEnd = 648887, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe UserLutModel()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UserLutModel.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009F1F RID: 40735 RVA: 0x0028E254 File Offset: 0x0028C454
		// Note: this type is marked as 'beforefieldinit'.
		static UserLutModel()
		{
			Il2CppClassPointerStore<UserLutModel>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "UserLutModel");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr);
			UserLutModel.NativeFieldInfoPtr_m_Settings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr, "m_Settings");
			UserLutModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr, 100675745);
			UserLutModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr, 100675746);
			UserLutModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr, 100675747);
			UserLutModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr, 100675748);
		}

		// Token: 0x06009F20 RID: 40736 RVA: 0x00289EDC File Offset: 0x002880DC
		public UserLutModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170035A4 RID: 13732
		// (get) Token: 0x06009F21 RID: 40737 RVA: 0x0028E2E8 File Offset: 0x0028C4E8
		// (set) Token: 0x06009F22 RID: 40738 RVA: 0x0028E31A File Offset: 0x0028C51A
		public UserLutModel.Settings m_Settings
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UserLutModel.NativeFieldInfoPtr_m_Settings);
				return new UserLutModel.Settings(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<UserLutModel.Settings>.NativeClassPtr, intPtr));
			}
			set
			{
				cpblk(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UserLutModel.NativeFieldInfoPtr_m_Settings), IL2CPP.il2cpp_object_unbox(IL2CPP.Il2CppObjectBaseToPtr(value)), IL2CPP.il2cpp_class_value_size(Il2CppClassPointerStore<UserLutModel.Settings>.NativeClassPtr, (UIntPtr)0));
			}
		}

		// Token: 0x04006AE8 RID: 27368
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x04006AE9 RID: 27369
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x04006AEA RID: 27370
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x04006AEB RID: 27371
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x04006AEC RID: 27372
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020005D4 RID: 1492
		[Serializable]
		public sealed class Settings : ValueType
		{
			// Token: 0x170035A8 RID: 13736
			// (get) Token: 0x06009F23 RID: 40739 RVA: 0x0028E350 File Offset: 0x0028C550
			public unsafe static UserLutModel.Settings defaultSettings
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 648880, RefRangeEnd = 648882, XrefRangeStart = 648879, XrefRangeEnd = 648880, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UserLutModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0, 0, (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return new UserLutModel.Settings(intPtr);
				}
			}

			// Token: 0x06009F24 RID: 40740 RVA: 0x0028E38C File Offset: 0x0028C58C
			// Note: this type is marked as 'beforefieldinit'.
			static Settings()
			{
				Il2CppClassPointerStore<UserLutModel.Settings>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr, "Settings");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<UserLutModel.Settings>.NativeClassPtr);
				UserLutModel.Settings.NativeFieldInfoPtr_lut = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UserLutModel.Settings>.NativeClassPtr, "lut");
				UserLutModel.Settings.NativeFieldInfoPtr_contribution = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UserLutModel.Settings>.NativeClassPtr, "contribution");
				UserLutModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UserLutModel.Settings>.NativeClassPtr, 100675749);
			}

			// Token: 0x06009F25 RID: 40741 RVA: 0x001295E7 File Offset: 0x001277E7
			public Settings(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x06009F26 RID: 40742 RVA: 0x0028E3F4 File Offset: 0x0028C5F4
			public unsafe Settings()
			{
				IntPtr intPtr = stackalloc byte[(UIntPtr)IL2CPP.il2cpp_class_value_size(Il2CppClassPointerStore<UserLutModel.Settings>.NativeClassPtr, (UIntPtr)0)];
				base..ctor(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<UserLutModel.Settings>.NativeClassPtr, intPtr));
			}

			// Token: 0x170035A6 RID: 13734
			// (get) Token: 0x06009F27 RID: 40743 RVA: 0x0028E424 File Offset: 0x0028C624
			// (set) Token: 0x06009F28 RID: 40744 RVA: 0x0028E458 File Offset: 0x0028C658
			public unsafe Texture2D lut
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UserLutModel.Settings.NativeFieldInfoPtr_lut);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Texture2D(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(UserLutModel.Settings.NativeFieldInfoPtr_lut), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170035A7 RID: 13735
			// (get) Token: 0x06009F29 RID: 40745 RVA: 0x0028E480 File Offset: 0x0028C680
			// (set) Token: 0x06009F2A RID: 40746 RVA: 0x0028E4A8 File Offset: 0x0028C6A8
			public unsafe float contribution
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UserLutModel.Settings.NativeFieldInfoPtr_contribution);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UserLutModel.Settings.NativeFieldInfoPtr_contribution)) = value;
				}
			}

			// Token: 0x04006AED RID: 27373
			private static readonly IntPtr NativeFieldInfoPtr_lut;

			// Token: 0x04006AEE RID: 27374
			private static readonly IntPtr NativeFieldInfoPtr_contribution;

			// Token: 0x04006AEF RID: 27375
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;
		}
	}
}
