#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: BPW_UI_HUD_Vitals

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "CoreUObject_structs.hpp"
#include "UMG_classes.hpp"


namespace SDK
{

// WidgetBlueprintGeneratedClass BPW_UI_HUD_Vitals.BPW_UI_HUD_Vitals_C
// 0x00F8 (0x03B8 - 0x02C0)
class UBPW_UI_HUD_Vitals_C final : public UUserWidget
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x02C0(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UImage*                                 Img_HealthGauge;                                   // 0x02C8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 Img_ManaGauge;                                     // 0x02D0(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 Img_MantlePower;                                   // 0x02D8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UNiagaraSystemWidget*                   VFX_ManaParticles;                                 // 0x02E0(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 VFX_ManaSmoke;                                     // 0x02E8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	bool                                          IsManaExhausted;                                   // 0x02F0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_2F1[0x7];                                      // 0x02F1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class AG01Character*                          G01Character;                                      // 0x02F8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class UYBInventoryLoadoutComponent*           PlayerInventory;                                   // 0x0300(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash)
	class UTexture2D*                             ManaTexture_Fire;                                  // 0x0308(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class UTexture2D*                             ManaTexture_Ice;                                   // 0x0310(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class UTexture2D*                             ManaTexture_TK;                                    // 0x0318(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class UTexture2D*                             ManaTexture_Default;                               // 0x0320(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	struct FLinearColor                           ManaColor_Fire;                                    // 0x0328(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FLinearColor                           ManaColor_Ice;                                     // 0x0338(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FLinearColor                           ManaColor_TK;                                      // 0x0348(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FLinearColor                           ManaColor_Default;                                 // 0x0358(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          HasManaChanged;                                    // 0x0368(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_369[0x7];                                      // 0x0369(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	double                                        Mana_ProjectedPercent;                             // 0x0370(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	double                                        Mana_CurrentPercent;                               // 0x0378(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          HasHealthChanged;                                  // 0x0380(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_381[0x7];                                      // 0x0381(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	double                                        Health_ProjectedPercent;                           // 0x0388(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	double                                        Health_CurrentChunkPercent;                        // 0x0390(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class UMaterialInstanceDynamic*               MantlePower_Material;                              // 0x0398(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class FName                                   MantlePower_DesaturationParam;                     // 0x03A0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class FName                                   MantlePower_IconAlphaParam;                        // 0x03A8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	double                                        MantlePower_BlendDuration;                         // 0x03B0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

public:
	void CalculateProjectedHealthPercent(double CurrentHealth, double MaxHealth);
	void CalculateProjectedManaPercent(double CurrentMana, double MaxMana);
	void ExecuteUbergraph_BPW_UI_HUD_Vitals(int32 EntryPoint);
	void HandleHealth(double CurrentHealth, double MaxHealth);
	void HandleMana(double CurrentMana, double MaxMana);
	void HandleManaExhaustCycle();
	void InitMantleFeedbackFromInventory();
	void OnHealthChanged(float _CurrentHealth, float Delta);
	void OnInitialized();
	void OnInventoryItemEquipped(class UYBRuntimeInventoryItem* _item);
	void OnInventoryItemSwapPending(const struct FGameplayTag& _itemCategory, class UYBRuntimeInventoryItem* _item);
	void OnInventoryItemUnequipped(class UYBRuntimeInventoryItem* _item);
	void OnManaChanged(float CurrentMana, float Delta);
	void OnMaxHealthChanged(float _MaxHealth, float Delta);
	void OnMaxManaChanged(float MaxMana, float Delta);
	void ResetDefaultStats();
	void SetVFXColor(const struct FLinearColor& Particle_Color, const struct FLinearColor& Smoke_Color);
	void UpdateCurrentHealthPercent();
	void UpdateCurrentManaPercent();
	void UpdateHealthBarVisual(double _ProjectedPercent, double _ChunkPercent);
	void UpdateManaBarVisual(double Percent);
	void UpdateManaFamilyVFX(class UTexture2D* Texture, const struct FLinearColor& Color);
	void UpdateMantlePowerFamily(class UYBRuntimeInventoryItem* MantleFamily);
	void UpdateMantlePowerState();
	void UpdateMantlePowerThumbnail(class UYBRuntimeInventoryItem* MantlePower);

public:
	static class UClass* StaticClass()
	{
		BP_STATIC_CLASS_IMPL("BPW_UI_HUD_Vitals_C")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BPW_UI_HUD_Vitals_C")
	}
	static class UBPW_UI_HUD_Vitals_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBPW_UI_HUD_Vitals_C>();
	}
};
DUMPER7_ASSERTS_UBPW_UI_HUD_Vitals_C;

}

