1在AuraidgetController.h中
USTRUCT(BlueprintType)
struct FWidgetControllerParams
{
GENERATED_BODY()
public:
UFUNCTION()
void SetWidgetControllerParams(const FWidgetControllerParams& WCParams);
protected:
FWidgetControllerParams(){}
FWidgetControllerParams(APlayerController* PC,APlayerState* PS,UAbilitySystemComponent* ASC,UAuraAttributeSet* AS):PlayerController (PC)...{}
UPROPERTY()
TObject<APlayerController> PlayerController = nullptr;
UPROPERTY()
TObject<APlayerState> PlayerState= nullptr;
UPROPERTY()
TObject<UAuraAttributeSet> AttributeSet= nullptr;
UPROPERTY()
TObjectPtr<UAbilitySystemComponent> AbilitySystemComponent = nullptr;
}
2在AuraWidgetController.cpp中
SetWidgetControllerParams(const FWidgetControllerParams& WCParams)
{
PlayController = WCParams.PlayController ;
.
.
.
}
3创建UI/WidgetController/OverlayWidgetController类
4在AuraHUD.h
AuraHUD
{
public:
UOverlayWidgetController* GetOverlayWidgetController(const FWidgetControllerParams& WCParams);
private:
UPROPERTY()
TObjectPtr<UOverlayWidgetController> OverlayWidgetController;
}
浙公网安备 33010602011771号