|
|
FName | TargetStageID |
|
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가 호출되지 않는 버그 방지용 타이머
|
|
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 ADamageTextActor > | DamageTextClass |
|
FName | CurrentMuzzleSocketName = NAME_None |
| | 투사체를 발사할 최신 소켓 이름 (노티파이에서 세팅됨)
|
|
ESocketTargetType | CurrentMuzzleSocketTarget = ESocketTargetType::CharacterBody |
| | 투사체 발사 소켓을 찾을 메쉬 대상 (몸체 vs 무기)
|
|
| virtual void | OnPoolActivate_Implementation () override |
|
virtual void | OnPoolDeactivate_Implementation () override |
| virtual FCombatActionData | GetCombatActionData (ECombatActionType ActionType) const override |
| | 실제 전투 데이터를 조회하는 함수
|
| virtual TArray< struct FFXPayload * > | GetFXPayloads (EFXEventType EventType) const override |
| | 특정 상황(EventType)에 맞는 최종 연출 데이터(Payload)를 반환합니다. (기본값: nullptr)
|
| virtual void | InitializeUnit (struct FAIUnitStats *InStats, struct FAIUnitAssets *InAssets) |
| | 유닛 초기화 및 ID 설정
|
|
const FAIUnitAssets & | GetUnitAssets () const |
|
void | SetUnitID (FName InID) |
|
FName | GetUnitID () const |
|
FGameplayTag | GetFactionTag () const |
|
bool | IsEnemy (AUnitBase *OtherUnit) |
|
float | GetAttackRange () const |
| | 캐싱된 기본 공격 사거리 반환
|
| virtual UAnimMontage * | GetDeathMontage () const override |
| | 부모의 가상 함수 오버라이드
|
| virtual UAnimMontage * | GetHitMontage () const override |
| | 부모의 가상 함수 오버라이드
|
|
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) |
| | 애니메이션 노티파이에서 호출하는 통합 공격 사령탑
|
| void | OnPoolActivate () |
| | 풀에서 꺼낼 때 호출(초기화, 위치 설정 등)
|
| void | OnPoolDeactivate () |
| | 풀로 돌아갈 때 호출 (타이머 정지, 상태 리셋 등)
|
| FGameplayTag | FactionTag |
| | 소속 진영 태그
|