Paradies Project
Loading...
Searching...
No Matches
UProjectileAttackBase Class Reference
Inheritance diagram for UProjectileAttackBase:
Inheritance graph
Collaboration diagram for UProjectileAttackBase:
Collaboration graph

Public Member Functions

virtual void ActivateAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData *TriggerEventData) override
 어빌리티 시작 시 캐릭터에게 현재 사용 중인 스킬 인덱스를 알립니다.
virtual void EndAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override
 어빌리티 종료 시 캐릭터의 스킬 시전 상태를 초기화(-1)합니다.
virtual void OnMontageCompleted () override
 몽타주 재생이 끝났거나, 중단되었을 때 호출됩니다. 어빌리티를 종료(EndAbility)시킵니다.
Public Member Functions inherited from UBaseGameplayAbility
 UBaseGameplayAbility ()
 생성자. 인스턴싱 정책(InstancingPolicy)을 설정합니다.
ACharacter * GetPlayerCharacterFromActorInfo () const
 어빌리티를 실행한 아바타 액터를 ACharacter로 형변환하여 반환합니다.
AController * GetPlayerControllerFromActorInfo () const
 어빌리티를 실행한 플레이어 컨트롤러를 반환합니다.
FGameplayEffectSpecHandle MakeSpecHandle (TSubclassOf< UGameplayEffect > EffectClass, float Level=1.0f)
 GameplayEffect를 적용하기 위한 스펙 핸들(SpecHandle)을 생성합니다. (택배 포장).
virtual bool CanActivateAbility (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayTagContainer *SourceTags, const FGameplayTagContainer *TargetTags, OUT FGameplayTagContainer *OptionalRelevantTags) const override
 어빌리티 발동 조건을 검사합니다. (마나, 쿨타임 및 궁극기 중복 사용 방지)
void ApplySpecHandleToTarget (AActor *TargetActor, const FGameplayEffectSpecHandle &SpecHandle)
 생성된 스펙 핸들을 타겟 액터에게 적용합니다.
virtual void ApplyCooldown (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo) const override
 엑셀 데이터의 쿨타임을 적용하기 위해 오버라이드
virtual bool CheckCost (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, OUT FGameplayTagContainer *OptionalRelevantTags=nullptr) const override
 코스트(마나)가 충분한지 검사하는 함수
virtual void ApplyCost (const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo) const override
 코스트(마나)를 실제로 깎는 함수

Protected Member Functions

void OnGameplayEventReceived (FGameplayEventData Payload)
 WaitGameplayEvent 태스크에서 발사 이벤트가 감지되었을 때 호출됩니다
void FireSinglePellet ()
 투사체 1발을 실제로 스폰하는 헬퍼 함수 (타이머가 반복 호출함)
Protected Member Functions inherited from UBaseGameplayAbility
class AParadiseCameraManagerGetParadiseCameraManager () const
 현재 어빌리티 실행자의 카메라 매니저를 캐싱/반환하는 헬퍼 함수
class UAbilityTask_PlayMontageAndWait * PlayMontageAndWaitCallback (UAnimMontage *MontageToPlay, FName TaskInstanceName=NAME_None)
 몽타주를 재생하고 종료 콜백(OnMontageCompleted)을 자동으로 연결해주는 헬퍼 함수
const FCombatActionDataGetCombatDataFromActor ()
 캐릭터에게서 전투 데이터를 가져오는 함수 (캐싱 적용됨)
FCombatActionData GetCombatDataFromActorInfo (const FGameplayAbilityActorInfo *ActorInfo, const FGameplayAbilitySpecHandle Handle) const
 (안전용) CheckCost, ApplyCooldown 등 CDO에서 호출될 때 사용하는 함수입니다. 멤버 변수를 절대 수정하지 않고, 즉석에서 인터페이스를 통해 데이터를 가져옵니다.

Protected Attributes

FGameplayTag FireEventTag
 발사 시점을 감지할 이벤트 태그입니다. 기본값: "Event.Montage.Fire" (애니메이션 노티파이에서 이 태그를 보내야 합니다)
int32 BurstCurrentCount = 0
 현재 몇 발째 발사 중인지 카운트
FTransform CachedMuzzleTransform
 총구 위치 캐싱
bool bIsShooting = false
 연사(타이머)가 진행 중인지 체크
bool bMontageFinished = false
 애니메이션 몽타주가 끝났는지 체크
Protected Attributes inherited from UBaseGameplayAbility
ECombatActionType AbilityActionType = ECombatActionType::BasicAttack
 이 어빌리티의 정체성 (평타 vs 스킬)

Member Function Documentation

◆ ActivateAbility()

void UProjectileAttackBase::ActivateAbility ( const FGameplayAbilitySpecHandle Handle,
const FGameplayAbilityActorInfo * ActorInfo,
const FGameplayAbilityActivationInfo ActivationInfo,
const FGameplayEventData * TriggerEventData )
overridevirtual

어빌리티 시작 시 캐릭터에게 현재 사용 중인 스킬 인덱스를 알립니다.

Reimplemented from UBaseGameplayAbility.

Here is the call graph for this function:

◆ EndAbility()

void UProjectileAttackBase::EndAbility ( const FGameplayAbilitySpecHandle Handle,
const FGameplayAbilityActorInfo * ActorInfo,
const FGameplayAbilityActivationInfo ActivationInfo,
bool bReplicateEndAbility,
bool bWasCancelled )
overridevirtual

어빌리티 종료 시 캐릭터의 스킬 시전 상태를 초기화(-1)합니다.

Reimplemented from UBaseGameplayAbility.

Here is the caller graph for this function:

◆ OnMontageCompleted()

void UProjectileAttackBase::OnMontageCompleted ( )
overridevirtual

몽타주 재생이 끝났거나, 중단되었을 때 호출됩니다. 어빌리티를 종료(EndAbility)시킵니다.

Reimplemented from UBaseGameplayAbility.


The documentation for this class was generated from the following files:
  • Source/Paradise/Public/GAS/Abilities/ProjectileAttackBase.h
  • Source/Paradise/Private/GAS/Abilities/ProjectileAttackBase.cpp