56 lines
1.0 KiB
C++
56 lines
1.0 KiB
C++
#pragma once
|
|
#include "GameFramework/HUD.h"
|
|
#include "UIFramework/UIManager.h"
|
|
#include "UIFrameworkHud.generated.h"
|
|
|
|
|
|
DECLARE_LOG_CATEGORY_EXTERN(LogUIHud, Log, All);
|
|
|
|
|
|
class UPW_UIController;
|
|
|
|
|
|
|
|
UCLASS(Blueprintable, BlueprintType)
|
|
class APW_UIFrameworkHud : public AHUD
|
|
{
|
|
GENERATED_BODY()
|
|
public:
|
|
APW_UIFrameworkHud();
|
|
virtual void BeginPlay() override;
|
|
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
|
|
|
|
public:
|
|
UPW_UIController* GetUIController(const FName& Name);
|
|
|
|
|
|
public:
|
|
UPW_UIManager* GetUIManager()const {return UIManager.Get();}
|
|
|
|
|
|
protected:
|
|
void TryNotifyResourceLoaded();
|
|
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintNativeEvent)
|
|
void OnResourceLoaded();
|
|
|
|
protected:
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
|
TSubclassOf<UPW_RootWidget> RootWidgetClass;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
|
TMap<FName, TSoftClassPtr<UPW_UIController>> UIControllerClasses;
|
|
|
|
protected:
|
|
UPROPERTY()
|
|
TObjectPtr<UPW_UIManager> UIManager;
|
|
|
|
UPROPERTY()
|
|
TMap<FName, UPW_UIController*> UIControllers;
|
|
};
|
|
|
|
|
|
|