Save and save often

This commit is contained in:
2025-10-15 18:50:55 -04:00
parent 9c5a1c1fa1
commit d110a61320
152 changed files with 18888 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "UI/WidgetController/AttributeMenuWidgetController.h"
#include "UI/WidgetController/OverlayWidgetController.h"
#include "AuraAbilitySystemLibrary.generated.h"
/**
*
*/
UCLASS()
class AURA_API UAuraAbilitySystemLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintPure, Category="AuraAbilitySystem|Controller")
static UOverlayWidgetController* GetOverlayWidgetController(const UObject* WorldContextObject);
UFUNCTION(BlueprintPure, Category="AuraAbilitySystem|Controller")
static UAttributeMenuWidgetController* GetAttributeMenuWidgetController(const UObject* WorldContextObject);
};

View File

@@ -0,0 +1,40 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
#include "Engine/DataAsset.h"
#include "AttributeInfo.generated.h"
USTRUCT(BlueprintType)
struct FAuraAttributeInfo
{
GENERATED_BODY()
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
FGameplayTag AttributeTag = FGameplayTag();
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
FText AttributeName = FText();
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
FText AttributeDesc = FText();
UPROPERTY(BlueprintReadOnly)
float AttributeValue = 0.f;
};
/**
*
*/
UCLASS()
class AURA_API UAttributeInfo : public UDataAsset
{
GENERATED_BODY()
public:
FAuraAttributeInfo FindAttributeInfoForTag(const FGameplayTag& AttributeTag, bool bLogNotFound = false) const;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
TArray<FAuraAttributeInfo> AttributeInformation;
};

View File

@@ -0,0 +1,17 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "AuraDataAsset.generated.h"
/**
*
*/
UCLASS()
class AURA_API UAuraDataAsset : public UDataAsset
{
GENERATED_BODY()
};

View File

@@ -0,0 +1,24 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "GameplayModMagnitudeCalculation.h"
#include "MMC_MaxHealth.generated.h"
/**
*
*/
UCLASS()
class AURA_API UMMC_MaxHealth : public UGameplayModMagnitudeCalculation
{
GENERATED_BODY()
public:
UMMC_MaxHealth();
virtual float CalculateBaseMagnitude_Implementation(const FGameplayEffectSpec& Spec) const override;
private:
FGameplayEffectAttributeCaptureDefinition VigorDef;
};

View File

@@ -0,0 +1,24 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "GameplayModMagnitudeCalculation.h"
#include "MMC_MaxMana.generated.h"
/**
*
*/
UCLASS()
class AURA_API UMMC_MaxMana : public UGameplayModMagnitudeCalculation
{
GENERATED_BODY()
public:
UMMC_MaxMana();
virtual float CalculateBaseMagnitude_Implementation(const FGameplayEffectSpec& Spec) const override;
private:
FGameplayEffectAttributeCaptureDefinition IntDef;
};

View File

@@ -0,0 +1,24 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "Engine/AssetManager.h"
#include "AuraAssetManager.generated.h"
/**
*
*/
UCLASS()
class AURA_API UAuraAssetManager : public UAssetManager
{
GENERATED_BODY()
public:
static UAuraAssetManager& Get();
protected:
virtual void StartInitialLoading() override;
private:
};

View File

@@ -0,0 +1,52 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
/**
* AuraGameplayTags
*
* Singleton containing native Gameplay Tags
*/
struct FAuraGameplayTags
{
public:
static const FAuraGameplayTags& Get() { return GameplayTags; };
static void InitializeNativeGameplayTags();
//Vital Stats - Health, Mana, MaxHealth, MaxMana
FGameplayTag Attributes_Vital_Health;
FGameplayTag Attributes_Vital_Mana;
FGameplayTag Attributes_Vital_MaxHealth;
FGameplayTag Attributes_Vital_MaxMana;
//Primary Stats - Strength, Intelligence, Resilience, Vigor
FGameplayTag Attributes_Primary_Strength;
FGameplayTag Attributes_Primary_Intelligence;
FGameplayTag Attributes_Primary_Resilience;
FGameplayTag Attributes_Primary_Vigor;
//Secondary Stats - Armor, Armor Penetration, Block Chance, Critical Hit Chance, Critical Hit Damage, Critical Hit Resistance, Health Regeneration, Mana Regeneration
FGameplayTag Attributes_Secondary_Armor;
FGameplayTag Attributes_Secondary_ArmorPenetration;
FGameplayTag Attributes_Secondary_BlockChance;
FGameplayTag Attributes_Secondary_CriticalHitChance;
FGameplayTag Attributes_Secondary_CriticalHitDamage;
FGameplayTag Attributes_Secondary_CriticalHitResistance;
FGameplayTag Attributes_Secondary_HealthRegeneration;
FGameplayTag Attributes_Secondary_ManaRegeneration;
//Tertiary Stats - Resistances - Physical, Arcane, Fire, Lightning
FGameplayTag Attributes_Resistance_Physical;
FGameplayTag Attributes_Resistance_Arcane;
FGameplayTag Attributes_Resistance_Fire;
FGameplayTag Attributes_Resistance_Lightning;
protected:
private:
static FAuraGameplayTags GameplayTags;
};

View File

@@ -0,0 +1,43 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "UI/WidgetController/AuraWidgetController.h"
#include "AttributeMenuWidgetController.generated.h"
class UAttributeInfo;
struct FAuraAttributeInfo;
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FAttributeInfoSignature, const FAuraAttributeInfo&, Info);
/**
*
*/
UCLASS(Blueprintable, BlueprintType)
class AURA_API UAttributeMenuWidgetController : public UAuraWidgetController
{
GENERATED_BODY()
public:
virtual void BindCallbacksToDependencies() override;
virtual void BroadcastInitialValues() override;
UPROPERTY(BlueprintAssignable, Category="GAS|Attributes")
FAttributeInfoSignature AttributeInfoDelegate;
//UPROPERTY(BlueprintAssignable, Category="GAS|Attributes")
//FOnPlayerStatChangedSignature AttributePointsChangedDelegate;
//UFUNCTION(BlueprintCallable)
//void UpgradeAttribute(const FGameplayTag& AttributeTag);
protected:
UPROPERTY(EditDefaultsOnly)
TObjectPtr<UAttributeInfo> AttributeInfo;
private:
void BroadcastAttributeInfo(const FGameplayTag& AttributeTag, const FGameplayAttribute& Attribute) const;
};