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

namespace AmplifyColor
{
	// Token: 0x0200063F RID: 1599
	[Serializable]
	public class VolumeEffectContainer : Object
	{
		// Token: 0x0600A246 RID: 41542 RVA: 0x0029B3D4 File Offset: 0x002995D4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 627061, RefRangeEnd = 627062, XrefRangeStart = 627053, XrefRangeEnd = 627061, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe VolumeEffectContainer()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VolumeEffectContainer.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A247 RID: 41543 RVA: 0x0029B420 File Offset: 0x00299620
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627062, XrefRangeEnd = 627073, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AddColorEffect(AmplifyColorBase colorEffect)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(colorEffect);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VolumeEffectContainer.NativeMethodInfoPtr_AddColorEffect_Public_Void_AmplifyColorBase_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600A248 RID: 41544 RVA: 0x0029B47C File Offset: 0x0029967C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627073, XrefRangeEnd = 627080, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe VolumeEffect AddJustColorEffect(AmplifyColorBase colorEffect)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(colorEffect);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VolumeEffectContainer.NativeMethodInfoPtr_AddJustColorEffect_Public_VolumeEffect_AmplifyColorBase_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new VolumeEffect(intPtr3) : null;
			}
		}

		// Token: 0x0600A249 RID: 41545 RVA: 0x0029B4EC File Offset: 0x002996EC
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 627090, RefRangeEnd = 627093, XrefRangeStart = 627080, XrefRangeEnd = 627090, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe VolumeEffect FindVolumeEffect(AmplifyColorBase colorEffect)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(colorEffect);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VolumeEffectContainer.NativeMethodInfoPtr_FindVolumeEffect_Public_VolumeEffect_AmplifyColorBase_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new VolumeEffect(intPtr3) : null;
			}
		}

		// Token: 0x0600A24A RID: 41546 RVA: 0x0029B55C File Offset: 0x0029975C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627093, XrefRangeEnd = 627097, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RemoveVolumeEffect(VolumeEffect volume)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(volume);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VolumeEffectContainer.NativeMethodInfoPtr_RemoveVolumeEffect_Public_Void_VolumeEffect_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600A24B RID: 41547 RVA: 0x0029B5B8 File Offset: 0x002997B8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627097, XrefRangeEnd = 627119, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Il2CppReferenceArray<AmplifyColorBase> GetStoredEffects()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VolumeEffectContainer.NativeMethodInfoPtr_GetStoredEffects_Public_Il2CppReferenceArray_1_AmplifyColorBase_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new Il2CppReferenceArray<AmplifyColorBase>(intPtr3) : null;
		}

		// Token: 0x0600A24C RID: 41548 RVA: 0x0029B610 File Offset: 0x00299810
		// Note: this type is marked as 'beforefieldinit'.
		static VolumeEffectContainer()
		{
			Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "AmplifyColor", "VolumeEffectContainer");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr);
			VolumeEffectContainer.NativeFieldInfoPtr_volumes = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, "volumes");
			VolumeEffectContainer.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100675905);
			VolumeEffectContainer.NativeMethodInfoPtr_AddColorEffect_Public_Void_AmplifyColorBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100675906);
			VolumeEffectContainer.NativeMethodInfoPtr_AddJustColorEffect_Public_VolumeEffect_AmplifyColorBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100675907);
			VolumeEffectContainer.NativeMethodInfoPtr_FindVolumeEffect_Public_VolumeEffect_AmplifyColorBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100675908);
			VolumeEffectContainer.NativeMethodInfoPtr_RemoveVolumeEffect_Public_Void_VolumeEffect_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100675909);
			VolumeEffectContainer.NativeMethodInfoPtr_GetStoredEffects_Public_Il2CppReferenceArray_1_AmplifyColorBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100675910);
		}

		// Token: 0x0600A24D RID: 41549 RVA: 0x0000A688 File Offset: 0x00008888
		public VolumeEffectContainer(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170036E4 RID: 14052
		// (get) Token: 0x0600A24E RID: 41550 RVA: 0x0029B6CC File Offset: 0x002998CC
		// (set) Token: 0x0600A24F RID: 41551 RVA: 0x0029B700 File Offset: 0x00299900
		public unsafe List<VolumeEffect> volumes
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(VolumeEffectContainer.NativeFieldInfoPtr_volumes);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<VolumeEffect>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(VolumeEffectContainer.NativeFieldInfoPtr_volumes), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04006D2D RID: 27949
		private static readonly IntPtr NativeFieldInfoPtr_volumes;

		// Token: 0x04006D2E RID: 27950
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04006D2F RID: 27951
		private static readonly IntPtr NativeMethodInfoPtr_AddColorEffect_Public_Void_AmplifyColorBase_0;

		// Token: 0x04006D30 RID: 27952
		private static readonly IntPtr NativeMethodInfoPtr_AddJustColorEffect_Public_VolumeEffect_AmplifyColorBase_0;

		// Token: 0x04006D31 RID: 27953
		private static readonly IntPtr NativeMethodInfoPtr_FindVolumeEffect_Public_VolumeEffect_AmplifyColorBase_0;

		// Token: 0x04006D32 RID: 27954
		private static readonly IntPtr NativeMethodInfoPtr_RemoveVolumeEffect_Public_Void_VolumeEffect_0;

		// Token: 0x04006D33 RID: 27955
		private static readonly IntPtr NativeMethodInfoPtr_GetStoredEffects_Public_Il2CppReferenceArray_1_AmplifyColorBase_0;

		// Token: 0x02000640 RID: 1600
		[ObfuscatedName("AmplifyColor.VolumeEffectContainer/<>c")]
		[Serializable]
		public sealed class __c : Object
		{
			// Token: 0x0600A250 RID: 41552 RVA: 0x0029B728 File Offset: 0x00299928
			[CallerCount(1642)]
			[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe __c()
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<VolumeEffectContainer.__c>.NativeClassPtr))
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VolumeEffectContainer.__c.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x0600A251 RID: 41553 RVA: 0x0029B774 File Offset: 0x00299974
			[CallerCount(0)]
			public unsafe AmplifyColorBase _GetStoredEffects_b__6_0(VolumeEffect r)
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(r);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(VolumeEffectContainer.__c.NativeMethodInfoPtr__GetStoredEffects_b__6_0_Internal_AmplifyColorBase_VolumeEffect_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new AmplifyColorBase(intPtr3) : null;
				}
			}

			// Token: 0x0600A252 RID: 41554 RVA: 0x0029B7E4 File Offset: 0x002999E4
			// Note: this type is marked as 'beforefieldinit'.
			static __c()
			{
				Il2CppClassPointerStore<VolumeEffectContainer.__c>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, "<>c");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<VolumeEffectContainer.__c>.NativeClassPtr);
				VolumeEffectContainer.__c.NativeFieldInfoPtr___9 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<VolumeEffectContainer.__c>.NativeClassPtr, "<>9");
				VolumeEffectContainer.__c.NativeFieldInfoPtr___9__6_0 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<VolumeEffectContainer.__c>.NativeClassPtr, "<>9__6_0");
				VolumeEffectContainer.__c.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer.__c>.NativeClassPtr, 100675912);
				VolumeEffectContainer.__c.NativeMethodInfoPtr__GetStoredEffects_b__6_0_Internal_AmplifyColorBase_VolumeEffect_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer.__c>.NativeClassPtr, 100675913);
			}

			// Token: 0x0600A253 RID: 41555 RVA: 0x0000A688 File Offset: 0x00008888
			public __c(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170036E5 RID: 14053
			// (get) Token: 0x0600A254 RID: 41556 RVA: 0x0029B860 File Offset: 0x00299A60
			// (set) Token: 0x0600A255 RID: 41557 RVA: 0x0029B88B File Offset: 0x00299A8B
			public unsafe static VolumeEffectContainer.__c __9
			{
				get
				{
					IntPtr intPtr;
					IL2CPP.il2cpp_field_static_get_value(VolumeEffectContainer.__c.NativeFieldInfoPtr___9, (void*)(&intPtr));
					IntPtr intPtr2 = intPtr;
					return (intPtr2 != 0) ? new VolumeEffectContainer.__c(intPtr2) : null;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(VolumeEffectContainer.__c.NativeFieldInfoPtr___9, IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170036E6 RID: 14054
			// (get) Token: 0x0600A256 RID: 41558 RVA: 0x0029B8A0 File Offset: 0x00299AA0
			// (set) Token: 0x0600A257 RID: 41559 RVA: 0x0029B8CB File Offset: 0x00299ACB
			public unsafe static Func<VolumeEffect, AmplifyColorBase> __9__6_0
			{
				get
				{
					IntPtr intPtr;
					IL2CPP.il2cpp_field_static_get_value(VolumeEffectContainer.__c.NativeFieldInfoPtr___9__6_0, (void*)(&intPtr));
					IntPtr intPtr2 = intPtr;
					return (intPtr2 != 0) ? new Func<VolumeEffect, AmplifyColorBase>(intPtr2) : null;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(VolumeEffectContainer.__c.NativeFieldInfoPtr___9__6_0, IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x04006D34 RID: 27956
			private static readonly IntPtr NativeFieldInfoPtr___9;

			// Token: 0x04006D35 RID: 27957
			private static readonly IntPtr NativeFieldInfoPtr___9__6_0;

			// Token: 0x04006D36 RID: 27958
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

			// Token: 0x04006D37 RID: 27959
			private static readonly IntPtr NativeMethodInfoPtr__GetStoredEffects_b__6_0_Internal_AmplifyColorBase_VolumeEffect_0;
		}
	}
}
