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

Public Member Functions

virtual void SetupPlayerInputComponent (class UInputComponent *PlayerInputComponent) override
virtual UAbilitySystemComponent * GetAbilitySystemComponent () const override
UAttributeSet * GetAttributeSet () const
virtual FCombatActionData GetCombatActionData (ECombatActionType ActionType) const override
 현재 장착된 무기를 기반으로 특정 행동(평타/스킬)에 필요한 전투 데이터를 반환합니다. @detail UnitBase와 PlayerBase는 이를 오버라이딩하여 서로 다른 데이터 테이블을 참조하여 구조체를 리턴
virtual TArray< struct FFXPayload * > GetFXPayloads (EFXEventType EventType) const override
 특정 상황(EventType)에 맞는 최종 연출 데이터(Payload)를 반환합니다. (기본값: nullptr)
virtual void Die ()
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 UAnimMontage * GetDeathMontage () const
 사망 몽타주를 반환하는 가상 함수 (자식 클래스에서 오버라이드)
virtual UAnimMontage * GetHitMontage () const
 피격 몽타주를 반환하는 가상 함수
virtual void PlayHitReaction ()
 데미지를 받았을 때 호출되는 피격 연출 통합 함수
virtual void OnDeathAnimationFinished ()
 애니메이션이 끝나거나 노티파이에서 호출될 가상 함수
void SetCurrentMuzzleSocketInfo (FName InSocketName, ESocketTargetType InSocketTarget)
 노티파이에서 발사 소켓 정보(타겟+이름)를 캐릭터에 저장(캐싱)해주는 함수
FTransform GetCurrentMuzzleTransform () const
 캐싱된 타겟(무기 or 몸체)을 기준으로 최종 발사 트랜스폼(위치+회전) 반환
void ExecuteAttackFromNotify (FName SocketName, ESocketTargetType TargetType, bool bIsTick)
 애니메이션 노티파이에서 호출하는 통합 공격 사령탑

Public Attributes

FGameplayTag FactionTag
 소속 진영 태그

Protected Member Functions

virtual void BeginPlay () override
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
void PlayHitFlash ()
void ResetHitFlash ()

Protected Attributes

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 무기)

Member Function Documentation

◆ ExecuteAttackFromNotify()

void ACharacterBase::ExecuteAttackFromNotify ( FName SocketName,
ESocketTargetType TargetType,
bool bIsTick )

애니메이션 노티파이에서 호출하는 통합 공격 사령탑

Parameters
bIsTick: false면 일반 Notify에서, true면 State(Tick)에서 호출됨을 의미

◆ GetCombatActionData()

virtual FCombatActionData ACharacterBase::GetCombatActionData ( ECombatActionType ActionType) const
inlineoverridevirtual

현재 장착된 무기를 기반으로 특정 행동(평타/스킬)에 필요한 전투 데이터를 반환합니다. @detail UnitBase와 PlayerBase는 이를 오버라이딩하여 서로 다른 데이터 테이블을 참조하여 구조체를 리턴

Returns
FCombatActionData 몽타주, 데미지 이펙트 클래스, 데미지 계수가 포함된 구조체.

Implements ICombatInterface.

Reimplemented in APlayerBase, ASkillCasterUnit, and AUnitBase.

◆ GetDeathMontage()

virtual UAnimMontage * ACharacterBase::GetDeathMontage ( ) const
inlinevirtual

사망 몽타주를 반환하는 가상 함수 (자식 클래스에서 오버라이드)

Reimplemented in APlayerBase, and AUnitBase.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFXPayloads()

virtual TArray< struct FFXPayload * > ACharacterBase::GetFXPayloads ( EFXEventType EventType) const
inlineoverridevirtual

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

Implements ICombatInterface.

Reimplemented in APlayerBase, ASkillCasterUnit, and AUnitBase.

◆ GetHitMontage()

virtual UAnimMontage * ACharacterBase::GetHitMontage ( ) const
inlinevirtual

피격 몽타주를 반환하는 가상 함수

Reimplemented in APlayerBase, and AUnitBase.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetWeaponMesh()

USceneComponent * ACharacterBase::GetWeaponMesh ( ) const
virtual

자식 클래스들이 무기 메쉬를 던져줄 수 있도록 가상 함수 선언

Reimplemented in APlayerBase.

Here is the caller graph for this function:

◆ IsHostile()

bool ACharacterBase::IsHostile ( ACharacterBase * Target) const

상대방이 적대적인지(공격 대상인지) 확인합니다.

Parameters
Target확인할 대상 캐릭터
Returns
true면 적군(타격 가능), false면 아군(타격 불가)

◆ OnDeathAnimationFinished()

void ACharacterBase::OnDeathAnimationFinished ( )
virtual

애니메이션이 끝나거나 노티파이에서 호출될 가상 함수

Reimplemented in AUnitBase.

◆ TestKillSelf()

void ACharacterBase::TestKillSelf ( )

[디버그용] 강제로 Die() 함수를 호출하여 사망 처리 로직을 테스트합니다.

콘솔 명령어(~) 창에서 "TestKillSelf"를 입력하여 실행할 수 있습니다.

Member Data Documentation

◆ FactionTag

FGameplayTag ACharacterBase::FactionTag

소속 진영 태그

데이터 테이블에서 로드되어 부여되며, 피아식별(IsHostile) 및 GAS 타겟팅에 사용됩니다. 예: Unit.Faction.Friendly.Player, Unit.Faction.Enemy


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