Paradies Project
Loading...
Searching...
No Matches
ASkillCasterUnit Class Reference

평타 외에 여러 개의 액티브 스킬을 사용하는 유닛(보스, 특수 패밀리어 등)의 클래스입니다. More...

#include <SkillCasterUnit.h>

Inheritance diagram for ASkillCasterUnit:
Inheritance graph
Collaboration diagram for ASkillCasterUnit:
Collaboration graph

Public Member Functions

virtual void InitializeUnit (struct FAIUnitStats *InStats, struct FAIUnitAssets *InAssets) override
 AUnitBase의 초기화 함수를 오버라이드
FCombatActionData GetSkillActionData (int32 SkillIndex) const
 인덱스를 기반으로 특정 스킬의 전투 데이터를 가져옵니다.
virtual TArray< struct FFXPayload * > GetSkillFXPayloads (int32 SkillIndex) const
 인덱스를 기반으로 특정 스킬의 FX 연출 데이터(Payload)를 반환합니다.
virtual TArray< struct FFXPayload * > GetSkillHitFXPayloads (int32 SkillIndex) const
 추가: 인덱스를 기반으로 특정 스킬의 '타격' FX 연출을 반환합니다.
UAnimMontage * GetSkillMontage (int32 SkillIndex) const
 인덱스를 기반으로 특정 스킬의 몽타주를 가져옵니다.
void SetCurrentCastingSkillIndex (int32 Index)
int32 GetCurrentCastingSkillIndex () const
virtual FCombatActionData GetCombatActionData (ECombatActionType ActionType) const override
 실제 전투 데이터를 조회하는 함수
virtual TArray< struct FFXPayload * > GetFXPayloads (EFXEventType EventType) const override
 특정 상황(EventType)에 맞는 최종 연출 데이터(Payload)를 반환합니다. (기본값: nullptr)
Public Member Functions inherited from AUnitBase
virtual void OnPoolActivate_Implementation () override
virtual void OnPoolDeactivate_Implementation () override
const FAIUnitAssetsGetUnitAssets () const
void SetUnitID (FName InID)
FName GetUnitID () const
FGameplayTag GetFactionTag () const
virtual void Die () override
bool IsEnemy (AUnitBase *OtherUnit)
float GetAttackRange () const
 캐싱된 기본 공격 사거리 반환
virtual UAnimMontage * GetDeathMontage () const override
 부모의 가상 함수 오버라이드
virtual UAnimMontage * GetHitMontage () const override
 부모의 가상 함수 오버라이드
Public Member Functions inherited from ACharacterBase
virtual void SetupPlayerInputComponent (class UInputComponent *PlayerInputComponent) override
virtual UAbilitySystemComponent * GetAbilitySystemComponent () const override
UAttributeSet * GetAttributeSet () const
virtual bool CanMove () const
 현재 캐릭터가 이동 가능한 상태인지 (태그 기반) 검사합니다.
bool IsDead () const
void AttachWeapon (AActor *NewWeapon, FName SocketName)
void TestKillSelf ()
 [디버그용] 강제로 Die() 함수를 호출하여 사망 처리 로직을 테스트합니다.
void CheckHit (FName SocketName, ESocketTargetType TargetType)
void ResetHitActors ()
bool IsHostile (ACharacterBase *Target) const
 상대방이 적대적인지(공격 대상인지) 확인합니다.
void SpawnDamagePopup (float DamageAmount, bool bIsCritical)
void SetCurrentActionData (const FCombatActionData &InData)
 현재 액션 데이터 세팅 (어빌리티에서 스킬 시작 시 호출)
FCombatActionData GetCurrentActionData () const
 현재 액션 데이터 반환 (노티파이에서 타격 시 호출)
virtual USceneComponent * GetWeaponMesh () const
 자식 클래스들이 무기 메쉬를 던져줄 수 있도록 가상 함수 선언
virtual void PlayHitReaction ()
 데미지를 받았을 때 호출되는 피격 연출 통합 함수
void SetCurrentMuzzleSocketInfo (FName InSocketName, ESocketTargetType InSocketTarget)
 노티파이에서 발사 소켓 정보(타겟+이름)를 캐릭터에 저장(캐싱)해주는 함수
FTransform GetCurrentMuzzleTransform () const
 캐싱된 타겟(무기 or 몸체)을 기준으로 최종 발사 트랜스폼(위치+회전) 반환
void ExecuteAttackFromNotify (FName SocketName, ESocketTargetType TargetType, bool bIsTick)
 애니메이션 노티파이에서 호출하는 통합 공격 사령탑
Public Member Functions inherited from IObjectPoolInterface
void OnPoolActivate ()
 풀에서 꺼낼 때 호출(초기화, 위치 설정 등)
void OnPoolDeactivate ()
 풀로 돌아갈 때 호출 (타이머 정지, 상태 리셋 등)

