53. Gameplay Effect Delegates
This commit is contained in:
parent
33b3723b82
commit
c4e40037ed
@ -1 +1,20 @@
|
||||
#include "GasaAbilitySystemComponent.h"
|
||||
#include "GasaAbilitySystemComponent.h"
|
||||
|
||||
#include "Engine/Engine.h"
|
||||
|
||||
void UGasaAbilitySystemComp::OnAbilityActorInfoSet()
|
||||
{
|
||||
}
|
||||
|
||||
void UGasaAbilitySystemComp::EffectApplied(UAbilitySystemComponent* AbilitySystem, FGameplayEffectSpec const& Spec,
|
||||
FActiveGameplayEffectHandle ActiveEffect)
|
||||
{
|
||||
GEngine->AddOnScreenDebugMessage(1, 8.f, FColor::Yellow, FString("Effect applied"));
|
||||
}
|
||||
|
||||
void UGasaAbilitySystemComp::InitAbilityActorInfo(AActor* InOwnerActor, AActor* InAvatarActor)
|
||||
{
|
||||
Super::InitAbilityActorInfo(InOwnerActor, InAvatarActor);
|
||||
|
||||
OnGameplayEffectAppliedDelegateToSelf.AddUObject(this, & ThisClass::EffectApplied);
|
||||
}
|
||||
|
@ -6,10 +6,17 @@
|
||||
|
||||
#include "GasaAbilitySystemComponent.generated.h"
|
||||
|
||||
|
||||
UCLASS(BlueprintType)
|
||||
class GASA_API UGasaAbilitySystemComp : public UAbilitySystemComponent
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
// TODO(Ed): If hes only using this to bind the EffectApplied to a delegate, then just use the init override instead.
|
||||
void OnAbilityActorInfoSet();
|
||||
|
||||
void EffectApplied(UAbilitySystemComponent* AbilitySystem, FGameplayEffectSpec const& Spec, FActiveGameplayEffectHandle ActiveEffect);
|
||||
|
||||
#pragma region AbilitySystemComponent
|
||||
void InitAbilityActorInfo(AActor* InOwnerActor, AActor* InAvatarActor) override;
|
||||
#pragma endregion AbilitySystemComponent
|
||||
};
|
||||
|
@ -155,12 +155,11 @@ void AGasaCharacter::PossessedBy(AController* NewController)
|
||||
if (GetMesh() && IsReplicatingMovement() && (GetRemoteRole() == ROLE_AutonomousProxy && GetNetConnection() != nullptr))
|
||||
GetMesh()->bOnlyAllowAutonomousTickPose = true;
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
if (bAutoAbilitySystem)
|
||||
{
|
||||
// TODO(Ed): Do we need to do this for enemies?
|
||||
AbilitySystem->InitAbilityActorInfo(this, this);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void AGasaCharacter::SetPlayerDefaults()
|
||||
@ -179,11 +178,10 @@ void AGasaCharacter::BeginPlay()
|
||||
{
|
||||
Super::BeginPlay();
|
||||
|
||||
// TODO(Ed): Find out if this is the best spot todo this
|
||||
// There is also OnPossessed, PostInitializeComponents, etc...
|
||||
if (bAutoAbilitySystem)
|
||||
{
|
||||
// TODO(Ed): Do we need to do this for enemies?
|
||||
AbilitySystem->InitAbilityActorInfo(this, this);
|
||||
}
|
||||
}
|
||||
|
||||
void AGasaCharacter::Tick(float DeltaSeconds)
|
||||
|
Loading…
Reference in New Issue
Block a user