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

namespace UnityStandardAssets.ImageEffects
{
	// Token: 0x020005D3 RID: 1491
	public class ImageEffectBase : MonoBehaviour
	{
		// Token: 0x06009C3A RID: 39994 RVA: 0x00280634 File Offset: 0x0027E834
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 620772, RefRangeEnd = 620773, XrefRangeStart = 620765, XrefRangeEnd = 620772, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ImageEffectBase.NativeMethodInfoPtr_Start_Protected_Virtual_New_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x1700350E RID: 13582
		// (get) Token: 0x06009C3B RID: 39995 RVA: 0x00280684 File Offset: 0x0027E884
		public unsafe Material material
		{
			[CallerCount(11)]
			[CachedScanResults(RefRangeStart = 620783, RefRangeEnd = 620794, XrefRangeStart = 620773, XrefRangeEnd = 620783, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ImageEffectBase.NativeMethodInfoPtr_get_material_Protected_get_Material_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new Material(intPtr3) : null;
			}
		}

		// Token: 0x06009C3C RID: 39996 RVA: 0x002806DC File Offset: 0x0027E8DC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 620801, RefRangeEnd = 620802, XrefRangeStart = 620794, XrefRangeEnd = 620801, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ImageEffectBase.NativeMethodInfoPtr_OnDisable_Protected_Virtual_New_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009C3D RID: 39997 RVA: 0x0028072C File Offset: 0x0027E92C
		[CallerCount(63)]
		[CachedScanResults(RefRangeStart = 222154, RefRangeEnd = 222217, XrefRangeStart = 222154, XrefRangeEnd = 222217, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ImageEffectBase()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ImageEffectBase>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ImageEffectBase.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009C3E RID: 39998 RVA: 0x00280778 File Offset: 0x0027E978
		// Note: this type is marked as 'beforefieldinit'.
		static ImageEffectBase()
		{
			Il2CppClassPointerStore<ImageEffectBase>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityStandardAssets.ImageEffects", "ImageEffectBase");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ImageEffectBase>.NativeClassPtr);
			ImageEffectBase.NativeFieldInfoPtr_shader = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ImageEffectBase>.NativeClassPtr, "shader");
			ImageEffectBase.NativeFieldInfoPtr_m_Material = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ImageEffectBase>.NativeClassPtr, "m_Material");
			ImageEffectBase.NativeMethodInfoPtr_Start_Protected_Virtual_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ImageEffectBase>.NativeClassPtr, 100675347);
			ImageEffectBase.NativeMethodInfoPtr_get_material_Protected_get_Material_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ImageEffectBase>.NativeClassPtr, 100675348);
			ImageEffectBase.NativeMethodInfoPtr_OnDisable_Protected_Virtual_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ImageEffectBase>.NativeClassPtr, 100675349);
			ImageEffectBase.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ImageEffectBase>.NativeClassPtr, 100675350);
		}

		// Token: 0x06009C3F RID: 39999 RVA: 0x0000351C File Offset: 0x0000171C
		public ImageEffectBase(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700350C RID: 13580
		// (get) Token: 0x06009C40 RID: 40000 RVA: 0x00280820 File Offset: 0x0027EA20
		// (set) Token: 0x06009C41 RID: 40001 RVA: 0x00280854 File Offset: 0x0027EA54
		public unsafe Shader shader
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ImageEffectBase.NativeFieldInfoPtr_shader);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Shader(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ImageEffectBase.NativeFieldInfoPtr_shader), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700350D RID: 13581
		// (get) Token: 0x06009C42 RID: 40002 RVA: 0x0028087C File Offset: 0x0027EA7C
		// (set) Token: 0x06009C43 RID: 40003 RVA: 0x002808B0 File Offset: 0x0027EAB0
		public unsafe Material m_Material
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ImageEffectBase.NativeFieldInfoPtr_m_Material);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Material(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ImageEffectBase.NativeFieldInfoPtr_m_Material), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x040068B9 RID: 26809
		private static readonly IntPtr NativeFieldInfoPtr_shader;

		// Token: 0x040068BA RID: 26810
		private static readonly IntPtr NativeFieldInfoPtr_m_Material;

		// Token: 0x040068BB RID: 26811
		private static readonly IntPtr NativeMethodInfoPtr_Start_Protected_Virtual_New_Void_0;

		// Token: 0x040068BC RID: 26812
		private static readonly IntPtr NativeMethodInfoPtr_get_material_Protected_get_Material_0;

		// Token: 0x040068BD RID: 26813
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Protected_Virtual_New_Void_0;

		// Token: 0x040068BE RID: 26814
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
