사망처리
void AUS_Minion::PostInitializeComponents()
{
...
OnTakeAnyDamage.AddDynamic(this, &AUS_Minion::OnDamage);
...
}
void AUS_Minion::OnDamage(AActor* DamagedActor, float Damage, const UDamageType* DamageType, AController* InstigatedBy, AActor* DamageCauser)
{
Health -= Damage;
if (Health > 0)
return;
if (SpawnedPickup)
{
GetWorld()->SpawnActor<AUS_BasePickup>(SpawnedPickup, GetActorLocation(), GetActorRotation());
}
Destroy();
}
이번에는 데미지를 처리하기 위한 코드가 작성되어 있다. 코드의 내용은 데미지가 0 이하가 되면 골드 코인을 떨어뜨리는 것이다. 슬슬 코드를 분석하는 데 어려움은 없어졌다. 봐야 할 점은 언리얼에서는 월드에 오브젝트를 생성할 때 GetWorld()->SpawnActor<T>()를 사용하는 정도이다.
'Unreal > 언리얼 엔진 5로 개발하는 멀티플레이어 게임(Book)' 카테고리의 다른 글
[Unreal] US_WeaponProjectileComponent.cpp 코드 분석 (0) | 2025.04.04 |
---|---|
[Unreal] US_BaseWeaponProjectile.cpp 코드 분석 (0) | 2025.04.02 |
[Unreal] 경보 시스템 코드 분석 (0) | 2025.04.01 |
[Unreal] 소음, 감지 코드 분석 (0) | 2025.04.01 |
[Unreal] US_MinionSpawner.cpp 코드 분석 (0) | 2025.03.30 |