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

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005C6 RID: 1478
	[Serializable]
	public class FogModel : PostProcessingModel
	{
		// Token: 0x17003599 RID: 13721
		// (get) Token: 0x06009EE9 RID: 40681 RVA: 0x0028D39C File Offset: 0x0028B59C
		// (set) Token: 0x06009EEA RID: 40682 RVA: 0x0028D3EC File Offset: 0x0028B5EC
		public unsafe FogModel.Settings settings
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FogModel.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(FogModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x06009EEB RID: 40683 RVA: 0x0028D440 File Offset: 0x0028B640
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 648857, XrefRangeEnd = 648858, 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), FogModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009EEC RID: 40684 RVA: 0x0028D490 File Offset: 0x0028B690
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 648860, RefRangeEnd = 648861, XrefRangeStart = 648858, XrefRangeEnd = 648860, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe FogModel()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<FogModel>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FogModel.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009EED RID: 40685 RVA: 0x0028D4DC File Offset: 0x0028B6DC
		// Note: this type is marked as 'beforefieldinit'.
		static FogModel()
		{
			Il2CppClassPointerStore<FogModel>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "FogModel");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<FogModel>.NativeClassPtr);
			FogModel.NativeFieldInfoPtr_m_Settings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<FogModel>.NativeClassPtr, "m_Settings");
			FogModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FogModel>.NativeClassPtr, 100675725);
			FogModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FogModel>.NativeClassPtr, 100675726);
			FogModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FogModel>.NativeClassPtr, 100675727);
			FogModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FogModel>.NativeClassPtr, 100675728);
		}

		// Token: 0x06009EEE RID: 40686 RVA: 0x00289EDC File Offset: 0x002880DC
		public FogModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003598 RID: 13720
		// (get) Token: 0x06009EEF RID: 40687 RVA: 0x0028D570 File Offset: 0x0028B770
		// (set) Token: 0x06009EF0 RID: 40688 RVA: 0x0028D598 File Offset: 0x0028B798
		public unsafe FogModel.Settings m_Settings
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(FogModel.NativeFieldInfoPtr_m_Settings);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(FogModel.NativeFieldInfoPtr_m_Settings)) = value;
			}
		}

		// Token: 0x04006A9A RID: 27290
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x04006A9B RID: 27291
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x04006A9C RID: 27292
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x04006A9D RID: 27293
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x04006A9E RID: 27294
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020005C7 RID: 1479
		[Serializable]
		[StructLayout(2)]
		public struct Settings
		{
			// Token: 0x1700359A RID: 13722
			// (get) Token: 0x06009EF1 RID: 40689 RVA: 0x0028D5BC File Offset: 0x0028B7BC
			public unsafe static FogModel.Settings defaultSettings
			{
				[CallerCount(16)]
				[CachedScanResults(RefRangeStart = 16399, RefRangeEnd = 16415, XrefRangeStart = 16399, XrefRangeEnd = 16415, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FogModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0, 0, (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
			}

			// Token: 0x06009EF2 RID: 40690 RVA: 0x0028D600 File Offset: 0x0028B800
			// Note: this type is marked as 'beforefieldinit'.
			static Settings()
			{
				Il2CppClassPointerStore<FogModel.Settings>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<FogModel>.NativeClassPtr, "Settings");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<FogModel.Settings>.NativeClassPtr);
				FogModel.Settings.NativeFieldInfoPtr_excludeSkybox = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<FogModel.Settings>.NativeClassPtr, "excludeSkybox");
				FogModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FogModel.Settings>.NativeClassPtr, 100675729);
			}

			// Token: 0x06009EF3 RID: 40691 RVA: 0x0028D653 File Offset: 0x0028B853
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<FogModel.Settings>.NativeClassPtr, ref this));
			}

			// Token: 0x04006A9F RID: 27295
			private static readonly IntPtr NativeFieldInfoPtr_excludeSkybox;

			// Token: 0x04006AA0 RID: 27296
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;

			// Token: 0x04006AA1 RID: 27297
			[FieldOffset(0)]
			[MarshalAs(4)]
			public bool excludeSkybox;
		}
	}
}
