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

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005CA RID: 1482
	[Serializable]
	public class MotionBlurModel : PostProcessingModel
	{
		// Token: 0x1700359F RID: 13727
		// (get) Token: 0x06009EFF RID: 40703 RVA: 0x0028D970 File Offset: 0x0028BB70
		// (set) Token: 0x06009F00 RID: 40704 RVA: 0x0028D9C0 File Offset: 0x0028BBC0
		public unsafe MotionBlurModel.Settings settings
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionBlurModel.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(MotionBlurModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x06009F01 RID: 40705 RVA: 0x0028DA14 File Offset: 0x0028BC14
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 648869, XrefRangeEnd = 648870, 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), MotionBlurModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009F02 RID: 40706 RVA: 0x0028DA64 File Offset: 0x0028BC64
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 648872, RefRangeEnd = 648873, XrefRangeStart = 648870, XrefRangeEnd = 648872, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe MotionBlurModel()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionBlurModel.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009F03 RID: 40707 RVA: 0x0028DAB0 File Offset: 0x0028BCB0
		// Note: this type is marked as 'beforefieldinit'.
		static MotionBlurModel()
		{
			Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "MotionBlurModel");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr);
			MotionBlurModel.NativeFieldInfoPtr_m_Settings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, "m_Settings");
			MotionBlurModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, 100675735);
			MotionBlurModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, 100675736);
			MotionBlurModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, 100675737);
			MotionBlurModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, 100675738);
		}

		// Token: 0x06009F04 RID: 40708 RVA: 0x00289EDC File Offset: 0x002880DC
		public MotionBlurModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700359E RID: 13726
		// (get) Token: 0x06009F05 RID: 40709 RVA: 0x0028DB44 File Offset: 0x0028BD44
		// (set) Token: 0x06009F06 RID: 40710 RVA: 0x0028DB6C File Offset: 0x0028BD6C
		public unsafe MotionBlurModel.Settings m_Settings
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionBlurModel.NativeFieldInfoPtr_m_Settings);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionBlurModel.NativeFieldInfoPtr_m_Settings)) = value;
			}
		}

		// Token: 0x04006AB0 RID: 27312
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x04006AB1 RID: 27313
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x04006AB2 RID: 27314
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x04006AB3 RID: 27315
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x04006AB4 RID: 27316
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020005CB RID: 1483
		[Serializable]
		[StructLayout(2)]
		public struct Settings
		{
			// Token: 0x170035A0 RID: 13728
			// (get) Token: 0x06009F07 RID: 40711 RVA: 0x0028DB90 File Offset: 0x0028BD90
			public unsafe static MotionBlurModel.Settings defaultSettings
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 648867, RefRangeEnd = 648869, XrefRangeStart = 648867, XrefRangeEnd = 648867, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionBlurModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0, 0, (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
			}

			// Token: 0x06009F08 RID: 40712 RVA: 0x0028DBD4 File Offset: 0x0028BDD4
			// Note: this type is marked as 'beforefieldinit'.
			static Settings()
			{
				Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<MotionBlurModel>.NativeClassPtr, "Settings");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr);
				MotionBlurModel.Settings.NativeFieldInfoPtr_shutterAngle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, "shutterAngle");
				MotionBlurModel.Settings.NativeFieldInfoPtr_sampleCount = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, "sampleCount");
				MotionBlurModel.Settings.NativeFieldInfoPtr_frameBlending = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, "frameBlending");
				MotionBlurModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, 100675739);
			}

			// Token: 0x06009F09 RID: 40713 RVA: 0x0028DC4F File Offset: 0x0028BE4F
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<MotionBlurModel.Settings>.NativeClassPtr, ref this));
			}

			// Token: 0x04006AB5 RID: 27317
			private static readonly IntPtr NativeFieldInfoPtr_shutterAngle;

			// Token: 0x04006AB6 RID: 27318
			private static readonly IntPtr NativeFieldInfoPtr_sampleCount;

			// Token: 0x04006AB7 RID: 27319
			private static readonly IntPtr NativeFieldInfoPtr_frameBlending;

			// Token: 0x04006AB8 RID: 27320
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;

			// Token: 0x04006AB9 RID: 27321
			[FieldOffset(0)]
			public float shutterAngle;

			// Token: 0x04006ABA RID: 27322
			[FieldOffset(4)]
			public int sampleCount;

			// Token: 0x04006ABB RID: 27323
			[FieldOffset(8)]
			public float frameBlending;
		}
	}
}
