Exemplo n.º 1
0
void AWalkerAIController::SenseActors(const TArray<AActor *> Actors)
{
  const auto *aPawn = GetPawn();
  if ((Status == EWalkerStatus::Moving) &&
      (aPawn != nullptr) &&
      IntersectsWithVehicle(*aPawn, Actors)) {
    TryPauseMovement();
  }
}
Exemplo n.º 2
0
void AWalkerAIController::OnPawnTookDamage(
    AActor *DamagedActor,
    float Damage,
    const UDamageType *DamageType,
    AController *InstigatedBy,
    AActor *DamageCauser)
{
  LOG_AI_WALKER(Warning, "has been run over");
  constexpr bool bItWasRunOver = true;
  TryPauseMovement(bItWasRunOver);
  Status = EWalkerStatus::RunOver;
}
Exemplo n.º 3
0
void AWalkerAIController::TrySetMovement(bool paused)
{
	if(paused) TryPauseMovement(false);
	else TryResumeMovement();
}