using System;
using ch.sycoforge.Decal;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;
using UnityEngine;

// Token: 0x0200032E RID: 814
public class RuntimeDecalCombiner : Il2CppSystem.Object
{
	// Token: 0x06006EC5 RID: 28357 RVA: 0x001C1FE4 File Offset: 0x001C01E4
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 583836, XrefRangeEnd = 583882, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe static List<GameObject> Combine(IList<EasyDecal> decals)
	{
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(decals);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeDecalCombiner.NativeMethodInfoPtr_Combine_Public_Static_List_1_GameObject_IList_1_EasyDecal_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new List<GameObject>(intPtr3) : null;
		}
	}

	// Token: 0x06006EC6 RID: 28358 RVA: 0x001C2044 File Offset: 0x001C0244
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 583931, RefRangeEnd = 583932, XrefRangeStart = 583882, XrefRangeEnd = 583931, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe static List<GameObject> Combine(Dictionary<DecalTextureAtlas, List<EasyDecal>> mappings)
	{
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(mappings);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeDecalCombiner.NativeMethodInfoPtr_Combine_Private_Static_List_1_GameObject_Dictionary_2_DecalTextureAtlas_List_1_EasyDecal_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new List<GameObject>(intPtr3) : null;
		}
	}

	// Token: 0x06006EC7 RID: 28359 RVA: 0x001C20A4 File Offset: 0x001C02A4
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 583977, RefRangeEnd = 583978, XrefRangeStart = 583932, XrefRangeEnd = 583977, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe static GameObject Combine(IList<EasyDecal> decals, DecalTextureAtlas atlas)
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(decals);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(atlas);
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RuntimeDecalCombiner.NativeMethodInfoPtr_Combine_Private_Static_GameObject_IList_1_EasyDecal_DecalTextureAtlas_0, 0, (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		IntPtr intPtr3 = intPtr;
		return (intPtr3 != 0) ? new GameObject(intPtr3) : null;
	}

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

	// Token: 0x06006EC9 RID: 28361 RVA: 0x001C2168 File Offset: 0x001C0368
	// Note: this type is marked as 'beforefieldinit'.
	static RuntimeDecalCombiner()
	{
		Il2CppClassPointerStore<RuntimeDecalCombiner>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "RuntimeDecalCombiner");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<RuntimeDecalCombiner>.NativeClassPtr);
		RuntimeDecalCombiner.NativeMethodInfoPtr_Combine_Public_Static_List_1_GameObject_IList_1_EasyDecal_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeDecalCombiner>.NativeClassPtr, 100671532);
		RuntimeDecalCombiner.NativeMethodInfoPtr_Combine_Private_Static_List_1_GameObject_Dictionary_2_DecalTextureAtlas_List_1_EasyDecal_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeDecalCombiner>.NativeClassPtr, 100671533);
		RuntimeDecalCombiner.NativeMethodInfoPtr_Combine_Private_Static_GameObject_IList_1_EasyDecal_DecalTextureAtlas_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeDecalCombiner>.NativeClassPtr, 100671534);
		RuntimeDecalCombiner.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeDecalCombiner>.NativeClassPtr, 100671535);
	}

	// Token: 0x06006ECA RID: 28362 RVA: 0x0000A688 File Offset: 0x00008888
	public RuntimeDecalCombiner(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x040049A7 RID: 18855
	private static readonly IntPtr NativeMethodInfoPtr_Combine_Public_Static_List_1_GameObject_IList_1_EasyDecal_0;

	// Token: 0x040049A8 RID: 18856
	private static readonly IntPtr NativeMethodInfoPtr_Combine_Private_Static_List_1_GameObject_Dictionary_2_DecalTextureAtlas_List_1_EasyDecal_0;

	// Token: 0x040049A9 RID: 18857
	private static readonly IntPtr NativeMethodInfoPtr_Combine_Private_Static_GameObject_IList_1_EasyDecal_DecalTextureAtlas_0;

	// Token: 0x040049AA RID: 18858
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
