Space Plunder
Loading...
Searching...
No Matches
USkillsListWidget Class Reference

#include <SkillsListWidget.h>

Inheritance diagram for USkillsListWidget:

Public Member Functions

 USkillsListWidget (const FObjectInitializer &ObjectInitializer)
 
void AddCharacterSkills (UPARAM(ref) FCharacterBaseSkills &CharacterSkills)
 
void AddSkill (const FSkill &Data) const
 
void EditSkill (const bool bIncrease, const FString &Name)
 
void DebugAddLevel ()
 

Protected Member Functions

virtual bool Initialize () override
 
virtual void NativePreConstruct () override
 
virtual void NativeConstruct () override
 

Protected Attributes

FCharacterBaseSkillsOwnerSkills = nullptr
 
class USkillWidgetSkillPoints = nullptr
 
class USkillWidgetCharacterLevel = nullptr
 
class UPanelWidget * SkillsPanel = nullptr
 
TSoftClassPtr< UUserWidget > SkillWidgetClass = nullptr
 

Constructor & Destructor Documentation

◆ USkillsListWidget()

USkillsListWidget::USkillsListWidget ( const FObjectInitializer & ObjectInitializer)
explicit
11 :Super(ObjectInitializer)
12{
13 SkillWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/BaseHelpers/Widgets/WBP_Skill");
14}
static TSubclassOf< UUserWidget > GetDefaultWidgetBPClass(const FString &Location)
Definition BaseHelpersBPLib.cpp:227
TSoftClassPtr< UUserWidget > SkillWidgetClass
Definition SkillsListWidget.h:52

Member Function Documentation

◆ AddCharacterSkills()

void USkillsListWidget::AddCharacterSkills ( UPARAM(ref) FCharacterBaseSkills & CharacterSkills)
44{
45 OwnerSkills = &CharacterSkills;
46 if(SkillsPanel == nullptr){UE_LOG(LogBaseHelpers, Error, TEXT("USkillsListWidget::AddCharacterSkills Skills Panel Failed"));return;}
47 SkillsPanel->ClearChildren();
48 for(const auto& CharacterSkill : CharacterSkills.GetAllSkills())
49 {
50 AddSkill(FSkill(CharacterSkill));
51 }
52 if(SkillPoints != nullptr)
53 {
54 FSkill SkillPointsData;
55 SkillPointsData.Name = "Skill Points";
56 SkillPointsData.Value = CharacterSkills.GetSkillPoints();
57 SkillPoints->SetSkill(SkillPointsData);
58 }
59}
void SetSkill(const FSkill &Data)
Definition SkillWidget.cpp:58
class USkillWidget * SkillPoints
Definition SkillsListWidget.h:42
FCharacterBaseSkills * OwnerSkills
Definition SkillsListWidget.h:38
class UPanelWidget * SkillsPanel
Definition SkillsListWidget.h:47
void AddSkill(const FSkill &Data) const
Definition SkillsListWidget.cpp:61
Definition BaseData.h:780
FString Name
Definition BaseData.h:784
float Value
Definition BaseData.h:786

◆ AddSkill()

void USkillsListWidget::AddSkill ( const FSkill & Data) const
62{
63 if(SkillsPanel == nullptr || SkillWidgetClass == nullptr){UE_LOG(LogBaseHelpers, Error, TEXT("USkillsListWidget::AddSkill Skills Panel | SkillWidgetClass Failed"));return;}
64 UClass* LoadedClass = UKismetSystemLibrary::LoadClassAsset_Blocking(SkillWidgetClass);
65 if(LoadedClass == nullptr || !LoadedClass->IsChildOf(UUserWidget::StaticClass())){UE_LOG(LogBaseHelpers, Error, TEXT("USkillsListWidget::AddSkill SkillWidgetClass"));return;}
66 const TSubclassOf<UUserWidget> LoadedWidgetClass = LoadedClass;
67 if(LoadedWidgetClass == nullptr){UE_LOG(LogBaseHelpers, Error, TEXT("USkillsListWidget::AddSkill LoadedWidgetClass"));return;}
68 USkillWidget* SkillWidget = CreateWidget<USkillWidget>(GetOwningPlayer(), LoadedWidgetClass);
69 if(SkillWidget == nullptr){UE_LOG(LogBaseHelpers, Error, TEXT("USkillsListWidget::AddSkill SkillWidget"));return;}
70 SkillWidget->SetSkill(Data);
71 SkillWidget->OnEditSkill.AddUniqueDynamic(this, &USkillsListWidget::EditSkill);
72 SkillsPanel->AddChild(SkillWidget);
73}
Definition SkillWidget.h:18
FOnEditSkill OnEditSkill
Definition SkillWidget.h:23
void EditSkill(const bool bIncrease, const FString &Name)
Definition SkillsListWidget.cpp:75

