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

// Token: 0x020002BE RID: 702
public class UIEnemyHPUpdater : Object
{
	// Token: 0x06005D27 RID: 23847 RVA: 0x001781AC File Offset: 0x001763AC
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 567662, XrefRangeEnd = 567669, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe UIEnemyHPUpdater(EnemyHpHandler hpBarUI, Action<UIEnemyHPUpdater> recycleHandler)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(hpBarUI);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(recycleHandler);
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIEnemyHPUpdater.NativeMethodInfoPtr__ctor_Public_Void_EnemyHpHandler_Action_1_UIEnemyHPUpdater_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005D28 RID: 23848 RVA: 0x00178228 File Offset: 0x00176428
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 567669, XrefRangeEnd = 567670, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Init(EnemiesManager.EnemyData data)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(data);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIEnemyHPUpdater.NativeMethodInfoPtr_Init_Public_Void_EnemyData_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06005D29 RID: 23849 RVA: 0x00178284 File Offset: 0x00176484
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 567704, RefRangeEnd = 567705, XrefRangeStart = 567670, XrefRangeEnd = 567704, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void UpdateInformation()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIEnemyHPUpdater.NativeMethodInfoPtr_UpdateInformation_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005D2A RID: 23850 RVA: 0x001782C8 File Offset: 0x001764C8
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 567705, XrefRangeEnd = 567709, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Dispose()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(UIEnemyHPUpdater.NativeMethodInfoPtr_Dispose_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005D2B RID: 23851 RVA: 0x0017830C File Offset: 0x0017650C
	// Note: this type is marked as 'beforefieldinit'.
	static UIEnemyHPUpdater()
	{
		Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "UIEnemyHPUpdater");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr);
		UIEnemyHPUpdater.NativeFieldInfoPtr_data = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, "data");
		UIEnemyHPUpdater.NativeFieldInfoPtr_hpBarUI = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, "hpBarUI");
		UIEnemyHPUpdater.NativeFieldInfoPtr_APPEARANCE_DURATION = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, "APPEARANCE_DURATION");
		UIEnemyHPUpdater.NativeFieldInfoPtr_appearanceTimer = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, "appearanceTimer");
		UIEnemyHPUpdater.NativeFieldInfoPtr_hpPercentLerp = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, "hpPercentLerp");
		UIEnemyHPUpdater.NativeFieldInfoPtr_recycleHandler = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, "recycleHandler");
		UIEnemyHPUpdater.NativeMethodInfoPtr__ctor_Public_Void_EnemyHpHandler_Action_1_UIEnemyHPUpdater_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, 100669948);
		UIEnemyHPUpdater.NativeMethodInfoPtr_Init_Public_Void_EnemyData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, 100669949);
		UIEnemyHPUpdater.NativeMethodInfoPtr_UpdateInformation_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, 100669950);
		UIEnemyHPUpdater.NativeMethodInfoPtr_Dispose_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, 100669951);
	}

	// Token: 0x06005D2C RID: 23852 RVA: 0x0000A688 File Offset: 0x00008888
	public UIEnemyHPUpdater(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x1700205B RID: 8283
	// (get) Token: 0x06005D2D RID: 23853 RVA: 0x00178404 File Offset: 0x00176604
	// (set) Token: 0x06005D2E RID: 23854 RVA: 0x00178438 File Offset: 0x00176638
	public unsafe EnemiesManager.EnemyData data
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_data);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new EnemiesManager.EnemyData(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_data), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x1700205C RID: 8284
	// (get) Token: 0x06005D2F RID: 23855 RVA: 0x00178460 File Offset: 0x00176660
	// (set) Token: 0x06005D30 RID: 23856 RVA: 0x00178494 File Offset: 0x00176694
	public unsafe EnemyHpHandler hpBarUI
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_hpBarUI);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new EnemyHpHandler(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_hpBarUI), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x1700205D RID: 8285
	// (get) Token: 0x06005D31 RID: 23857 RVA: 0x001784BC File Offset: 0x001766BC
	// (set) Token: 0x06005D32 RID: 23858 RVA: 0x001784DA File Offset: 0x001766DA
	public unsafe static float APPEARANCE_DURATION
	{
		get
		{
			float num;
			IL2CPP.il2cpp_field_static_get_value(UIEnemyHPUpdater.NativeFieldInfoPtr_APPEARANCE_DURATION, (void*)(&num));
			return num;
		}
		set
		{
			IL2CPP.il2cpp_field_static_set_value(UIEnemyHPUpdater.NativeFieldInfoPtr_APPEARANCE_DURATION, (void*)(&value));
		}
	}

	// Token: 0x1700205E RID: 8286
	// (get) Token: 0x06005D33 RID: 23859 RVA: 0x001784EC File Offset: 0x001766EC
	// (set) Token: 0x06005D34 RID: 23860 RVA: 0x00178514 File Offset: 0x00176714
	public unsafe float appearanceTimer
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_appearanceTimer);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_appearanceTimer)) = value;
		}
	}

	// Token: 0x1700205F RID: 8287
	// (get) Token: 0x06005D35 RID: 23861 RVA: 0x00178538 File Offset: 0x00176738
	// (set) Token: 0x06005D36 RID: 23862 RVA: 0x00178560 File Offset: 0x00176760
	public unsafe float hpPercentLerp
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_hpPercentLerp);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_hpPercentLerp)) = value;
		}
	}

	// Token: 0x17002060 RID: 8288
	// (get) Token: 0x06005D37 RID: 23863 RVA: 0x00178584 File Offset: 0x00176784
	// (set) Token: 0x06005D38 RID: 23864 RVA: 0x001785B8 File Offset: 0x001767B8
	public unsafe Action<UIEnemyHPUpdater> recycleHandler
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_recycleHandler);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Action<UIEnemyHPUpdater>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(UIEnemyHPUpdater.NativeFieldInfoPtr_recycleHandler), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04003DB8 RID: 15800
	private static readonly IntPtr NativeFieldInfoPtr_data;

	// Token: 0x04003DB9 RID: 15801
	private static readonly IntPtr NativeFieldInfoPtr_hpBarUI;

	// Token: 0x04003DBA RID: 15802
	private static readonly IntPtr NativeFieldInfoPtr_APPEARANCE_DURATION;

	// Token: 0x04003DBB RID: 15803
	private static readonly IntPtr NativeFieldInfoPtr_appearanceTimer;

	// Token: 0x04003DBC RID: 15804
	private static readonly IntPtr NativeFieldInfoPtr_hpPercentLerp;

	// Token: 0x04003DBD RID: 15805
	private static readonly IntPtr NativeFieldInfoPtr_recycleHandler;

	// Token: 0x04003DBE RID: 15806
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_EnemyHpHandler_Action_1_UIEnemyHPUpdater_0;

	// Token: 0x04003DBF RID: 15807
	private static readonly IntPtr NativeMethodInfoPtr_Init_Public_Void_EnemyData_0;

	// Token: 0x04003DC0 RID: 15808
	private static readonly IntPtr NativeMethodInfoPtr_UpdateInformation_Public_Void_0;

	// Token: 0x04003DC1 RID: 15809
	private static readonly IntPtr NativeMethodInfoPtr_Dispose_Public_Void_0;
}
