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

// Token: 0x02000232 RID: 562
public class CustomURP : RenderPipeline
{
	// Token: 0x06005292 RID: 21138 RVA: 0x001489E8 File Offset: 0x00146BE8
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 576392, XrefRangeEnd = 576423, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe override void Render(ScriptableRenderContext context, Il2CppReferenceArray<Camera> cameras)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref context;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(cameras);
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), CustomURP.NativeMethodInfoPtr_Render_Protected_Virtual_Void_ScriptableRenderContext_Il2CppReferenceArray_1_Camera_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005293 RID: 21139 RVA: 0x00148A60 File Offset: 0x00146C60
	[CallerCount(340)]
	[CachedScanResults(RefRangeStart = 16599, RefRangeEnd = 16939, XrefRangeStart = 16599, XrefRangeEnd = 16939, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe CustomURP()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CustomURP>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CustomURP.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005294 RID: 21140 RVA: 0x00148AAC File Offset: 0x00146CAC
	// Note: this type is marked as 'beforefieldinit'.
	static CustomURP()
	{
		Il2CppClassPointerStore<CustomURP>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "CustomURP");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CustomURP>.NativeClassPtr);
		CustomURP.NativeFieldInfoPtr_pipeline = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CustomURP>.NativeClassPtr, "pipeline");
		CustomURP.NativeFieldInfoPtr_render = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CustomURP>.NativeClassPtr, "render");
		CustomURP.NativeMethodInfoPtr_Render_Protected_Virtual_Void_ScriptableRenderContext_Il2CppReferenceArray_1_Camera_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CustomURP>.NativeClassPtr, 100668831);
		CustomURP.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CustomURP>.NativeClassPtr, 100668832);
	}

	// Token: 0x06005295 RID: 21141 RVA: 0x00148B2C File Offset: 0x00146D2C
	public CustomURP(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001D5C RID: 7516
	// (get) Token: 0x06005296 RID: 21142 RVA: 0x00148B38 File Offset: 0x00146D38
	// (set) Token: 0x06005297 RID: 21143 RVA: 0x00148B6C File Offset: 0x00146D6C
	public unsafe UniversalRenderPipeline pipeline
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CustomURP.NativeFieldInfoPtr_pipeline);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new UniversalRenderPipeline(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CustomURP.NativeFieldInfoPtr_pipeline), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001D5D RID: 7517
	// (get) Token: 0x06005298 RID: 21144 RVA: 0x00148B94 File Offset: 0x00146D94
	// (set) Token: 0x06005299 RID: 21145 RVA: 0x00148BC8 File Offset: 0x00146DC8
	public unsafe Action<ScriptableRenderContext, Il2CppReferenceArray<Camera>> render
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CustomURP.NativeFieldInfoPtr_render);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Action<ScriptableRenderContext, Il2CppReferenceArray<Camera>>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CustomURP.NativeFieldInfoPtr_render), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04003660 RID: 13920
	private static readonly IntPtr NativeFieldInfoPtr_pipeline;

	// Token: 0x04003661 RID: 13921
	private static readonly IntPtr NativeFieldInfoPtr_render;

	// Token: 0x04003662 RID: 13922
	private static readonly IntPtr NativeMethodInfoPtr_Render_Protected_Virtual_Void_ScriptableRenderContext_Il2CppReferenceArray_1_Camera_0;

	// Token: 0x04003663 RID: 13923
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

	// Token: 0x02000233 RID: 563
	[ObfuscatedName("CustomURP/<>c__DisplayClass2_0")]
	public sealed class __c__DisplayClass2_0 : Il2CppSystem.Object
	{
		// Token: 0x0600529A RID: 21146 RVA: 0x00148BF0 File Offset: 0x00146DF0
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe __c__DisplayClass2_0()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CustomURP.__c__DisplayClass2_0>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CustomURP.__c__DisplayClass2_0.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600529B RID: 21147 RVA: 0x00148C3C File Offset: 0x00146E3C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 576381, XrefRangeEnd = 576392, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void _Render_b__0(ScriptableRenderContext src, Il2CppReferenceArray<Camera> cams)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref src;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(cams);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CustomURP.__c__DisplayClass2_0.NativeMethodInfoPtr__Render_b__0_Internal_Void_ScriptableRenderContext_Il2CppReferenceArray_1_Camera_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600529C RID: 21148 RVA: 0x00148CA8 File Offset: 0x00146EA8
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass2_0()
		{
			Il2CppClassPointerStore<CustomURP.__c__DisplayClass2_0>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<CustomURP>.NativeClassPtr, "<>c__DisplayClass2_0");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CustomURP.__c__DisplayClass2_0>.NativeClassPtr);
			CustomURP.__c__DisplayClass2_0.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CustomURP.__c__DisplayClass2_0>.NativeClassPtr, "<>4__this");
			CustomURP.__c__DisplayClass2_0.NativeFieldInfoPtr_method = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CustomURP.__c__DisplayClass2_0>.NativeClassPtr, "method");
			CustomURP.__c__DisplayClass2_0.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CustomURP.__c__DisplayClass2_0>.NativeClassPtr, 100668833);
			CustomURP.__c__DisplayClass2_0.NativeMethodInfoPtr__Render_b__0_Internal_Void_ScriptableRenderContext_Il2CppReferenceArray_1_Camera_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CustomURP.__c__DisplayClass2_0>.NativeClassPtr, 100668834);
		}

		// Token: 0x0600529D RID: 21149 RVA: 0x0000A74C File Offset: 0x0000894C
		public __c__DisplayClass2_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17001D5E RID: 7518
		// (get) Token: 0x0600529E RID: 21150 RVA: 0x00148D24 File Offset: 0x00146F24
		// (set) Token: 0x0600529F RID: 21151 RVA: 0x00148D58 File Offset: 0x00146F58
		public unsafe CustomURP __4__this
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CustomURP.__c__DisplayClass2_0.NativeFieldInfoPtr___4__this);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new CustomURP(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CustomURP.__c__DisplayClass2_0.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17001D5F RID: 7519
		// (get) Token: 0x060052A0 RID: 21152 RVA: 0x00148D80 File Offset: 0x00146F80
		// (set) Token: 0x060052A1 RID: 21153 RVA: 0x00148DB4 File Offset: 0x00146FB4
		public unsafe MethodInfo method
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CustomURP.__c__DisplayClass2_0.NativeFieldInfoPtr_method);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new MethodInfo(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CustomURP.__c__DisplayClass2_0.NativeFieldInfoPtr_method), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04003664 RID: 13924
		private static readonly IntPtr NativeFieldInfoPtr___4__this;

		// Token: 0x04003665 RID: 13925
		private static readonly IntPtr NativeFieldInfoPtr_method;

		// Token: 0x04003666 RID: 13926
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04003667 RID: 13927
		private static readonly IntPtr NativeMethodInfoPtr__Render_b__0_Internal_Void_ScriptableRenderContext_Il2CppReferenceArray_1_Camera_0;
	}
}
