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

namespace ch.sycoforge.Decal.Demo
{
	// Token: 0x020005F7 RID: 1527
	public class AdvancedBulletHoles : MonoBehaviour
	{
		// Token: 0x06009E7B RID: 40571 RVA: 0x00289128 File Offset: 0x00287328
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 622570, XrefRangeEnd = 622584, 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: 0x06009E7C RID: 40572 RVA: 0x0028916C File Offset: 0x0028736C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 622584, XrefRangeEnd = 622623, 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: 0x06009E7D RID: 40573 RVA: 0x002891B0 File Offset: 0x002873B0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 622623, XrefRangeEnd = 622624, 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: 0x06009E7E RID: 40574 RVA: 0x002891FC File Offset: 0x002873FC
		// 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, 100675485);
			AdvancedBulletHoles.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr, 100675486);
			AdvancedBulletHoles.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AdvancedBulletHoles>.NativeClassPtr, 100675487);
		}

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

		// Token: 0x170035D6 RID: 13782
		// (get) Token: 0x06009E80 RID: 40576 RVA: 0x002892A4 File Offset: 0x002874A4
		// (set) Token: 0x06009E81 RID: 40577 RVA: 0x002892D8 File Offset: 0x002874D8
		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: 0x170035D7 RID: 13783
		// (get) Token: 0x06009E82 RID: 40578 RVA: 0x00289300 File Offset: 0x00287500
		// (set) Token: 0x06009E83 RID: 40579 RVA: 0x00289334 File Offset: 0x00287534
		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: 0x170035D8 RID: 13784
		// (get) Token: 0x06009E84 RID: 40580 RVA: 0x0028935C File Offset: 0x0028755C
		// (set) Token: 0x06009E85 RID: 40581 RVA: 0x00289384 File Offset: 0x00287584
		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: 0x04006A2E RID: 27182
		private static readonly IntPtr NativeFieldInfoPtr_DecalPrefab;

		// Token: 0x04006A2F RID: 27183
		private static readonly IntPtr NativeFieldInfoPtr_ImpactParticles;

		// Token: 0x04006A30 RID: 27184
		private static readonly IntPtr NativeFieldInfoPtr_CastRadius;

		// Token: 0x04006A31 RID: 27185
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x04006A32 RID: 27186
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x04006A33 RID: 27187
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
