void FAutomatedTestManager::Tick( float DeltaTime ) { // Update the automation controller to keep it running AutomationController->Tick(); // Update the automation process switch( AutomationTestState ) { case EAutomationTestState::FindWorkers : { FindWorkers( DeltaTime ); break; } case EAutomationTestState::MonitorTests : { MonitorTests(); break; } case EAutomationTestState::GenerateReport : { GenerateReport(); break; } case EAutomationTestState::Complete : case EAutomationTestState::Idle: default: { // Do nothing while we are waiting for something break; } } }
bool Tick(float DeltaTime) { // Update the automation controller to keep it running AutomationController->Tick(); // Update the automation process switch (AutomationTestState) { case EAutomationTestState::FindWorkers: { FindWorkers(DeltaTime); break; } case EAutomationTestState::RequestTests: { break; } case EAutomationTestState::DoingRequestedWork: { MonitorTests(); break; } case EAutomationTestState::Complete: case EAutomationTestState::Idle: default: { //pop next command if (AutomationCommandQueue.Num()) { AutomationCommand = AutomationCommandQueue[0]; AutomationCommandQueue.RemoveAt(0); if (AutomationCommand == EAutomationCommand::Quit) { if (AutomationCommandQueue.IsValidIndex(0)) { // Add Quit back to the end of the array. AutomationCommandQueue.Add(EAutomationCommand::Quit); break; } } AutomationTestState = EAutomationTestState::FindWorkers; } // Only quit if Quit is the actual last element in the array. if (AutomationCommand == EAutomationCommand::Quit) { GIsRequestingExit = true; } break; } } return !IsTestingComplete(); }