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

Public Member Functions

virtual void PossessedBy (AController *NewController) override
virtual void SetupPlayerInputComponent (class UInputComponent *PlayerInputComponent) override
virtual void BeginPlay () override
void InitializeComponents ()
 생성자에서 컴포넌트를 생성합니다.
USkeletalMeshComponent * GetArmorComponent (EEquipmentSlot Slot) const
 슬롯에 해당하는 스켈레탈 메쉬 컴포넌트를 반환합니다.
USkillIndicatorComponent * GetSkillIndicatorComponent () const
 스킬 사거리 컴포넌트 Getter함수
virtual FCombatActionData GetCombatActionData (ECombatActionType ActionType) const override
 현재 장착된 무기를 기반으로 특정 행동(평타/스킬)에 필요한 전투 데이터를 반환합니다.
virtual TArray< struct FFXPayload * > GetFXPayloads (EFXEventType EventType) const override
 특정 상황(EventType)에 맞는 최종 연출 데이터(Payload)를 반환합니다. (기본값: nullptr)
class APlayerDataGetPlayerData () const
bool IsDead () const
 캐릭터 사망 여부 반환 (컨트롤러 확인용)
void SetCamera_Default ()
 [옵션 1] 2.5D Default
void SetCamera_Classic ()
 [옵션 2] 클래식
void SetCamera_Dynamic ()
 [옵션 3] 다이나믹
void SwitchCameraMode ()
 카메라 모드를 순차적으로 변경합니다. (0 -> 1 -> 2 -> 0 loop)
virtual void Die () override
void InitializePlayer (APlayerData *InPlayerData)
 캐릭터 스폰 직후, 영혼(PlayerData)과 육체를 연결하고 외형을 초기화합니다.
void SendAbilityInputToASC (EInputID InputId, bool bIsPressed)
 입력 액션이 들어오면 ASC로 신호를 보내는 배달부 함수
virtual USceneComponent * GetWeaponMesh () const override
 소켓 이름을 주면 위치(좌표)를 반환하는 부모의 가상 함수 오버라이드
virtual UAnimMontage * GetDeathMontage () const override
 사망 몽타주를 반환하는 부모의 가상 함수 오버라이드
virtual UAnimMontage * GetHitMontage () const override
 피격 몽타주를 반환하는 부모의 가상 함수 오버라이드
Public Member Functions inherited from ACharacterBase
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 void PlayHitReaction ()
 데미지를 받았을 때 호출되는 피격 연출 통합 함수
virtual void OnDeathAnimationFinished ()
 애니메이션이 끝나거나 노티파이에서 호출될 가상 함수
void SetCurrentMuzzleSocketInfo (FName InSocketName, ESocketTargetType InSocketTarget)
 노티파이에서 발사 소켓 정보(타겟+이름)를 캐릭터에 저장(캐싱)해주는 함수
FTransform GetCurrentMuzzleTransform () const
 캐싱된 타겟(무기 or 몸체)을 기준으로 최종 발사 트랜스폼(위치+회전) 반환
void ExecuteAttackFromNotify (FName SocketName, ESocketTargetType TargetType, bool bIsTick)
 애니메이션 노티파이에서 호출하는 통합 공격 사령탑

Protected Member Functions

void OnMoveInput (const FInputActionValue &InValue)
Protected Member Functions inherited from ACharacterBase
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
void PlayHitFlash ()
void ResetHitFlash ()

Protected Attributes

int32 CurrentCameraIndex = 0
TObjectPtr< USkeletalMeshComponent > HatMesh = nullptr
TObjectPtr< USkeletalMeshComponent > WeaponMesh = nullptr
 무기 전용 메쉬 컴포넌트
TObjectPtr< UInputAction > IA_Move = nullptr
TObjectPtr< class UParadiseInputConfigInputConfig = nullptr
TObjectPtr< class USpringArmComponent > CameraBoom = nullptr
TObjectPtr< class UCameraComponent > FollowCamera = nullptr
TObjectPtr< USkillIndicatorComponent > SkillIndicatorComp2 =nullptr
TWeakObjectPtr< class APlayerDataLinkedPlayerData = nullptr
FName WeaponSocketName
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
 소속 진영 태그

Member Function Documentation

◆ BeginPlay()

void APlayerBase::BeginPlay ( )
overridevirtual

Reimplemented from ACharacterBase.

◆ Die()

void APlayerBase::Die ( )
overridevirtual

Reimplemented from ACharacterBase.

◆ GetArmorComponent()

USkeletalMeshComponent * APlayerBase::GetArmorComponent ( EEquipmentSlot Slot) const