◆ DebugAddLevel()

void USkillsListWidget::DebugAddLevel ( )
90{
91 if(OwnerSkills != nullptr)
92 {
93 OwnerSkills->AddAgilityXP(1000.0f);
94 }
95}
bool AddAgilityXP(const float Value)
Definition BaseData.h:851

◆ EditSkill()

void USkillsListWidget::EditSkill ( const bool bIncrease,
const FString & Name )
76{
77 if(OwnerSkills == nullptr){UE_LOG(LogTemp, Error, TEXT("USkillsListWidget::EditSkill OwnerSkills Null"));return;}
78 OwnerSkills->AddSkillLevelByName(Name, bIncrease);
80 // UE_LOG(LogTemp, Error, TEXT("Skill+ %s: %i"), *Name, Skill->Level);
81 // if(OwnerSkills->GetSkillByName(Name) == nullptr){UE_LOG(LogTemp, Error, TEXT("USkillsListWidget::EditSkill GetSkillByName Null"));return;}
82 // FCharacterSkill* Skill = OwnerSkills->GetSkillByName(Name);
83 // if(Skill == nullptr){UE_LOG(LogTemp, Error, TEXT("USkillsListWidget::EditSkill Skill Null"));return;}
84 // Skill->AddLevel(bIncrease);
85 // UE_LOG(LogTemp, Error, TEXT("Skill+ %s: %i"), *Name, Skill->Level);
86 // AddCharacterSkills(*OwnerSkills);
87}
void AddCharacterSkills(UPARAM(ref) FCharacterBaseSkills &CharacterSkills)
Definition SkillsListWidget.cpp:43
void AddSkillLevelByName(const FString &Name, const bool bIncrease)
Definition BaseData.h:895

◆ Initialize()

bool USkillsListWidget::Initialize ( )
overrideprotectedvirtual
17{
18 const bool Success = Super::Initialize();
19 if(!Success) return false;
20 if (!ensure(SkillPoints != nullptr)) return false;
21 if (!ensure(CharacterLevel != nullptr)) return false;
22 if (!ensure(SkillsPanel != nullptr)) return false;
23 return true;
24
25}
class USkillWidget * CharacterLevel
Definition SkillsListWidget.h:44

◆ NativeConstruct()

void USkillsListWidget::NativeConstruct ( )
overrideprotectedvirtual
33{
34 Super::NativeConstruct();
35}

◆ NativePreConstruct()

void USkillsListWidget::NativePreConstruct ( )
overrideprotectedvirtual
28{
29 Super::NativePreConstruct();
30}

Member Data Documentation

◆ CharacterLevel

class USkillWidget* USkillsListWidget::CharacterLevel = nullptr
protected

◆ OwnerSkills

FCharacterBaseSkills* USkillsListWidget::OwnerSkills = nullptr
protected

◆ SkillPoints

class USkillWidget* USkillsListWidget::SkillPoints = nullptr
protected

◆ SkillsPanel

class UPanelWidget* USkillsListWidget::SkillsPanel = nullptr
protected

◆ SkillWidgetClass

TSoftClassPtr<UUserWidget> USkillsListWidget::SkillWidgetClass = nullptr
protected

The documentation for this class was generated from the following files: