Ejemplo n.º 1
0
void AWalkerAIController::Tick(float DeltaSeconds)
{
  Super::Tick(DeltaSeconds);

  if (Status != EWalkerStatus::RunOver) {
    switch (GetMoveStatus()) {
      case EPathFollowingStatus::Idle:
      case EPathFollowingStatus::Waiting:
        LOG_AI_WALKER(Warning, "is stuck!");
        Status = EWalkerStatus::Stuck;
        break;
      case EPathFollowingStatus::Paused:
        LOG_AI_WALKER(Log, "is paused");
        TryResumeMovement();
        break;
    };
  }
}
Ejemplo n.º 2
0
void AWalkerAIController::Tick(float DeltaSeconds)
{
  Super::Tick(DeltaSeconds);
  TimeInState+=DeltaSeconds;
  if (Status != EWalkerStatus::RunOver) 
  {
    switch (GetMoveStatus()) 
	{
	  default: break;
      case EPathFollowingStatus::Idle: 
      //case EPathFollowingStatus::Waiting: //<-- incomplete path
        LOG_AI_WALKER(Warning, "is stuck!");
        ChangeStatus(EWalkerStatus::Stuck);
        break;
      case EPathFollowingStatus::Paused:
		if(TimeInState>WALKER_MAX_TIME_PAUSED){
			LOG_AI_WALKER(Log, "is paused, trying resume movement");
			TryResumeMovement();
		}
        break;
	
	};
  }
}
Ejemplo n.º 3
0
void AWalkerAIController::TrySetMovement(bool paused)
{
	if(paused) TryPauseMovement(false);
	else TryResumeMovement();
}