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

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000584 RID: 1412
	public sealed class DitheringComponent : PostProcessingComponentRenderTexture<DitheringModel>
	{
		// Token: 0x170034C1 RID: 13505
		// (get) Token: 0x06009C8D RID: 40077 RVA: 0x00284F18 File Offset: 0x00283118
		public unsafe override bool active
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 647594, XrefRangeEnd = 647595, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(DitheringComponent.NativeMethodInfoPtr_get_active_Public_Virtual_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06009C8E RID: 40078 RVA: 0x00284F68 File Offset: 0x00283168
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 647595, XrefRangeEnd = 647596, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(DitheringComponent.NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009C8F RID: 40079 RVA: 0x00284FAC File Offset: 0x002831AC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 647596, XrefRangeEnd = 647609, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void LoadNoiseTextures()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(DitheringComponent.NativeMethodInfoPtr_LoadNoiseTextures_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009C90 RID: 40080 RVA: 0x00284FF0 File Offset: 0x002831F0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 647609, XrefRangeEnd = 647637, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Prepare(Material uberMaterial)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(uberMaterial);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(DitheringComponent.NativeMethodInfoPtr_Prepare_Public_Virtual_Void_Material_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06009C91 RID: 40081 RVA: 0x0028504C File Offset: 0x0028324C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 647640, RefRangeEnd = 647641, XrefRangeStart = 647637, XrefRangeEnd = 647640, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe DitheringComponent()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(DitheringComponent.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009C92 RID: 40082 RVA: 0x00285098 File Offset: 0x00283298
		// Note: this type is marked as 'beforefieldinit'.
		static DitheringComponent()
		{
			Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "DitheringComponent");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr);
			DitheringComponent.NativeFieldInfoPtr_noiseTextures = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr, "noiseTextures");
			DitheringComponent.NativeFieldInfoPtr_textureIndex = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr, "textureIndex");
			DitheringComponent.NativeFieldInfoPtr_k_TextureCount = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr, "k_TextureCount");
			DitheringComponent.NativeMethodInfoPtr_get_active_Public_Virtual_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr, 100675567);
			DitheringComponent.NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr, 100675568);
			DitheringComponent.NativeMethodInfoPtr_LoadNoiseTextures_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr, 100675569);
			DitheringComponent.NativeMethodInfoPtr_Prepare_Public_Virtual_Void_Material_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr, 100675570);
			DitheringComponent.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr, 100675571);
		}

		// Token: 0x06009C93 RID: 40083 RVA: 0x00285168 File Offset: 0x00283368
		public DitheringComponent(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170034BE RID: 13502
		// (get) Token: 0x06009C94 RID: 40084 RVA: 0x00285174 File Offset: 0x00283374
		// (set) Token: 0x06009C95 RID: 40085 RVA: 0x002851A8 File Offset: 0x002833A8
		public unsafe Il2CppReferenceArray<Texture2D> noiseTextures
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(DitheringComponent.NativeFieldInfoPtr_noiseTextures);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<Texture2D>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(DitheringComponent.NativeFieldInfoPtr_noiseTextures), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170034BF RID: 13503
		// (get) Token: 0x06009C96 RID: 40086 RVA: 0x002851D0 File Offset: 0x002833D0
		// (set) Token: 0x06009C97 RID: 40087 RVA: 0x002851F8 File Offset: 0x002833F8
		public unsafe int textureIndex
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(DitheringComponent.NativeFieldInfoPtr_textureIndex);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(DitheringComponent.NativeFieldInfoPtr_textureIndex)) = value;
			}
		}

		// Token: 0x170034C0 RID: 13504
		// (get) Token: 0x06009C98 RID: 40088 RVA: 0x0028521C File Offset: 0x0028341C
		// (set) Token: 0x06009C99 RID: 40089 RVA: 0x0028523A File Offset: 0x0028343A
		public unsafe static int k_TextureCount
		{
			get
			{
				int num;
				IL2CPP.il2cpp_field_static_get_value(DitheringComponent.NativeFieldInfoPtr_k_TextureCount, (void*)(&num));
				return num;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(DitheringComponent.NativeFieldInfoPtr_k_TextureCount, (void*)(&value));
			}
		}

		// Token: 0x04006884 RID: 26756
		private static readonly IntPtr NativeFieldInfoPtr_noiseTextures;

		// Token: 0x04006885 RID: 26757
		private static readonly IntPtr NativeFieldInfoPtr_textureIndex;

		// Token: 0x04006886 RID: 26758
		private static readonly IntPtr NativeFieldInfoPtr_k_TextureCount;

		// Token: 0x04006887 RID: 26759
		private static readonly IntPtr NativeMethodInfoPtr_get_active_Public_Virtual_get_Boolean_0;

		// Token: 0x04006888 RID: 26760
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0;

		// Token: 0x04006889 RID: 26761
		private static readonly IntPtr NativeMethodInfoPtr_LoadNoiseTextures_Private_Void_0;

		// Token: 0x0400688A RID: 26762
		private static readonly IntPtr NativeMethodInfoPtr_Prepare_Public_Virtual_Void_Material_0;

		// Token: 0x0400688B RID: 26763
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000585 RID: 1413
		public static class Uniforms : Object
		{
			// Token: 0x06009C9A RID: 40090 RVA: 0x0028524C File Offset: 0x0028344C
			// Note: this type is marked as 'beforefieldinit'.
			static Uniforms()
			{
				Il2CppClassPointerStore<DitheringComponent.Uniforms>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<DitheringComponent>.NativeClassPtr, "Uniforms");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<DitheringComponent.Uniforms>.NativeClassPtr);
				DitheringComponent.Uniforms.NativeFieldInfoPtr__DitheringTex = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DitheringComponent.Uniforms>.NativeClassPtr, "_DitheringTex");
				DitheringComponent.Uniforms.NativeFieldInfoPtr__DitheringCoords = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DitheringComponent.Uniforms>.NativeClassPtr, "_DitheringCoords");
			}

			// Token: 0x06009C9B RID: 40091 RVA: 0x0000A74C File Offset: 0x0000894C
			public Uniforms(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170034C2 RID: 13506
			// (get) Token: 0x06009C9C RID: 40092 RVA: 0x002852A0 File Offset: 0x002834A0
			// (set) Token: 0x06009C9D RID: 40093 RVA: 0x002852BE File Offset: 0x002834BE
			public unsafe static int _DitheringTex
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(DitheringComponent.Uniforms.NativeFieldInfoPtr__DitheringTex, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(DitheringComponent.Uniforms.NativeFieldInfoPtr__DitheringTex, (void*)(&value));
				}
			}

			// Token: 0x170034C3 RID: 13507
			// (get) Token: 0x06009C9E RID: 40094 RVA: 0x002852D0 File Offset: 0x002834D0
			// (set) Token: 0x06009C9F RID: 40095 RVA: 0x002852EE File Offset: 0x002834EE
			public unsafe static int _DitheringCoords
			{
				get
				{
					int num;
					IL2CPP.il2cpp_field_static_get_value(DitheringComponent.Uniforms.NativeFieldInfoPtr__DitheringCoords, (void*)(&num));
					return num;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(DitheringComponent.Uniforms.NativeFieldInfoPtr__DitheringCoords, (void*)(&value));
				}
			}

			// Token: 0x0400688C RID: 26764
			private static readonly IntPtr NativeFieldInfoPtr__DitheringTex;

			// Token: 0x0400688D RID: 26765
			private static readonly IntPtr NativeFieldInfoPtr__DitheringCoords;
		}
	}
}
