Course 90.
Created native gameplay tags.
This commit is contained in:
@@ -3,9 +3,19 @@
|
||||
|
||||
#include "AbilitySystem/AuraAbilitySystemComponent.h"
|
||||
|
||||
#include "AuraGameplayTags.h"
|
||||
|
||||
void UAuraAbilitySystemComponent::AbilityActorInfoSet()
|
||||
{
|
||||
OnGameplayEffectAppliedDelegateToSelf.AddUObject( this, &UAuraAbilitySystemComponent::EffectApplied);
|
||||
|
||||
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,
|
||||
|
||||
@@ -19,11 +19,6 @@ void UAuraAttributeSet::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& Ou
|
||||
{
|
||||
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
|
||||
//Replicate Lifetime of each attribute
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, Health, COND_None, REPNOTIFY_Always);
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, MaxHealth, COND_None, REPNOTIFY_Always);
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, Mana, COND_None, REPNOTIFY_Always);
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, MaxMana, COND_None, REPNOTIFY_Always);
|
||||
|
||||
/*Primary Stats
|
||||
*Strength, Intelligence, Resilience, Vigor
|
||||
*/
|
||||
@@ -44,7 +39,15 @@ void UAuraAttributeSet::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& Ou
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, CriticalHitResistance, COND_None, REPNOTIFY_Always);
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, HealthRegeneration, COND_None, REPNOTIFY_Always);
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, ManaRegeneration, COND_None, REPNOTIFY_Always);
|
||||
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, MaxHealth, COND_None, REPNOTIFY_Always);
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, MaxMana, COND_None, REPNOTIFY_Always);
|
||||
|
||||
/*Vital Stats
|
||||
*Max Health - Have to be initialized after MaxHealth as an Instant Gameplay Effect
|
||||
* Max Mana - Has to be initialized after MaxMana as an Instant Gameplay Effect
|
||||
*/
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, Health, COND_None, REPNOTIFY_Always);
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, Mana, COND_None, REPNOTIFY_Always);
|
||||
}
|
||||
|
||||
void UAuraAttributeSet::PreAttributeChange(const FGameplayAttribute& Attribute, float& NewValue)
|
||||
|
||||
@@ -33,7 +33,8 @@ void AAuraCharacterBase::ApplyEffectToSelf(TSubclassOf<UGameplayEffect> Gameplay
|
||||
{
|
||||
check(IsValid(GetAbilitySystemComponent()));
|
||||
check(GameplayEffectClass);
|
||||
const FGameplayEffectContextHandle ContextHandle = GetAbilitySystemComponent()->MakeEffectContext();
|
||||
FGameplayEffectContextHandle ContextHandle = GetAbilitySystemComponent()->MakeEffectContext();
|
||||
ContextHandle.AddSourceObject(this);
|
||||
const FGameplayEffectSpecHandle SpecHandle = GetAbilitySystemComponent()->MakeOutgoingSpec(GameplayEffectClass,Level, ContextHandle);
|
||||
GetAbilitySystemComponent()->ApplyGameplayEffectSpecToTarget(*SpecHandle.Data.Get(), GetAbilitySystemComponent());
|
||||
|
||||
@@ -43,6 +44,7 @@ void AAuraCharacterBase::InitializeDefaultAttributes() const
|
||||
{
|
||||
ApplyEffectToSelf(DefaultPrimaryAttributes,1.f);
|
||||
ApplyEffectToSelf(DefaultSecondaryAttributes, 1.f);
|
||||
ApplyEffectToSelf(DefaultVitalAttributes, 1.f);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user