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

namespace UnityEngine.PostProcessing
{
	// Token: 0x0200057B RID: 1403
	[Serializable]
	public class UserLutModel : PostProcessingModel
	{
		// Token: 0x1700330A RID: 13066
		// (get) Token: 0x060096C8 RID: 38600 RVA: 0x0026B3D0 File Offset: 0x002695D0
		// (set) Token: 0x060096C9 RID: 38601 RVA: 0x0026B41C File Offset: 0x0026961C
		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: 0x060096CA RID: 38602 RVA: 0x0026B47C File Offset: 0x0026967C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616572, XrefRangeEnd = 616574, 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: 0x060096CB RID: 38603 RVA: 0x0026B4CC File Offset: 0x002696CC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 616577, RefRangeEnd = 616578, XrefRangeStart = 616574, XrefRangeEnd = 616577, 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: 0x060096CC RID: 38604 RVA: 0x0026B518 File Offset: 0x00269718
		// 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, 100675032);
			UserLutModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr, 100675033);
			UserLutModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr, 100675034);
			UserLutModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UserLutModel>.NativeClassPtr, 100675035);
		}

		// Token: 0x060096CD RID: 38605 RVA: 0x002671A0 File Offset: 0x002653A0
		public UserLutModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003309 RID: 13065
		// (get) Token: 0x060096CE RID: 38606 RVA: 0x0026B5AC File Offset: 0x002697AC
		// (set) Token: 0x060096CF RID: 38607 RVA: 0x0026B5DE File Offset: 0x002697DE
		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: 0x0400653F RID: 25919
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x04006540 RID: 25920
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x04006541 RID: 25921
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x04006542 RID: 25922
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x04006543 RID: 25923
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x0200057C RID: 1404
		[Serializable]
		public sealed class Settings : ValueType
		{
			// Token: 0x1700330D RID: 13069
			// (get) Token: 0x060096D0 RID: 38608 RVA: 0x0026B614 File Offset: 0x00269814
			public unsafe static UserLutModel.Settings defaultSettings
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 616570, RefRangeEnd = 616572, XrefRangeStart = 616569, XrefRangeEnd = 616570, 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: 0x060096D1 RID: 38609 RVA: 0x0026B650 File Offset: 0x00269850
			// 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, 100675036);
			}

			// Token: 0x060096D2 RID: 38610 RVA: 0x0011646F File Offset: 0x0011466F
			public Settings(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x060096D3 RID: 38611 RVA: 0x0026B6B8 File Offset: 0x002698B8
			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: 0x1700330B RID: 13067
			// (get) Token: 0x060096D4 RID: 38612 RVA: 0x0026B6E8 File Offset: 0x002698E8
			// (set) Token: 0x060096D5 RID: 38613 RVA: 0x0026B71C File Offset: 0x0026991C
			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: 0x1700330C RID: 13068
			// (get) Token: 0x060096D6 RID: 38614 RVA: 0x0026B744 File Offset: 0x00269944
			// (set) Token: 0x060096D7 RID: 38615 RVA: 0x0026B76C File Offset: 0x0026996C
			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: 0x04006544 RID: 25924
			private static readonly IntPtr NativeFieldInfoPtr_lut;

			// Token: 0x04006545 RID: 25925
			private static readonly IntPtr NativeFieldInfoPtr_contribution;

			// Token: 0x04006546 RID: 25926
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;
		}
	}
}
