From b097171f8f1bc7da6e2b917f783e903d0c30bad0 Mon Sep 17 00:00:00 2001 From: ghostie Date: Sun, 31 Aug 2025 20:20:21 -0500 Subject: [PATCH] Aura User Widget and Widget Controller --- Aura.uproject | 4 ++- .../WidgetController/AuraWidgetController.cpp | 5 ++++ .../Private/UI/Widgets/AuraUserWidget.cpp | 10 +++++++ .../WidgetController/AuraWidgetController.h | 29 +++++++++++++++++++ .../Aura/Public/UI/Widgets/AuraUserWidget.h | 24 +++++++++++++++ 5 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 Source/Aura/Private/UI/WidgetController/AuraWidgetController.cpp create mode 100644 Source/Aura/Private/UI/Widgets/AuraUserWidget.cpp create mode 100644 Source/Aura/Public/UI/WidgetController/AuraWidgetController.h create mode 100644 Source/Aura/Public/UI/Widgets/AuraUserWidget.h diff --git a/Aura.uproject b/Aura.uproject index 0857db2..410c473 100644 --- a/Aura.uproject +++ b/Aura.uproject @@ -10,7 +10,9 @@ "LoadingPhase": "Default", "AdditionalDependencies": [ "Engine", - "GameplayAbilities" + "GameplayAbilities", + "UMG", + "CoreUObject" ] } ], diff --git a/Source/Aura/Private/UI/WidgetController/AuraWidgetController.cpp b/Source/Aura/Private/UI/WidgetController/AuraWidgetController.cpp new file mode 100644 index 0000000..9533194 --- /dev/null +++ b/Source/Aura/Private/UI/WidgetController/AuraWidgetController.cpp @@ -0,0 +1,5 @@ +// Copyright; GhostPacket Games + + +#include "UI/WidgetController/AuraWidgetController.h" + diff --git a/Source/Aura/Private/UI/Widgets/AuraUserWidget.cpp b/Source/Aura/Private/UI/Widgets/AuraUserWidget.cpp new file mode 100644 index 0000000..9e6b127 --- /dev/null +++ b/Source/Aura/Private/UI/Widgets/AuraUserWidget.cpp @@ -0,0 +1,10 @@ +// Copyright; GhostPacket Games + + +#include "UI/Widgets/AuraUserWidget.h" + +void UAuraUserWidget::SetWidgetController(UObject* InWidgetController) +{ + WidgetController = InWidgetController; + WidgetControllerSet(); +} diff --git a/Source/Aura/Public/UI/WidgetController/AuraWidgetController.h b/Source/Aura/Public/UI/WidgetController/AuraWidgetController.h new file mode 100644 index 0000000..b1ea856 --- /dev/null +++ b/Source/Aura/Public/UI/WidgetController/AuraWidgetController.h @@ -0,0 +1,29 @@ +// Copyright; GhostPacket Games + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/NoExportTypes.h" +#include "AuraWidgetController.generated.h" + +class UAbilitySystemComponent; +class UAttributeSet; + +UCLASS() +class AURA_API UAuraWidgetController : public UObject +{ + GENERATED_BODY() + +protected: + UPROPERTY(BlueprintReadOnly, Category = "WidgetController") + TObjectPtr PlayerController; + + UPROPERTY(BlueprintReadOnly, Category = "WidgetController") + TObjectPtr PlayerState; + + UPROPERTY(BlueprintReadOnly, Category = "WidgetController") + TObjectPtr AbilitySystemComponent; + + UPROPERTY(BlueprintReadOnly, Category = "WidgetController") + TObjectPtr AttributeSet; +}; diff --git a/Source/Aura/Public/UI/Widgets/AuraUserWidget.h b/Source/Aura/Public/UI/Widgets/AuraUserWidget.h new file mode 100644 index 0000000..ac1d33a --- /dev/null +++ b/Source/Aura/Public/UI/Widgets/AuraUserWidget.h @@ -0,0 +1,24 @@ +// Copyright; GhostPacket Games + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "AuraUserWidget.generated.h" + +UCLASS() +class AURA_API UAuraUserWidget : public UUserWidget +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable) + void SetWidgetController(UObject *InWidgetController); + + UPROPERTY(BlueprintReadOnly) + TObjectPtr WidgetController; + +protected: + UFUNCTION(BlueprintImplementableEvent) + void WidgetControllerSet(); +};