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

// Token: 0x02000395 RID: 917
public class SelfDestruct : MonoBehaviour
{
	// Token: 0x060077D2 RID: 30674 RVA: 0x001E797C File Offset: 0x001E5B7C
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616641, XrefRangeEnd = 616646, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Start()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SelfDestruct.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060077D3 RID: 30675 RVA: 0x001E79C0 File Offset: 0x001E5BC0
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616646, XrefRangeEnd = 616647, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe SelfDestruct()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SelfDestruct>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SelfDestruct.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060077D4 RID: 30676 RVA: 0x001E7A0C File Offset: 0x001E5C0C
	// Note: this type is marked as 'beforefieldinit'.
	static SelfDestruct()
	{
		Il2CppClassPointerStore<SelfDestruct>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "SelfDestruct");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SelfDestruct>.NativeClassPtr);
		SelfDestruct.NativeFieldInfoPtr_selfdestruct_in = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SelfDestruct>.NativeClassPtr, "selfdestruct_in");
		SelfDestruct.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SelfDestruct>.NativeClassPtr, 100672301);
		SelfDestruct.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SelfDestruct>.NativeClassPtr, 100672302);
	}

	// Token: 0x060077D5 RID: 30677 RVA: 0x0000351C File Offset: 0x0000171C
	public SelfDestruct(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x1700291F RID: 10527
	// (get) Token: 0x060077D6 RID: 30678 RVA: 0x001E7A78 File Offset: 0x001E5C78
	// (set) Token: 0x060077D7 RID: 30679 RVA: 0x001E7AA0 File Offset: 0x001E5CA0
	public unsafe float selfdestruct_in
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SelfDestruct.NativeFieldInfoPtr_selfdestruct_in);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SelfDestruct.NativeFieldInfoPtr_selfdestruct_in)) = value;
		}
	}

	// Token: 0x04004FBA RID: 20410
	private static readonly IntPtr NativeFieldInfoPtr_selfdestruct_in;

	// Token: 0x04004FBB RID: 20411
	private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

	// Token: 0x04004FBC RID: 20412
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
