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

namespace UnityEngine.PostProcessing
{
	// Token: 0x0200056E RID: 1390
	[Serializable]
	public class FogModel : PostProcessingModel
	{
		// Token: 0x170032FE RID: 13054
		// (get) Token: 0x06009696 RID: 38550 RVA: 0x0026A660 File Offset: 0x00268860
		// (set) Token: 0x06009697 RID: 38551 RVA: 0x0026A6B0 File Offset: 0x002688B0
		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: 0x06009698 RID: 38552 RVA: 0x0026A704 File Offset: 0x00268904
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616547, XrefRangeEnd = 616548, 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: 0x06009699 RID: 38553 RVA: 0x0026A754 File Offset: 0x00268954
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 616550, RefRangeEnd = 616551, XrefRangeStart = 616548, XrefRangeEnd = 616550, 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: 0x0600969A RID: 38554 RVA: 0x0026A7A0 File Offset: 0x002689A0
		// 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, 100675012);
			FogModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FogModel>.NativeClassPtr, 100675013);
			FogModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FogModel>.NativeClassPtr, 100675014);
			FogModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FogModel>.NativeClassPtr, 100675015);
		}

		// Token: 0x0600969B RID: 38555 RVA: 0x002671A0 File Offset: 0x002653A0
		public FogModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170032FD RID: 13053
		// (get) Token: 0x0600969C RID: 38556 RVA: 0x0026A834 File Offset: 0x00268A34
		// (set) Token: 0x0600969D RID: 38557 RVA: 0x0026A85C File Offset: 0x00268A5C
		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: 0x040064F1 RID: 25841
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x040064F2 RID: 25842
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x040064F3 RID: 25843
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x040064F4 RID: 25844
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x040064F5 RID: 25845
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x0200056F RID: 1391
		[Serializable]
		[StructLayout(LayoutKind.Explicit)]
		public struct Settings
		{
			// Token: 0x170032FF RID: 13055
			// (get) Token: 0x0600969E RID: 38558 RVA: 0x0026A880 File Offset: 0x00268A80
			public unsafe static FogModel.Settings defaultSettings
			{
				[CallerCount(16)]
				[CachedScanResults(RefRangeStart = 16502, RefRangeEnd = 16518, XrefRangeStart = 16502, XrefRangeEnd = 16518, 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: 0x0600969F RID: 38559 RVA: 0x0026A8C4 File Offset: 0x00268AC4
			// 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, 100675016);
			}

			// Token: 0x060096A0 RID: 38560 RVA: 0x0026A917 File Offset: 0x00268B17
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<FogModel.Settings>.NativeClassPtr, ref this));
			}

			// Token: 0x040064F6 RID: 25846
			private static readonly IntPtr NativeFieldInfoPtr_excludeSkybox;

			// Token: 0x040064F7 RID: 25847
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;

			// Token: 0x040064F8 RID: 25848
			[FieldOffset(0)]
			[MarshalAs(UnmanagedType.U1)]
			public bool excludeSkybox;
		}
	}
}