슬롯에 해당하는 스켈레탈 메쉬 컴포넌트를 반환합니다.

EquipmentComponent에서 외형 변경 시 호출합니다.

◆ GetCombatActionData()

FCombatActionData APlayerBase::GetCombatActionData ( ECombatActionType ActionType) const
overridevirtual

현재 장착된 무기를 기반으로 특정 행동(평타/스킬)에 필요한 전투 데이터를 반환합니다.

ICombatInterface의 구현부입니다.

  1. PlayerData와 EquipmentComponent를 통해 현재 무기 ID를 조회합니다.
  2. GameInstance의 데이터 테이블에서 해당 무기의 에셋(몽타주)과 스탯(계수)을 검색합니다.
  3. 요청된 ActionType(평타 vs 스킬)에 맞춰 데이터를 패키징하여 반환합니다.
  • Parameters
    ActionType수행하려는 행동 타입 (예: BasicAttack, WeaponSkill 등).
    Returns
    FCombatActionData 몽타주, 데미지 이펙트 클래스, 데미지 계수가 포함된 구조체. (무기가 없으면 빈 구조체 반환)

Reimplemented from ACharacterBase.

◆ GetDeathMontage()

UAnimMontage * APlayerBase::GetDeathMontage ( ) const
overridevirtual

사망 몽타주를 반환하는 부모의 가상 함수 오버라이드

Reimplemented from ACharacterBase.

◆ GetFXPayloads()

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

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

Reimplemented from ACharacterBase.

◆ GetHitMontage()

UAnimMontage * APlayerBase::GetHitMontage ( ) const
overridevirtual

피격 몽타주를 반환하는 부모의 가상 함수 오버라이드

Reimplemented from ACharacterBase.

◆ GetWeaponMesh()

USceneComponent * APlayerBase::GetWeaponMesh ( ) const
overridevirtual

소켓 이름을 주면 위치(좌표)를 반환하는 부모의 가상 함수 오버라이드

Reimplemented from ACharacterBase.

◆ InitializePlayer()

void APlayerBase::InitializePlayer ( APlayerData * InPlayerData)

캐릭터 스폰 직후, 영혼(PlayerData)과 육체를 연결하고 외형을 초기화합니다.

  • GAS의 오너(Owner)와 아바타(Avatar) 관계를 설정합니다.
  • 연결된 영혼이 보유한 장비 데이터를 기반으로 즉시 비주얼을 렌더링합니다.
    Parameters
    InPlayerData이 육체를 제어할 데이터 주체(영혼) 액터

◆ SendAbilityInputToASC()

void APlayerBase::SendAbilityInputToASC ( EInputID InputId,
bool bIsPressed )

입력 액션이 들어오면 ASC로 신호를 보내는 배달부 함수

Parameters
InputId: 어떤 키인가? (Enum)
bIsPressed: 눌렀는가(true), 뗐는가(false)

◆ SetCamera_Classic()

void APlayerBase::SetCamera_Classic ( )

[옵션 2] 클래식

적당한 거리감과 하이 앵글. 깊이감이 잘 느껴지는 스탠다드 횡스크롤.

Here is the caller graph for this function:

◆ SetCamera_Default()

void APlayerBase::SetCamera_Default ( )

[옵션 1] 2.5D Default

멀리서 망원 렌즈로 당겨 찍는 느낌. 원근 왜곡이 적어 거리 재기가 편함.

Here is the caller graph for this function:

◆ SetCamera_Dynamic()

void APlayerBase::SetCamera_Dynamic ( )

[옵션 3] 다이나믹

가까운 거리, 광각 렌즈. 캐릭터 동작이 크고 시원하게 보임.

Here is the caller graph for this function:

◆ SetupPlayerInputComponent()

void APlayerBase::SetupPlayerInputComponent ( class UInputComponent * PlayerInputComponent)
overridevirtual

Reimplemented from ACharacterBase.

◆ SwitchCameraMode()

void APlayerBase::SwitchCameraMode ( )

카메라 모드를 순차적으로 변경합니다. (0 -> 1 -> 2 -> 0 loop)

Default -> Classic -> Dynamic 순서로 변경됩니다.

Here is the call graph for this function:

Member Data Documentation

◆ CurrentCameraIndex

int32 APlayerBase::CurrentCameraIndex = 0
protected

현재 카메라 모드 인덱스 (0: Default, 1: Classic, 2: Dynamic)

◆ HatMesh

TObjectPtr<USkeletalMeshComponent> APlayerBase::HatMesh = nullptr
protected

모듈형 캐릭터 파츠(Body는 ACharacter의 Mesh 사용)


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