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

// Token: 0x0200030B RID: 779
public class UIEnemyHPUpdater : Object
{
	// Token: 0x060063FF RID: 25599 RVA: 0x00194814 File Offset: 0x00192A14
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 598210, XrefRangeEnd = 598217, 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: 0x06006400 RID: 25600 RVA: 0x00194890 File Offset: 0x00192A90
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 598217, XrefRangeEnd = 598218, 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: 0x06006401 RID: 25601 RVA: 0x001948EC File Offset: 0x00192AEC
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 598252, RefRangeEnd = 598253, XrefRangeStart = 598218, XrefRangeEnd = 598252, 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: 0x06006402 RID: 25602 RVA: 0x00194930 File Offset: 0x00192B30
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 598253, XrefRangeEnd = 598257, 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: 0x06006403 RID: 25603 RVA: 0x00194974 File Offset: 0x00192B74
	// 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, 100670524);
		UIEnemyHPUpdater.NativeMethodInfoPtr_Init_Public_Void_EnemyData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, 100670525);
		UIEnemyHPUpdater.NativeMethodInfoPtr_UpdateInformation_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, 100670526);
		UIEnemyHPUpdater.NativeMethodInfoPtr_Dispose_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<UIEnemyHPUpdater>.NativeClassPtr, 100670527);
	}

	// Token: 0x06006404 RID: 25604 RVA: 0x0000A74C File Offset: 0x0000894C
	public UIEnemyHPUpdater(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17002275 RID: 8821
	// (get) Token: 0x06006405 RID: 25605 RVA: 0x00194A6C File Offset: 0x00192C6C
	// (set) Token: 0x06006406 RID: 25606 RVA: 0x00194AA0 File Offset: 0x00192CA0
	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: 0x17002276 RID: 8822
	// (get) Token: 0x06006407 RID: 25607 RVA: 0x00194AC8 File Offset: 0x00192CC8
	// (set) Token: 0x06006408 RID: 25608 RVA: 0x00194AFC File Offset: 0x00192CFC
	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: 0x17002277 RID: 8823
	// (get) Token: 0x06006409 RID: 25609 RVA: 0x00194B24 File Offset: 0x00192D24
	// (set) Token: 0x0600640A RID: 25610 RVA: 0x00194B42 File Offset: 0x00192D42
	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: 0x17002278 RID: 8824
	// (get) Token: 0x0600640B RID: 25611 RVA: 0x00194B54 File Offset: 0x00192D54
	// (set) Token: 0x0600640C RID: 25612 RVA: 0x00194B7C File Offset: 0x00192D7C
	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: 0x17002279 RID: 8825
	// (get) Token: 0x0600640D RID: 25613 RVA: 0x00194BA0 File Offset: 0x00192DA0
	// (set) Token: 0x0600640E RID: 25614 RVA: 0x00194BC8 File Offset: 0x00192DC8
	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: 0x1700227A RID: 8826
	// (get) Token: 0x0600640F RID: 25615 RVA: 0x00194BEC File Offset: 0x00192DEC
	// (set) Token: 0x06006410 RID: 25616 RVA: 0x00194C20 File Offset: 0x00192E20
	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: 0x04004266 RID: 16998
	private static readonly IntPtr NativeFieldInfoPtr_data;

	// Token: 0x04004267 RID: 16999
	private static readonly IntPtr NativeFieldInfoPtr_hpBarUI;

	// Token: 0x04004268 RID: 17000
	private static readonly IntPtr NativeFieldInfoPtr_APPEARANCE_DURATION;

	// Token: 0x04004269 RID: 17001
	private static readonly IntPtr NativeFieldInfoPtr_appearanceTimer;

	// Token: 0x0400426A RID: 17002
	private static readonly IntPtr NativeFieldInfoPtr_hpPercentLerp;

	// Token: 0x0400426B RID: 17003
	private static readonly IntPtr NativeFieldInfoPtr_recycleHandler;

	// Token: 0x0400426C RID: 17004
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_EnemyHpHandler_Action_1_UIEnemyHPUpdater_0;

	// Token: 0x0400426D RID: 17005
	private static readonly IntPtr NativeMethodInfoPtr_Init_Public_Void_EnemyData_0;

	// Token: 0x0400426E RID: 17006
	private static readonly IntPtr NativeMethodInfoPtr_UpdateInformation_Public_Void_0;

	// Token: 0x0400426F RID: 17007
	private static readonly IntPtr NativeMethodInfoPtr_Dispose_Public_Void_0;
}
