public:
// 是否移动
void SetMove(bool MoveIt);
// 被杀死,回出生点
void Killed();
// 速度回到150
void ReArm();
UFUNCTION()
void OnCollision(class UPrimitiveComponent* HitComp, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int OtherBodyIndex, bool bFromSweep, const FHitResult & SweepResult);
private:
// 敌人是否死亡
bool bIsDead;
void AEnemy::SetMove(bool MoveIt)
{
}
void AEnemy::Killed()
{
if (bIsDead)
{
return;
}
bIsDead = true;
GetCharacterMovement()->MaxWalkSpeed = 300.0f;
}
void AEnemy::ReArm()
{
bIsDead = false;
GetCharacterMovement()->MaxWalkSpeed = 150.0f;
if (bIsVulnerable)
{
SetInVulnerable();
}
}
void AEnemy::OnCollision(UPrimitiveComponent * HitComp, AActor * OtherActor, UPrimitiveComponent * OtherComp, int OtherBodyIndex, bool bFromSweep, const FHitResult & SweepResult)
{
// #include "Public/PacManCharacter.h"
if (OtherActor->IsA(APacManCharacter::StaticClass()))
{
if (bIsVulnerable)
{
Killed();
}
else
{
APacManCharacter* PacMan = Cast<APacManCharacter>(OtherActor);
PacMan->Killed();
}
}
}