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

namespace Obi
{
	// Token: 0x02000498 RID: 1176
	public class ShadowmapExposer : MonoBehaviour
	{
		// Token: 0x060089F7 RID: 35319 RVA: 0x00235994 File Offset: 0x00233B94
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 604964, XrefRangeEnd = 604968, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Awake()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ShadowmapExposer.NativeMethodInfoPtr_Awake_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060089F8 RID: 35320 RVA: 0x002359D8 File Offset: 0x00233BD8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 604968, XrefRangeEnd = 604980, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnEnable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ShadowmapExposer.NativeMethodInfoPtr_OnEnable_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060089F9 RID: 35321 RVA: 0x00235A1C File Offset: 0x00233C1C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 604980, XrefRangeEnd = 604982, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ShadowmapExposer.NativeMethodInfoPtr_OnDisable_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060089FA RID: 35322 RVA: 0x00235A60 File Offset: 0x00233C60
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 0, XrefRangeEnd = 0, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Cleanup()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ShadowmapExposer.NativeMethodInfoPtr_Cleanup_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060089FB RID: 35323 RVA: 0x00235AA4 File Offset: 0x00233CA4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 605004, RefRangeEnd = 605005, XrefRangeStart = 604982, XrefRangeEnd = 605004, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetupFluidShadowsCommandBuffer()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ShadowmapExposer.NativeMethodInfoPtr_SetupFluidShadowsCommandBuffer_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060089FC RID: 35324 RVA: 0x00235AE8 File Offset: 0x00233CE8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605005, XrefRangeEnd = 605009, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ShadowmapExposer.NativeMethodInfoPtr_Update_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

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

		// Token: 0x060089FE RID: 35326 RVA: 0x00235B78 File Offset: 0x00233D78
		// Note: this type is marked as 'beforefieldinit'.
		static ShadowmapExposer()
		{
			Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ShadowmapExposer");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr);
			ShadowmapExposer.NativeFieldInfoPtr_light = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, "light");
			ShadowmapExposer.NativeFieldInfoPtr_afterShadow = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, "afterShadow");
			ShadowmapExposer.NativeFieldInfoPtr_particleRenderers = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, "particleRenderers");
			ShadowmapExposer.NativeMethodInfoPtr_Awake_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, 100673827);
			ShadowmapExposer.NativeMethodInfoPtr_OnEnable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, 100673828);
			ShadowmapExposer.NativeMethodInfoPtr_OnDisable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, 100673829);
			ShadowmapExposer.NativeMethodInfoPtr_Cleanup_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, 100673830);
			ShadowmapExposer.NativeMethodInfoPtr_SetupFluidShadowsCommandBuffer_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, 100673831);
			ShadowmapExposer.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, 100673832);
			ShadowmapExposer.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ShadowmapExposer>.NativeClassPtr, 100673833);
		}

		// Token: 0x060089FF RID: 35327 RVA: 0x0000351C File Offset: 0x0000171C
		public ShadowmapExposer(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002EFA RID: 12026
		// (get) Token: 0x06008A00 RID: 35328 RVA: 0x00235C70 File Offset: 0x00233E70
		// (set) Token: 0x06008A01 RID: 35329 RVA: 0x00235CA4 File Offset: 0x00233EA4
		public unsafe Light light
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ShadowmapExposer.NativeFieldInfoPtr_light);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Light(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ShadowmapExposer.NativeFieldInfoPtr_light), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002EFB RID: 12027
		// (get) Token: 0x06008A02 RID: 35330 RVA: 0x00235CCC File Offset: 0x00233ECC
		// (set) Token: 0x06008A03 RID: 35331 RVA: 0x00235D00 File Offset: 0x00233F00
		public unsafe CommandBuffer afterShadow
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ShadowmapExposer.NativeFieldInfoPtr_afterShadow);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new CommandBuffer(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ShadowmapExposer.NativeFieldInfoPtr_afterShadow), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002EFC RID: 12028
		// (get) Token: 0x06008A04 RID: 35332 RVA: 0x00235D28 File Offset: 0x00233F28
		// (set) Token: 0x06008A05 RID: 35333 RVA: 0x00235D5C File Offset: 0x00233F5C
		public unsafe Il2CppReferenceArray<ObiParticleRenderer> particleRenderers
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ShadowmapExposer.NativeFieldInfoPtr_particleRenderers);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<ObiParticleRenderer>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ShadowmapExposer.NativeFieldInfoPtr_particleRenderers), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005BF1 RID: 23537
		private static readonly IntPtr NativeFieldInfoPtr_light;

		// Token: 0x04005BF2 RID: 23538
		private static readonly IntPtr NativeFieldInfoPtr_afterShadow;

		// Token: 0x04005BF3 RID: 23539
		private static readonly IntPtr NativeFieldInfoPtr_particleRenderers;

		// Token: 0x04005BF4 RID: 23540
		private static readonly IntPtr NativeMethodInfoPtr_Awake_Public_Void_0;

		// Token: 0x04005BF5 RID: 23541
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Public_Void_0;

		// Token: 0x04005BF6 RID: 23542
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Public_Void_0;

		// Token: 0x04005BF7 RID: 23543
		private static readonly IntPtr NativeMethodInfoPtr_Cleanup_Private_Void_0;

		// Token: 0x04005BF8 RID: 23544
		private static readonly IntPtr NativeMethodInfoPtr_SetupFluidShadowsCommandBuffer_Public_Void_0;

		// Token: 0x04005BF9 RID: 23545
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x04005BFA RID: 23546
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
