// Project Lab - NHTV Igad #include "UnrealProject.h" #include "SkillSelectorItem.h" #include "SkillSelector.h" #include "SkillWidget.h" #include "SkillTreeWidget.h" void USkillSelectorItem::NativeConstruct() { Super::NativeConstruct(); m_skillWidget = WidgetTree->FindWidget("InnerSkillWidget"); if(!m_skillWidget) { GWERROR(L"InnerSkillWidget not found on " + GetName()); return; } else { m_skillWidget->skillAsset = baseSkillObject; m_skillWidget->parent = skillTree; m_skillWidget->UpdateSkill(); } if(m_button) { m_button->OnPressed.AddDynamic(this, &USkillSelectorItem::m_OnPressed1); } else { GWERROR(L"No button found on " + GetName()); } } void USkillSelectorItem::NativeTick(const FGeometry& MyGeometry, float InDeltaTime) { if(skillTree->IsUsingSkill(baseSkillObject)) { this->SetIsEnabled(false); } else { this->SetIsEnabled(true); } } void USkillSelectorItem::NativeOnSelectionChanged(bool selected, bool controller) { if(selected) { m_button->SetBackgroundColor(FLinearColor(1.0f, 1.0f, 1.0f, 0.5f)); } else { m_button->SetBackgroundColor(FLinearColor(1.0f, 1.0f, 1.0f, 0.0f)); } } void USkillSelectorItem::m_OnPressed1() { if(!GetIsEnabled()) return; if(parent) { USubMenu* menu = parent->GetSubMenu(); if(menu) menu->SelectNewItem(parent); //if(parent->GetSelection() == index) skillTree->NewSkill(m_skillWidget); parent->SetSelection(index); //else } }