#pragma once

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

// Package: PerkWidgetNew

#include "Basic.hpp"

#include "SlateCore_structs.hpp"
#include "Engine_structs.hpp"
#include "CommonInput_structs.hpp"
#include "FortniteGame_structs.hpp"
#include "FortniteUI_classes.hpp"
#include "UMG_structs.hpp"


namespace SDK
{

// WidgetBlueprintGeneratedClass PerkWidgetNew.PerkWidgetNew_C
// 0x01E0 (0x04E0 - 0x0300)
class UPerkWidgetNew_C final : public UFortPerkWidget_NUI
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x0300(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UWidgetAnimation*                       Intro;                                             // 0x0308(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, IsPlainOldData, RepSkip, NoDestructor, HasGetValueTypeHash)
	class USizeBox*                               AbilityIconSizeBox;                                // 0x0310(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBorder*                                BorderAbility;                                     // 0x0318(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBorder*                                BorderHighlightBorder;                             // 0x0320(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBorder*                                BorderHightlightBackground;                        // 0x0328(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UCommonBorder*                          Divider;                                           // 0x0330(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UCommonBorder*                          EvolutionBorder;                                   // 0x0338(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UHorizontalBox*                         HorizontalBox_1;                                   // 0x0340(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 ImageAbilityIcon;                                  // 0x0348(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 ImageHeroBonusIcon;                                // 0x0350(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 ImageLockAbility;                                  // 0x0358(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 ImageLockPerk;                                     // 0x0360(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 ImagePerkIcon;                                     // 0x0368(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 ImageTier;                                         // 0x0370(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UCommonWidgetSwitcher*                  InfoSwitcher;                                      // 0x0378(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UCommonTextBlock*                       LargeInfo;                                         // 0x0380(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UCommonTextBlock*                       LevelTextNew;                                      // 0x0388(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UOverlay*                               OverlayAbilityPerk;                                // 0x0390(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UOverlay*                               OverlayBadge;                                      // 0x0398(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UOverlay*                               OverlayBasicPerk;                                  // 0x03A0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UOverlay*                               OverlayImagePerk;                                  // 0x03A8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UOverlay*                               OverlayLevel;                                      // 0x03B0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class USizeBox*                               PerkIconSizeBox;                                   // 0x03B8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UCommonTextBlock*                       SkillDescription;                                  // 0x03C0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UCommonTextBlock*                       SkillName;                                         // 0x03C8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UVerticalBox*                           SmallInfo;                                         // 0x03D0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UWidgetSwitcher*                        WidgetSwitcherBasicPerkOrAbilityPerk;              // 0x03D8(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UWidgetSwitcher*                        WidgetSwitcherTierOrLevel;                         // 0x03E0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	struct FSlateBrush                            DemoImage;                                         // 0x03E8(0x0088)(Edit, BlueprintVisible, DisableEditOnInstance)
	bool                                          bIncludeName;                                      // 0x0470(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
	bool                                          bIncludeDescription;                               // 0x0471(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
	uint8                                         Pad_472[0x6];                                      // 0x0472(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	class UTextBlock*                             LevelText_0;                                       // 0x0478(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          bUseLegacyFixedSizeIcons;                          // 0x0480(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
	EFortBrushSize                                IconSize;                                          // 0x0481(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash)
	bool                                          bUseLargeFormatName;                               // 0x0482(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
	uint8                                         Pad_483[0x5];                                      // 0x0483(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
	class UClass*                                 Locked_Text_Style;                                 // 0x0488(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class UClass*                                 Locked_Description_Style;                          // 0x0490(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FMargin                                ListPadding;                                       // 0x0498(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor)
	class UClass*                                 Default_Description_Style;                         // 0x04A8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class UClass*                                 Default_Text_Style;                                // 0x04B0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          bEnableMouseTooltips;                              // 0x04B8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)
	uint8                                         Pad_4B9[0x7];                                      // 0x04B9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class FText                                   CachedTooltipDescription;                          // 0x04C0(0x0018)(Edit, BlueprintVisible, DisableEditOnInstance)
	bool                                          bShowBadges;                                       // 0x04D8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn)

public:
	void ExecuteUbergraph_PerkWidgetNew(int32 EntryPoint);
	void OnCombinedTooltipDescriptionReady(const class FText& Description);
	void PreConstruct(bool IsDesignTime);
	void InitializeBasicPerk();
	void InitializeAbilityPerk();
	void GetTierAbilityBrush(struct FSlateBrush* SlateBrush);
	void GetHighlightColor(struct FLinearColor* Color);
	void ShouldFadePerk(bool* Result);
	void InitializeText();
	void InitializeHeroBonusIcon();
	void SetupBadge();
	void ShowTierImage();
	void GetPerkStat(struct FTooltipStat* TooltipStat);
	void HighlightBadge();
	void InitializeSettings(bool Param_bIncludeName, bool Param_bIncludeDescription, bool Param_bUseLegacyFixedSizeIcons, EFortBrushSize Param_IconSize, bool Param_bUseLargeFormatName, const struct FFortUIPerk& Param_Perk, bool ShowMouseTooltips, bool bInShowBadges, float WrapTextAt);
	class UWidget* Get_OverlayAbilityPerk_ToolTipWidget();
	void UpdatePerk();
	void SetDescriptionWraptTextAt(float WrapTextAt);

public:
	static class UClass* StaticClass()
	{
		return StaticBPGeneratedClassImpl<"PerkWidgetNew_C">();
	}
	static class UPerkWidgetNew_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<UPerkWidgetNew_C>();
	}
};
static_assert(alignof(UPerkWidgetNew_C) == 0x000008, "Wrong alignment on UPerkWidgetNew_C");
static_assert(sizeof(UPerkWidgetNew_C) == 0x0004E0, "Wrong size on UPerkWidgetNew_C");
static_assert(offsetof(UPerkWidgetNew_C, UberGraphFrame) == 0x000300, "Member 'UPerkWidgetNew_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, Intro) == 0x000308, "Member 'UPerkWidgetNew_C::Intro' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, AbilityIconSizeBox) == 0x000310, "Member 'UPerkWidgetNew_C::AbilityIconSizeBox' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, BorderAbility) == 0x000318, "Member 'UPerkWidgetNew_C::BorderAbility' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, BorderHighlightBorder) == 0x000320, "Member 'UPerkWidgetNew_C::BorderHighlightBorder' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, BorderHightlightBackground) == 0x000328, "Member 'UPerkWidgetNew_C::BorderHightlightBackground' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, Divider) == 0x000330, "Member 'UPerkWidgetNew_C::Divider' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, EvolutionBorder) == 0x000338, "Member 'UPerkWidgetNew_C::EvolutionBorder' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, HorizontalBox_1) == 0x000340, "Member 'UPerkWidgetNew_C::HorizontalBox_1' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, ImageAbilityIcon) == 0x000348, "Member 'UPerkWidgetNew_C::ImageAbilityIcon' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, ImageHeroBonusIcon) == 0x000350, "Member 'UPerkWidgetNew_C::ImageHeroBonusIcon' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, ImageLockAbility) == 0x000358, "Member 'UPerkWidgetNew_C::ImageLockAbility' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, ImageLockPerk) == 0x000360, "Member 'UPerkWidgetNew_C::ImageLockPerk' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, ImagePerkIcon) == 0x000368, "Member 'UPerkWidgetNew_C::ImagePerkIcon' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, ImageTier) == 0x000370, "Member 'UPerkWidgetNew_C::ImageTier' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, InfoSwitcher) == 0x000378, "Member 'UPerkWidgetNew_C::InfoSwitcher' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, LargeInfo) == 0x000380, "Member 'UPerkWidgetNew_C::LargeInfo' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, LevelTextNew) == 0x000388, "Member 'UPerkWidgetNew_C::LevelTextNew' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, OverlayAbilityPerk) == 0x000390, "Member 'UPerkWidgetNew_C::OverlayAbilityPerk' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, OverlayBadge) == 0x000398, "Member 'UPerkWidgetNew_C::OverlayBadge' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, OverlayBasicPerk) == 0x0003A0, "Member 'UPerkWidgetNew_C::OverlayBasicPerk' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, OverlayImagePerk) == 0x0003A8, "Member 'UPerkWidgetNew_C::OverlayImagePerk' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, OverlayLevel) == 0x0003B0, "Member 'UPerkWidgetNew_C::OverlayLevel' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, PerkIconSizeBox) == 0x0003B8, "Member 'UPerkWidgetNew_C::PerkIconSizeBox' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, SkillDescription) == 0x0003C0, "Member 'UPerkWidgetNew_C::SkillDescription' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, SkillName) == 0x0003C8, "Member 'UPerkWidgetNew_C::SkillName' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, SmallInfo) == 0x0003D0, "Member 'UPerkWidgetNew_C::SmallInfo' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, WidgetSwitcherBasicPerkOrAbilityPerk) == 0x0003D8, "Member 'UPerkWidgetNew_C::WidgetSwitcherBasicPerkOrAbilityPerk' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, WidgetSwitcherTierOrLevel) == 0x0003E0, "Member 'UPerkWidgetNew_C::WidgetSwitcherTierOrLevel' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, DemoImage) == 0x0003E8, "Member 'UPerkWidgetNew_C::DemoImage' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, bIncludeName) == 0x000470, "Member 'UPerkWidgetNew_C::bIncludeName' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, bIncludeDescription) == 0x000471, "Member 'UPerkWidgetNew_C::bIncludeDescription' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, LevelText_0) == 0x000478, "Member 'UPerkWidgetNew_C::LevelText_0' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, bUseLegacyFixedSizeIcons) == 0x000480, "Member 'UPerkWidgetNew_C::bUseLegacyFixedSizeIcons' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, IconSize) == 0x000481, "Member 'UPerkWidgetNew_C::IconSize' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, bUseLargeFormatName) == 0x000482, "Member 'UPerkWidgetNew_C::bUseLargeFormatName' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, Locked_Text_Style) == 0x000488, "Member 'UPerkWidgetNew_C::Locked_Text_Style' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, Locked_Description_Style) == 0x000490, "Member 'UPerkWidgetNew_C::Locked_Description_Style' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, ListPadding) == 0x000498, "Member 'UPerkWidgetNew_C::ListPadding' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, Default_Description_Style) == 0x0004A8, "Member 'UPerkWidgetNew_C::Default_Description_Style' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, Default_Text_Style) == 0x0004B0, "Member 'UPerkWidgetNew_C::Default_Text_Style' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, bEnableMouseTooltips) == 0x0004B8, "Member 'UPerkWidgetNew_C::bEnableMouseTooltips' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, CachedTooltipDescription) == 0x0004C0, "Member 'UPerkWidgetNew_C::CachedTooltipDescription' has a wrong offset!");
static_assert(offsetof(UPerkWidgetNew_C, bShowBadges) == 0x0004D8, "Member 'UPerkWidgetNew_C::bShowBadges' has a wrong offset!");

}

