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

// Token: 0x02000386 RID: 902
public class RuntimeDecalCombiner : Il2CppSystem.Object
{
	// Token: 0x06007718 RID: 30488 RVA: 0x001E4D2C File Offset: 0x001E2F2C
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616137, XrefRangeEnd = 616183, 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: 0x06007719 RID: 30489 RVA: 0x001E4D8C File Offset: 0x001E2F8C
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 616232, RefRangeEnd = 616233, XrefRangeStart = 616183, XrefRangeEnd = 616232, 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: 0x0600771A RID: 30490 RVA: 0x001E4DEC File Offset: 0x001E2FEC
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 616278, RefRangeEnd = 616279, XrefRangeStart = 616233, XrefRangeEnd = 616278, 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: 0x0600771B RID: 30491 RVA: 0x001E4E64 File Offset: 0x001E3064
	[CallerCount(1664)]
	[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, 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: 0x0600771C RID: 30492 RVA: 0x001E4EB0 File Offset: 0x001E30B0
	// 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, 100672245);
		RuntimeDecalCombiner.NativeMethodInfoPtr_Combine_Private_Static_List_1_GameObject_Dictionary_2_DecalTextureAtlas_List_1_EasyDecal_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeDecalCombiner>.NativeClassPtr, 100672246);
		RuntimeDecalCombiner.NativeMethodInfoPtr_Combine_Private_Static_GameObject_IList_1_EasyDecal_DecalTextureAtlas_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeDecalCombiner>.NativeClassPtr, 100672247);
		RuntimeDecalCombiner.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RuntimeDecalCombiner>.NativeClassPtr, 100672248);
	}

	// Token: 0x0600771D RID: 30493 RVA: 0x0000A74C File Offset: 0x0000894C
	public RuntimeDecalCombiner(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x04004F50 RID: 20304
	private static readonly IntPtr NativeMethodInfoPtr_Combine_Public_Static_List_1_GameObject_IList_1_EasyDecal_0;

	// Token: 0x04004F51 RID: 20305
	private static readonly IntPtr NativeMethodInfoPtr_Combine_Private_Static_List_1_GameObject_Dictionary_2_DecalTextureAtlas_List_1_EasyDecal_0;

	// Token: 0x04004F52 RID: 20306
	private static readonly IntPtr NativeMethodInfoPtr_Combine_Private_Static_GameObject_IList_1_EasyDecal_DecalTextureAtlas_0;

	// Token: 0x04004F53 RID: 20307
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
