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

namespace UnityStandardAssets.ImageEffects
{
	// Token: 0x020005DA RID: 1498
	public class Quads : Il2CppSystem.Object
	{
		// Token: 0x06009CCD RID: 40141 RVA: 0x00282CFC File Offset: 0x00280EFC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 621476, XrefRangeEnd = 621487, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static bool HasMeshes()
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Quads.NativeMethodInfoPtr_HasMeshes_Private_Static_Boolean_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06009CCE RID: 40142 RVA: 0x00282D40 File Offset: 0x00280F40
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 621512, RefRangeEnd = 621513, XrefRangeStart = 621487, XrefRangeEnd = 621512, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static void Cleanup()
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Quads.NativeMethodInfoPtr_Cleanup_Public_Static_Void_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009CCF RID: 40143 RVA: 0x00282D74 File Offset: 0x00280F74
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 621548, RefRangeEnd = 621549, XrefRangeStart = 621513, XrefRangeEnd = 621548, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Il2CppReferenceArray<Mesh> GetMeshes(int totalWidth, int totalHeight)
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref totalWidth;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref totalHeight;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Quads.NativeMethodInfoPtr_GetMeshes_Public_Static_Il2CppReferenceArray_1_Mesh_Int32_Int32_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new Il2CppReferenceArray<Mesh>(intPtr3) : null;
		}

		// Token: 0x06009CD0 RID: 40144 RVA: 0x00282DE0 File Offset: 0x00280FE0
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 621571, RefRangeEnd = 621572, XrefRangeStart = 621549, XrefRangeEnd = 621571, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Mesh GetMesh(int triCount, int triOffset, int totalWidth, int totalHeight)
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref triCount;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref triOffset;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref totalWidth;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref totalHeight;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Quads.NativeMethodInfoPtr_GetMesh_Private_Static_Mesh_Int32_Int32_Int32_Int32_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new Mesh(intPtr3) : null;
		}

		// Token: 0x06009CD1 RID: 40145 RVA: 0x00282E74 File Offset: 0x00281074
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Quads()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<Quads>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Quads.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009CD2 RID: 40146 RVA: 0x00282EC0 File Offset: 0x002810C0
		// Note: this type is marked as 'beforefieldinit'.
		static Quads()
		{
			Il2CppClassPointerStore<Quads>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityStandardAssets.ImageEffects", "Quads");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<Quads>.NativeClassPtr);
			Quads.NativeFieldInfoPtr_meshes = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Quads>.NativeClassPtr, "meshes");
			Quads.NativeFieldInfoPtr_currentQuads = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Quads>.NativeClassPtr, "currentQuads");
			Quads.NativeMethodInfoPtr_HasMeshes_Private_Static_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Quads>.NativeClassPtr, 100675391);
			Quads.NativeMethodInfoPtr_Cleanup_Public_Static_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Quads>.NativeClassPtr, 100675392);
			Quads.NativeMethodInfoPtr_GetMeshes_Public_Static_Il2CppReferenceArray_1_Mesh_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Quads>.NativeClassPtr, 100675393);
			Quads.NativeMethodInfoPtr_GetMesh_Private_Static_Mesh_Int32_Int32_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Quads>.NativeClassPtr, 100675394);
			Quads.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Quads>.NativeClassPtr, 100675395);
		}

		// Token: 0x06009CD3 RID: 40147 RVA: 0x0000A688 File Offset: 0x00008888
		public Quads(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700353B RID: 13627
		// (get) Token: 0x06009CD4 RID: 40148 RVA: 0x00282F7C File Offset: 0x0028117C
		// (set) Token: 0x06009CD5 RID: 40149 RVA: 0x00282FA7 File Offset: 0x002811A7
		public unsafe static Il2CppReferenceArray<Mesh> meshes
		{
			get
			{
				IntPtr intPtr;
				IL2CPP.il2cpp_field_static_get_value(Quads.NativeFieldInfoPtr_meshes, (void*)(&intPtr));
				IntPtr intPtr2 = intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<Mesh>(intPtr2) : null;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(Quads.NativeFieldInfoPtr_meshes, IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700353C RID: 13628
		// (get) Token: 0x06009CD6 RID: 40150 RVA: 0x00282FBC File Offset: 0x002811BC
		// (set) Token: 0x06009CD7 RID: 40151 RVA: 0x00282FDA File Offset: 0x002811DA
		public unsafe static int currentQuads
		{
			get
			{
				int num;
				IL2CPP.il2cpp_field_static_get_value(Quads.NativeFieldInfoPtr_currentQuads, (void*)(&num));
				return num;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(Quads.NativeFieldInfoPtr_currentQuads, (void*)(&value));
			}
		}

		// Token: 0x04006911 RID: 26897
		private static readonly IntPtr NativeFieldInfoPtr_meshes;

		// Token: 0x04006912 RID: 26898
		private static readonly IntPtr NativeFieldInfoPtr_currentQuads;

		// Token: 0x04006913 RID: 26899
		private static readonly IntPtr NativeMethodInfoPtr_HasMeshes_Private_Static_Boolean_0;

		// Token: 0x04006914 RID: 26900
		private static readonly IntPtr NativeMethodInfoPtr_Cleanup_Public_Static_Void_0;

		// Token: 0x04006915 RID: 26901
		private static readonly IntPtr NativeMethodInfoPtr_GetMeshes_Public_Static_Il2CppReferenceArray_1_Mesh_Int32_Int32_0;

		// Token: 0x04006916 RID: 26902
		private static readonly IntPtr NativeMethodInfoPtr_GetMesh_Private_Static_Mesh_Int32_Int32_Int32_Int32_0;

		// Token: 0x04006917 RID: 26903
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
