using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using UnityEngine;

namespace ch.sycoforge.Decal.Demo
{
	// Token: 0x0200064F RID: 1615
	public class AdvancedBulletHoles : MonoBehaviour
	{
		// Token: 0x0600A6CE RID: 42702 RVA: 0x002ABE64 File Offset: 0x002AA064
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 654872, XrefRangeEnd = 654886, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AdvancedBulletHoles.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A6CF RID: 42703 RVA: 0x002ABEA8 File Offset: 0x002AA0A8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 654886, XrefRangeEnd = 654925, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AdvancedBulletHoles.NativeMethodInfoPtr_Update_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A6D0 RID: 42704 RVA: 0x002ABEEC File Offset: 0x002AA0EC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 654925, XrefRangeEnd = 654926, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe AdvancedBulletHoles()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AdvancedBulletHoles.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A6D1 RID: 42705 RVA: 0x002ABF38 File Offset: 0x002AA138
		// Note: this type is marked as 'beforefieldinit'.
		static AdvancedBulletHoles()
		{
			Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "ch.sycoforge.Decal.Demo", "AdvancedBulletHoles");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr);
			AdvancedBulletHoles.NativeFieldInfoPtr_DecalPrefab = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr, "DecalPrefab");
			AdvancedBulletHoles.NativeFieldInfoPtr_ImpactParticles = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr, "ImpactParticles");
			AdvancedBulletHoles.NativeFieldInfoPtr_CastRadius = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr, "CastRadius");
			AdvancedBulletHoles.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr, 100676198);
			AdvancedBulletHoles.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr, 100676199);
			AdvancedBulletHoles.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr, 100676200);
		}

		// Token: 0x0600A6D2 RID: 42706 RVA: 0x0000351C File Offset: 0x0000171C
		public AdvancedBulletHoles(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003871 RID: 14449
		// (get) Token: 0x0600A6D3 RID: 42707 RVA: 0x002ABFE0 File Offset: 0x002AA1E0
		// (set) Token: 0x0600A6D4 RID: 42708 RVA: 0x002AC014 File Offset: 0x002AA214
		public unsafe EasyDecal DecalPrefab
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AdvancedBulletHoles.NativeFieldInfoPtr_DecalPrefab);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new EasyDecal(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(AdvancedBulletHoles.NativeFieldInfoPtr_DecalPrefab), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003872 RID: 14450
		// (get) Token: 0x0600A6D5 RID: 42709 RVA: 0x002AC03C File Offset: 0x002AA23C
		// (set) Token: 0x0600A6D6 RID: 42710 RVA: 0x002AC070 File Offset: 0x002AA270
		public unsafe GameObject ImpactParticles
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AdvancedBulletHoles.NativeFieldInfoPtr_ImpactParticles);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new GameObject(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(AdvancedBulletHoles.NativeFieldInfoPtr_ImpactParticles), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003873 RID: 14451
		// (get) Token: 0x0600A6D7 RID: 42711 RVA: 0x002AC098 File Offset: 0x002AA298
		// (set) Token: 0x0600A6D8 RID: 42712 RVA: 0x002AC0C0 File Offset: 0x002AA2C0
		public unsafe float CastRadius
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AdvancedBulletHoles.NativeFieldInfoPtr_CastRadius);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AdvancedBulletHoles.NativeFieldInfoPtr_CastRadius)) = value;
			}
		}

		// Token: 0x04006FD7 RID: 28631
		private static readonly IntPtr NativeFieldInfoPtr_DecalPrefab;

		// Token: 0x04006FD8 RID: 28632
		private static readonly IntPtr NativeFieldInfoPtr_ImpactParticles;

		// Token: 0x04006FD9 RID: 28633
		private static readonly IntPtr NativeFieldInfoPtr_CastRadius;

		// Token: 0x04006FDA RID: 28634
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x04006FDB RID: 28635
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x04006FDC RID: 28636
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
