Gameplay Abilities! Lesson 98!
This commit is contained in:
@@ -11,11 +11,6 @@ void UAuraAbilitySystemComponent::AbilityActorInfoSet()
|
||||
|
||||
const FAuraGameplayTags& GameplayTags = FAuraGameplayTags::Get();
|
||||
//GameplayTags.Attributes_Secondary_Armor.ToString();
|
||||
|
||||
GEngine->AddOnScreenDebugMessage(-1, 8.f, FColor::Blue,
|
||||
FString::Printf(
|
||||
TEXT("Tag: %s"), *GameplayTags.Attributes_Secondary_Armor.ToString()));
|
||||
|
||||
}
|
||||
|
||||
void UAuraAbilitySystemComponent::EffectApplied(UAbilitySystemComponent* AbilitySystemComponent,
|
||||
|
||||
@@ -4,15 +4,33 @@
|
||||
#include "AbilitySystem/AuraAttributeSet.h"
|
||||
|
||||
#include "AbilitySystemBlueprintLibrary.h"
|
||||
#include "AudioMixerBlueprintLibrary.h"
|
||||
#include "GameplayEffectExtension.h"
|
||||
#include "GameFramework/Character.h"
|
||||
#include "GeometryCollection/GeometryCollectionParticlesData.h"
|
||||
#include "Net/UnrealNetwork.h"
|
||||
#include "AuraGameplayTags.h"
|
||||
|
||||
UAuraAttributeSet::UAuraAttributeSet()
|
||||
{
|
||||
const FAuraGameplayTags& GameplayTags = FAuraGameplayTags::Get();
|
||||
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Vital_Health, GetHealthAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Vital_MaxHealth, GetMaxHealthAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Vital_Mana, GetManaAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Vital_MaxMana, GetMaxManaAttribute);
|
||||
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Primary_Strength, GetStrengthAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Primary_Intelligence, GetIntelligenceAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Primary_Resilience, GetResilienceAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Primary_Vigor, GetVigorAttribute);
|
||||
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Secondary_Armor, GetArmorAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Secondary_ArmorPenetration, GetArmorPenetrationAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Secondary_BlockChance, GetBlockChanceAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Secondary_CriticalHitChance, GetCriticalHitChanceAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Secondary_CriticalHitDamage, GetCriticalHitChanceAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Secondary_CriticalHitResistance, GetCriticalHitResistanceAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Secondary_HealthRegeneration, GetHealthRegenerationAttribute);
|
||||
TagsToAttributes.Add(GameplayTags.Attributes_Secondary_ManaRegeneration, GetManaRegenerationAttribute);
|
||||
}
|
||||
|
||||
void UAuraAttributeSet::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
|
||||
|
||||
@@ -3,27 +3,36 @@
|
||||
|
||||
#include "UI/WidgetController/AttributeMenuWidgetController.h"
|
||||
#include "AbilitySystem/Data/AttributeInfo.h"
|
||||
#include "AuraGameplayTags.h"
|
||||
#include "AbilitySystem/AuraAttributeSet.h"
|
||||
|
||||
void UAttributeMenuWidgetController::BindCallbacksToDependencies()
|
||||
{
|
||||
|
||||
}
|
||||
void UAttributeMenuWidgetController::BindCallbacksToDependencies()
|
||||
{
|
||||
UAuraAttributeSet* AS = CastChecked<UAuraAttributeSet>(AttributeSet);
|
||||
check(AttributeInfo);
|
||||
for (auto& Pair : AS->TagsToAttributes)
|
||||
{
|
||||
AbilitySystemComponent->GetGameplayAttributeValueChangeDelegate(Pair.Value()).AddLambda(
|
||||
[this, Pair](const FOnAttributeChangeData& Data)
|
||||
{
|
||||
BroadcastAttributeInfo(Pair.Key, Pair.Value());
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void UAttributeMenuWidgetController::BroadcastInitialValues()
|
||||
{
|
||||
UAuraAttributeSet* AS = CastChecked<UAuraAttributeSet>(AttributeSet);
|
||||
void UAttributeMenuWidgetController::BroadcastInitialValues()
|
||||
{
|
||||
UAuraAttributeSet* AS = CastChecked<UAuraAttributeSet>(AttributeSet);
|
||||
check(AttributeInfo);
|
||||
for (auto& Pair : AS->TagsToAttributes)
|
||||
{
|
||||
BroadcastAttributeInfo(Pair.Key, Pair.Value());
|
||||
}
|
||||
}
|
||||
|
||||
check(AttributeInfo);
|
||||
|
||||
FAuraAttributeInfo Info = AttributeInfo->FindAttributeInfoForTag(FAuraGameplayTags::Get().Attributes_Primary_Strength);
|
||||
Info.AttributeValue = AS->GetStrength();
|
||||
AttributeInfoDelegate.Broadcast(Info);
|
||||
}
|
||||
|
||||
void UAttributeMenuWidgetController::BroadcastAttributeInfo(const FGameplayTag& AttributeTag,
|
||||
const FGameplayAttribute& Attribute) const
|
||||
{
|
||||
|
||||
}
|
||||
void UAttributeMenuWidgetController::BroadcastAttributeInfo(const FGameplayTag& AttributeTag, const FGameplayAttribute& Attribute) const
|
||||
{
|
||||
FAuraAttributeInfo Info = AttributeInfo->FindAttributeInfoForTag(AttributeTag);
|
||||
Info.AttributeValue = Attribute.GetNumericValue(AttributeSet);
|
||||
AttributeInfoDelegate.Broadcast(Info);
|
||||
}
|
||||
@@ -14,7 +14,7 @@ void UAuraWidgetController::SetWidgetControllerParams(FWidgetControllerParams WC
|
||||
|
||||
void UAuraWidgetController::BroadcastInitialValues()
|
||||
{
|
||||
UE_LOG(LogTemp, Warning, TEXT("AuraWidgetController - BroadcastInitialValues"));
|
||||
//UE_LOG(LogTemp, Warning, TEXT("AuraWidgetController - BroadcastInitialValues"));
|
||||
}
|
||||
|
||||
void UAuraWidgetController::BindCallbacksToDependencies()
|
||||
|
||||
Reference in New Issue
Block a user