해결된 질문
작성
·
84
0
안녕하세요. 강의를 듣던 중에 TakeDamage 함수에 관해 궁금한게 있어 질문을 남깁니다.
FDamageEvent DamageEvent;
OutHitResult.GetActor()->TakeDamage(AttackDamage, DamageEvent, GetController(), this);
위 코드에서 NPC가 공격을 받은 경우, OutHitResult.GetActor()
이 값은 NPC의 액터를 가져오고, GetController()
과 this
는 플레이어의 정보를 가져오는 건가요?
답변 1
0
TakeDamage의 함수 선언을 보면 다음과 같습니다.
virtual float TakeDamage(float DamageAmount, struct FDamageEvent const& DamageEvent, class AController* EventInstigator, class AActor* DamageCauser) override;
여기서 HitResult.GetActor()는 감지를 당한 NPC액터, GetController와 this는 피해를 입힌 컨트롤러와 피해를 입힌 수단이 되는데, 호출한 액터(플레이어)의 정보가 전달되겠지요.