// Project Lab - NHTV Igad #pragma once #include "CharacterDependentSubMenus.h" #include "MenuButton.h" #include "SkillBrowserSubMenu.generated.h" UCLASS() class UNREALPROJECT_API USkillBrowserItemCategory : public UPanelUserWidget { GENERATED_BODY() public: void NativeConstruct() override; UFUNCTION(BlueprintImplementableEvent) void OnInit(); UPROPERTY(BlueprintReadOnly) class UBaseSkillObject* skillObject; UPanelWidget* itemContainer; }; UCLASS() class UNREALPROJECT_API USkillBrowserItem : public UMenuButton { GENERATED_BODY() public: void NativeConstruct() override; void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override; void Init(UAbilityInfo* info); void NativeOnSelectionChanged(bool selected, bool controller) override; virtual void NativeOnPressed(bool controllerInput) override; UFUNCTION(BlueprintImplementableEvent) void OnInit(); UPROPERTY(BlueprintReadOnly) class USkillBrowserItemCategory* category; UPROPERTY(BlueprintReadOnly) class USkillTreeWidget* skillTree; UPROPERTY(BlueprintReadOnly) class UAbilityInfo* ability; UPROPERTY(BlueprintReadOnly) class UBaseSkillObject* skillObject; private: }; UCLASS() class UNREALPROJECT_API USkillBrowserSubMenu : public UCharacterDependentSubMenu { GENERATED_BODY() public: void NativeConstruct() override; UPROPERTY(EditDefaultsOnly) TSubclassOf itemClass; UPROPERTY(EditDefaultsOnly) TSubclassOf itemCategoryClass; private: UPanelWidget* m_skillItemContainer; };