Protected Attributes

TArray< FGameplayAbilitySpecHandle > SkillAbilityHandles
 스킬 어빌리티 핸들 목록 (부여된 스킬 관리용)
TArray< FCombatActionDataCachedSkillDataArray
 다중 스킬의 전투 스탯(사거리, 배율 등) 캐싱 배열
TArray< FGameplayTag > CachedSkillEffectTags
 다중 스킬 연출 태그 캐싱 배열 (EnemyAssets의 SkillEffectTags 복사본)
TArray< FGameplayTag > CachedSkillHitEffectTags
 다중 스킬 타격 연출 태그 캐싱 배열 (EnemyAssets의 SkillEffectTags 복사본)
TArray< TObjectPtr< UAnimMontage > > CachedSkillMontages
 다중 스킬 몽타주 캐싱 배열 (메모리에 로드된 상태 유지)
int32 CurrentCastingSkillIndex = INDEX_NONE
 현재 시전 중인 스킬의 인덱스
Protected Attributes inherited from AUnitBase
TObjectPtr< UAIPerceptionStimuliSourceComponent > StimuliSourceComp = nullptr
 AI 인지 자극 컴포넌트
FName UnitID
 데이터 테이블 조회를 위한 RowName 저장
FAIUnitAssets UnitAssets
FCombatActionData BasicAttackData
 기본 공격에 필요한 전투 데이터 모음
FAIUnitFXSettings CachedAIUnitFX
 AI 유닛 연출 캐싱
TObjectPtr< UAnimMontage > CachedDeathMontage = nullptr
 사망 몽타주 캐싱
TObjectPtr< UAnimMontage > CachedHitMontage = nullptr
 피격 몽타주 캐싱
FGameplayAbilitySpecHandle BasicAbilityHandle
 평타 어빌리티 핸들
FTimerHandle FailSafeDestroyTimerHandle
 몽타주 끝의 Notify가 호출되지 않는 버그 방지용 타이머
Protected Attributes inherited from ACharacterBase
bool bIsDead = false
TObjectPtr< class UWidgetComponent > HealthWidget = nullptr
TSubclassOf< class AActor > DamageTextActorClass = nullptr
TObjectPtr< AActor > CurrentWeaponActor = nullptr
TObjectPtr< UAbilitySystemComponent > AbilitySystemComponent
TObjectPtr< UAttributeSet > AttributeSet
FCombatActionData CurrentActiveActionData
TArray< AActor * > HitActors
TSubclassOf< class ADamageTextActorDamageTextClass
FName CurrentMuzzleSocketName = NAME_None
 투사체를 발사할 최신 소켓 이름 (노티파이에서 세팅됨)
ESocketTargetType CurrentMuzzleSocketTarget = ESocketTargetType::CharacterBody
 투사체 발사 소켓을 찾을 메쉬 대상 (몸체 vs 무기)

Additional Inherited Members

Public Attributes inherited from ACharacterBase
FGameplayTag FactionTag
 소속 진영 태그
Protected Member Functions inherited from AUnitBase
virtual void OnDeathAnimationFinished () override
 애니메이션이 끝나거나 노티파이에서 호출될 가상 함수
void ExecuteReturnToPool ()
void SetAvoidanceEnabled (bool bEnable)
Protected Member Functions inherited from ACharacterBase
virtual void BeginPlay () override
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
void PlayHitFlash ()
void ResetHitFlash ()

Detailed Description

평타 외에 여러 개의 액티브 스킬을 사용하는 유닛(보스, 특수 패밀리어 등)의 클래스입니다.

Member Function Documentation

◆ GetCombatActionData()

FCombatActionData ASkillCasterUnit::GetCombatActionData ( ECombatActionType ActionType) const
overridevirtual

실제 전투 데이터를 조회하는 함수

PlayerBase가 호출하면, GameInstance와 EquipmentComponent를 탐색하여 결과 리턴.

Reimplemented from AUnitBase.

Here is the call graph for this function:

◆ GetFXPayloads()

TArray< FFXPayload * > ASkillCasterUnit::GetFXPayloads ( EFXEventType EventType) const
overridevirtual

특정 상황(EventType)에 맞는 최종 연출 데이터(Payload)를 반환합니다. (기본값: nullptr)

Reimplemented from AUnitBase.

Here is the call graph for this function:

◆ InitializeUnit()

void ASkillCasterUnit::InitializeUnit ( struct FAIUnitStats * InStats,
struct FAIUnitAssets * InAssets )
overridevirtual

AUnitBase의 초기화 함수를 오버라이드

Reimplemented from AUnitBase.


The documentation for this class was generated from the following files:
  • Source/Paradise/Public/Characters/AIUnit/SkillCasterUnit.h
  • Source/Paradise/Private/Characters/AIUnit/SkillCasterUnit.cpp