// Project Lab - NHTV Igad #pragma once #include "MenuScreen.h" #include "CharacterSettings.h" #include "CharacterDependentSubMenus.generated.h" UCLASS() class UCharacterDependentSubMenu : public UMenuPanel { GENERATED_BODY() public: virtual void OnEnter(class UMenuScreenBase* screen) override; virtual void OnSuspend(USubMenu* newSubMenu, bool loseFocus) override; virtual void OnRestore(USubMenu* removedMenu) override; UPROPERTY(BlueprintReadOnly, Category = "Skill Tree Sub Menu") class UCharacterSubMenu* characterSubMenu; UPROPERTY(BlueprintReadOnly, Category = "Skill Tree Sub Menu") class ACharacterCarousel* characterCarousel; // Curently displayed character in the menu UPROPERTY(BlueprintReadOnly, Category = "Skill Tree Sub Menu") class ACharacterBase* displayCharacter; UFUNCTION(BlueprintCallable, Category = "Skill Tree Sub Menu") FCharacterSave GetCharacterSave() const; UFUNCTION(BlueprintCallable, Category = "Skill Tree Sub Menu") void SetCharacterSave(const FCharacterSave& save); }; UCLASS() class UCustomizationSubMenu : public UCharacterDependentSubMenu { GENERATED_BODY() public: }; UCLASS() class USkillTreeSubMenu : public UCharacterDependentSubMenu { GENERATED_BODY() public: }; UCLASS() class USkillSelectByAbilitySubMenu : public UCharacterDependentSubMenu { GENERATED_BODY() public: };