void Game::RenderThreadloop() { CA_TRACE("Renderer initialized\n"); Initialize(); CA_TRACE("Game initialized\n"); LoadContent(); CA_TRACE("Game load content done\n"); try { BeginRun(); #if CA_PLATFORM_DESKTOP FrameLoop(); EndRun(); #endif // #if CA_PLATFORM_DESKTOP } catch (const std::exception& ex) { CA_FATAL("Error during game running : %s", ex.what()); return; } catch (...) { CA_FATAL("Error during game running : generic exception"); return; } }
//----------------------------------------------------------------------------- // Purpose: Think function to move the ghost //----------------------------------------------------------------------------- void GhostEntity::Think( void ) { CBaseAnimating::Think(); if (Q_strlen(m_gName) != 0) { if (!IsEffectActive(EF_NODRAW)) EntityText(0, m_gName, 0); updateStep(); HandleGhost(); } else { EndRun(); } SetNextThink( gpGlobals->curtime + 0.01f ); }
void Game::Run() { sassert(!inRun, "Run Method called more than once."); inRun = true; BeginRun(); graphicsManager = (IGraphicsDeviceManager*)((GraphicsDeviceManager*)services.GetService(IGraphicsDeviceManager::GetType())); if (graphicsManager != null) graphicsManager->CreateDevice(); #if DEBUG else debugPrint("graphicsManager is NULL.\n"); #endif Initialize(); while(1) Tick(); EndRun(); inRun = false; }
/* Main function */ int main(int argc, char** argv) { if( BeginJob( argc, argv ) == 0 ) { cout<<"BeginJob failed"<<endl; return 0; } /* Layer 1. The main loop over every stream entries */ /* ------------------------------------------------ */ CurrRun.Run = -1; cout<<"StreamChain add "<<StreamChain<<endl; unsigned int entries = StreamChain->GetEntries(); for( unsigned int entry=0; entry<entries; entry++ ) { unsigned int localentry = StreamChain->LoadTree(entry); int ret = Reader->GetEntry( localentry ); if( ret==0 ) { cout<<"Error: Read error"<<endl; return 1; } /* Process run information and possible long time jump */ if( Reader->Run != CurrRun.Run ) { if( CurrRun.Run != -1 ) { /* End Run */ if( EndRun( Reader ) == 0 ) { cout<<"EndRun failed"<<endl; return 0; } } /* Begin Run */ if( BeginRun( Reader ) == 0 ) { cout<<"BeginRun failed"<<endl; return 0; } } /*** Test each entry here ***/ SubEvt* pSubEvt = new SubEvt( Reader ); TimeStamp NewTime( pSubEvt->TrigSec, pSubEvt->TrigNano ); if( (NewTime - CurrRun.CurrTime).GetSeconds() > 120 /* Two minutes */ ) { CurrRun.Breaks.push_back( CurrRun.CurrTime ); CurrRun.Breaks.push_back( NewTime ); CurrRun.SkipTime.Add( (NewTime - CurrRun.CurrTime).GetSeconds() ); } CurrRun.CurrTime = NewTime; /* Cache all temporal related event. Give a chance to clean up the queue and do muon Id */ SubEvtQueue PassedQueue = CachedQueueInsert( NewTime, pSubEvt ); /* Layer 2. The main loop over every non-muon SubEvt */ /* ------------------------------------------------- */ SubEvtQueueIterator it, it_end = PassedQueue.end(); for( it = PassedQueue.begin(); it != it_end; it++ ) { /* Build delay coincident event */ SubEvt* pSubEvt = it->second; int ret = BuildEvent( pSubEvt ); if( ret == 0 ) { cout<<"Error in BuildEvent"<<endl; } delete pSubEvt; } /*** End of SubEvt loop ***/ } /*** End of stream entry loop ***/ if( EndRun( Reader ) == 0 ) { cout<<"EndRun failed"<<endl; return 0; } /* End Job */ /* ------- */ if( EndJob() == 0 ) { cout<<"BeginJob failed"<<endl; return 0; } return 1; }
void ABETCharacter::Tick(float DeltaTime) { Super::Tick(DeltaTime); if (running) { stamina -= DeltaTime; if (stamina <= 0) { EndRun(); if(NoStaminaAudio != nullptr) UGameplayStatics::PlaySoundAtLocation(this, NoStaminaAudio, GetActorLocation()); } } else { if (stamina < MAXSTAMINA) { stamina += DeltaTime / 2; } else { stamina = MAXSTAMINA; } } if (power) { if (lightIntensity <= 0) { power = !power; flashLight->ToggleVisibility(); lightIntensity = 20; } else { lightIntensity -= DeltaTime * 200; flashLight->SetIntensity(lightIntensity); if (lightIntensity >= 12000.f) { if (widgetChecker == 1) { WidgetBattery->RemoveFromViewport(); WidgetBattery = NULL; } if (WidgetBattery == NULL) { WidgetBattery = CreateWidget<UUserWidget>(Cast<APlayerController>(this->GetController()), UIBatteryWidgetFull); WidgetBattery->AddToViewport(); widgetChecker = 2; } } else if (lightIntensity < 12000.f && lightIntensity >= 9000.f) { if (widgetChecker == 2) { WidgetBattery->RemoveFromViewport(); WidgetBattery = NULL; } if (WidgetBattery == NULL) { WidgetBattery = CreateWidget<UUserWidget>(Cast<APlayerController>(this->GetController()), UIBatteryWidget80); WidgetBattery->AddToViewport(); widgetChecker = 3; } } else if (lightIntensity < 9000.f && lightIntensity >= 6000.f) { if (widgetChecker == 3) { WidgetBattery->RemoveFromViewport(); WidgetBattery = NULL; } if (WidgetBattery == NULL) { WidgetBattery = CreateWidget<UUserWidget>(Cast<APlayerController>(this->GetController()), UIBatteryWidget60); WidgetBattery->AddToViewport(); widgetChecker = 4; } } else if (lightIntensity < 6000.f && lightIntensity >= 3000.f) { if (widgetChecker == 4) { WidgetBattery->RemoveFromViewport(); WidgetBattery = NULL; } if (WidgetBattery == NULL) { WidgetBattery = CreateWidget<UUserWidget>(Cast<APlayerController>(this->GetController()), UIBatteryWidget40); WidgetBattery->AddToViewport(); widgetChecker = 5; } } else if (lightIntensity < 3000.f && lightIntensity > 0.f) { if (widgetChecker == 5) { WidgetBattery->RemoveFromViewport(); WidgetBattery = NULL; } if (WidgetBattery == NULL) { WidgetBattery = CreateWidget<UUserWidget>(Cast<APlayerController>(this->GetController()), UIBatteryWidget20); WidgetBattery->AddToViewport(); widgetChecker = 6; } } else if (lightIntensity <= 0.f) { if (widgetChecker == 6) { WidgetBattery->RemoveFromViewport(); WidgetBattery = NULL; } if (WidgetBattery == NULL) { WidgetBattery = CreateWidget<UUserWidget>(Cast<APlayerController>(this->GetController()), UIBatteryWidgetEmpty); WidgetBattery->AddToViewport(); widgetChecker = 7; } } } } }
void About::KeyPress(GG::Key key, std::uint32_t key_code_point, GG::Flags<GG::ModKey> mod_keys) { if ((key == GG::GGK_RETURN) || (key == GG::GGK_ESCAPE)) EndRun(); }
void KVINDRAOnlineDataAnalyser::ProcessRun() { // Perform treatment of a given run //Open data file fRunFile = (KVRawDataReader*)gDataSet->OpenRunfile(GetDataType().Data() , fRunNumber); if (fRunFile->GetStatus() == KVGRUNetClientGanilReader::kSTATUS_NOHOST) { // cannot connect to ACQ host Error("ProcessRun", "Cannot connect to acquisition host machine. Check KVGRUNetClientGanilReader.AcqHostName"); return; } //warning! real number of run may be different from that deduced from file name //we get the real run number from gMultiDetArray and use it to name any new files fRunNumber = gMultiDetArray->GetCurrentRunNumber(); fEventNumber = 0; //event number cout << endl << "Reading ONLINE events from RUN# " << fRunNumber << endl; cout << "Starting analysis of data on : "; TDatime now; cout << now.AsString() << endl << endl; preInitRun(); //call user's beginning of run InitRun(); postInitRun(); fDetEv = new KVDetectorEvent; //loop over events in file fGoEventLoop = kTRUE; fDumpEvents = kFALSE; while (fGoEventLoop) { Bool_t gotevent = fRunFile->GetNextEvent(); if (gotevent) { fEventNumber++; //reconstruct hit groups KVSeqCollection* fired = fRunFile->GetFiredDataParameters(); gMultiDetArray->GetDetectorEvent(fDetEv, fired); preAnalysis(); //call user's analysis. stop if returns kFALSE. if (!Analysis()) break; postAnalysis(); fDetEv->Clear(); if (!((fEventNumber) % 10000)) cout << " ++++ " << fEventNumber << " events read ++++ " << endl; } else { // got no event - why ? Int_t status = fRunFile->GetStatus(); switch (status) { case KVGRUNetClientGanilReader::kSTATUS_NOBUFF: Warning("ProcessRun", "Got no buffer from ACQHOST. Sleeping for 2 seconds."); gSystem->Sleep(2000); break; case KVGRUNetClientGanilReader::kSTATUS_NOEVENT: Warning("ProcessRun", "Got no event from ACQHOST. Sleeping for 2 seconds."); gSystem->Sleep(2000); break; case KVGRUNetClientGanilReader::kSTATUS_NOACQ: Warning("ProcessRun", "Acquisition is stopped. Sleeping for 5 seconds."); gSystem->Sleep(5000); break; } } } delete fDetEv; cout << "Ending analysis of run " << fRunNumber << " on : "; TDatime now2; cout << now2.AsString() << endl << endl; cout << endl << "Finished reading " << fEventNumber << " events" << endl << endl; preEndRun(); //call user's end of run function EndRun(); postEndRun(); if (fMessageThread) { fMessageThread->Kill(); TThread::Delete(fMessageThread); delete fMessageThread; fMessageThread = 0; } }