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

namespace AmplifyColor
{
	// Token: 0x02000697 RID: 1687
	[Serializable]
	public class VolumeEffectContainer : Object
	{
		// Token: 0x0600AA99 RID: 43673 RVA: 0x002BE110 File Offset: 0x002BC310
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 659362, RefRangeEnd = 659363, XrefRangeStart = 659354, XrefRangeEnd = 659362, 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: 0x0600AA9A RID: 43674 RVA: 0x002BE15C File Offset: 0x002BC35C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 659363, XrefRangeEnd = 659374, 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: 0x0600AA9B RID: 43675 RVA: 0x002BE1B8 File Offset: 0x002BC3B8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 659374, XrefRangeEnd = 659381, 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: 0x0600AA9C RID: 43676 RVA: 0x002BE228 File Offset: 0x002BC428
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 659391, RefRangeEnd = 659394, XrefRangeStart = 659381, XrefRangeEnd = 659391, 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: 0x0600AA9D RID: 43677 RVA: 0x002BE298 File Offset: 0x002BC498
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 659394, XrefRangeEnd = 659398, 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: 0x0600AA9E RID: 43678 RVA: 0x002BE2F4 File Offset: 0x002BC4F4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 659398, XrefRangeEnd = 659420, 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: 0x0600AA9F RID: 43679 RVA: 0x002BE34C File Offset: 0x002BC54C
		// 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, 100676618);
			VolumeEffectContainer.NativeMethodInfoPtr_AddColorEffect_Public_Void_AmplifyColorBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100676619);
			VolumeEffectContainer.NativeMethodInfoPtr_AddJustColorEffect_Public_VolumeEffect_AmplifyColorBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100676620);
			VolumeEffectContainer.NativeMethodInfoPtr_FindVolumeEffect_Public_VolumeEffect_AmplifyColorBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100676621);
			VolumeEffectContainer.NativeMethodInfoPtr_RemoveVolumeEffect_Public_Void_VolumeEffect_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100676622);
			VolumeEffectContainer.NativeMethodInfoPtr_GetStoredEffects_Public_Il2CppReferenceArray_1_AmplifyColorBase_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer>.NativeClassPtr, 100676623);
		}

		// Token: 0x0600AAA0 RID: 43680 RVA: 0x0000A74C File Offset: 0x0000894C
		public VolumeEffectContainer(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700397F RID: 14719
		// (get) Token: 0x0600AAA1 RID: 43681 RVA: 0x002BE408 File Offset: 0x002BC608
		// (set) Token: 0x0600AAA2 RID: 43682 RVA: 0x002BE43C File Offset: 0x002BC63C
		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: 0x040072D6 RID: 29398
		private static readonly IntPtr NativeFieldInfoPtr_volumes;

		// Token: 0x040072D7 RID: 29399
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x040072D8 RID: 29400
		private static readonly IntPtr NativeMethodInfoPtr_AddColorEffect_Public_Void_AmplifyColorBase_0;

		// Token: 0x040072D9 RID: 29401
		private static readonly IntPtr NativeMethodInfoPtr_AddJustColorEffect_Public_VolumeEffect_AmplifyColorBase_0;

		// Token: 0x040072DA RID: 29402
		private static readonly IntPtr NativeMethodInfoPtr_FindVolumeEffect_Public_VolumeEffect_AmplifyColorBase_0;

		// Token: 0x040072DB RID: 29403
		private static readonly IntPtr NativeMethodInfoPtr_RemoveVolumeEffect_Public_Void_VolumeEffect_0;

		// Token: 0x040072DC RID: 29404
		private static readonly IntPtr NativeMethodInfoPtr_GetStoredEffects_Public_Il2CppReferenceArray_1_AmplifyColorBase_0;

		// Token: 0x02000698 RID: 1688
		[ObfuscatedName("AmplifyColor.VolumeEffectContainer/<>c")]
		[Serializable]
		public sealed class __c : Object
		{
			// Token: 0x0600AAA3 RID: 43683 RVA: 0x002BE464 File Offset: 0x002BC664
			[CallerCount(1664)]
			[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, 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: 0x0600AAA4 RID: 43684 RVA: 0x002BE4B0 File Offset: 0x002BC6B0
			[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: 0x0600AAA5 RID: 43685 RVA: 0x002BE520 File Offset: 0x002BC720
			// 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, 100676625);
				VolumeEffectContainer.__c.NativeMethodInfoPtr__GetStoredEffects_b__6_0_Internal_AmplifyColorBase_VolumeEffect_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<VolumeEffectContainer.__c>.NativeClassPtr, 100676626);
			}

			// Token: 0x0600AAA6 RID: 43686 RVA: 0x0000A74C File Offset: 0x0000894C
			public __c(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17003980 RID: 14720
			// (get) Token: 0x0600AAA7 RID: 43687 RVA: 0x002BE59C File Offset: 0x002BC79C
			// (set) Token: 0x0600AAA8 RID: 43688 RVA: 0x002BE5C7 File Offset: 0x002BC7C7
			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: 0x17003981 RID: 14721
			// (get) Token: 0x0600AAA9 RID: 43689 RVA: 0x002BE5DC File Offset: 0x002BC7DC
			// (set) Token: 0x0600AAAA RID: 43690 RVA: 0x002BE607 File Offset: 0x002BC807
			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: 0x040072DD RID: 29405
			private static readonly IntPtr NativeFieldInfoPtr___9;

			// Token: 0x040072DE RID: 29406
			private static readonly IntPtr NativeFieldInfoPtr___9__6_0;

			// Token: 0x040072DF RID: 29407
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

			// Token: 0x040072E0 RID: 29408
			private static readonly IntPtr NativeMethodInfoPtr__GetStoredEffects_b__6_0_Internal_AmplifyColorBase_VolumeEffect_0;
		}
	}
}
