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;

}

posted on 2025-08-18 23:21  偷懒的阿贤  阅读(4)  评论(0)    收藏  举报