MCPcopy Create free account
hub / github.com/chrxh/alien / processLoadingScreen

Method processLoadingScreen

source/Gui/MainLoopController.cpp:141–188  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

139}
140
141void MainLoopController::processLoadingScreen()
142{
143 drawLoadingScreen();
144
145 auto requestedSimState = _persisterFacade->getRequestState(_loadSimRequestId).value();
146 if (requestedSimState == PersisterRequestState::Finished) {
147 auto const& data = _persisterFacade->fetchReadSimulationData(_loadSimRequestId);
148 auto const& deserializedSim = data.deserializedSimulation;
149 _simulationFacade->newSimulation(
150 deserializedSim.auxiliaryData.timestep, deserializedSim.auxiliaryData.generalSettings, deserializedSim.auxiliaryData.simulationParameters);
151 _simulationFacade->setClusteredSimulationData(deserializedSim.mainData);
152 _simulationFacade->setStatisticsHistory(deserializedSim.statistics);
153 _simulationFacade->setRealTime(deserializedSim.auxiliaryData.realTime);
154 Viewport::get().setCenterInWorldPos(deserializedSim.auxiliaryData.center);
155 Viewport::get().setZoomFactor(deserializedSim.auxiliaryData.zoom);
156 TemporalControlWindow::get().onSnapshot();
157
158 _simulationLoadedTimepoint = std::chrono::steady_clock::now();
159 _programState = ProgramState::FadeOutLoadingScreen;
160 }
161 if (requestedSimState == PersisterRequestState::Error) {
162 GenericMessageDialog::get().information("Error", "The default simulation file could not be read.\nAn empty simulation will be created.");
163
164 DeserializedSimulation deserializedSim;
165 deserializedSim.auxiliaryData.generalSettings.worldSizeX = 1000;
166 deserializedSim.auxiliaryData.generalSettings.worldSizeY = 500;
167 deserializedSim.auxiliaryData.timestep = 0;
168 deserializedSim.auxiliaryData.zoom = 12.0f;
169 deserializedSim.auxiliaryData.center = {500.0f, 250.0f};
170 deserializedSim.auxiliaryData.realTime = std::chrono::milliseconds(0);
171
172 _simulationFacade->newSimulation(
173 deserializedSim.auxiliaryData.timestep, deserializedSim.auxiliaryData.generalSettings, deserializedSim.auxiliaryData.simulationParameters);
174 _simulationFacade->setClusteredSimulationData(deserializedSim.mainData);
175 _simulationFacade->setStatisticsHistory(deserializedSim.statistics);
176 _simulationFacade->setRealTime(deserializedSim.auxiliaryData.realTime);
177 Viewport::get().setCenterInWorldPos(deserializedSim.auxiliaryData.center);
178 Viewport::get().setZoomFactor(deserializedSim.auxiliaryData.zoom);
179 TemporalControlWindow::get().onSnapshot();
180
181 _simulationLoadedTimepoint = std::chrono::steady_clock::now();
182 _programState = ProgramState::FadeOutLoadingScreen;
183 }
184
185 OverlayController::get().process();
186
187 std::this_thread::sleep_for(std::chrono::milliseconds(10));
188}
189
190void MainLoopController::processFadeOutLoadingScreen()
191{

Callers

nothing calls this directly

Calls 11

setRealTimeMethod · 0.80
setCenterInWorldPosMethod · 0.80
setZoomFactorMethod · 0.80
onSnapshotMethod · 0.80
informationMethod · 0.80
getRequestStateMethod · 0.45
newSimulationMethod · 0.45
setStatisticsHistoryMethod · 0.45
processMethod · 0.45

Tested by

no test coverage detected