@@ -129,6 +129,7 @@ void CreateRunInUnitySimulationUI()
129129 sysParamMenu . text = definition . description ;
130130 } ) ;
131131 }
132+
132133 sysParamMenu . text = sysParamDefinitions [ 0 ] . description ;
133134 m_SysParam = sysParamDefinitions [ 0 ] ;
134135
@@ -152,6 +153,7 @@ async void RunInUnitySimulation()
152153 }
153154 catch ( Exception e )
154155 {
156+ EditorUtility . ClearProgressBar ( ) ;
155157 PerceptionEditorAnalytics . ReportRunInUnitySimulationFailed ( runGuid , e . Message ) ;
156158 throw ;
157159 }
@@ -199,22 +201,24 @@ void CreateLinuxBuildAndZip()
199201 Debug . Log ( "Created build zip" ) ;
200202 }
201203
202- List < AppParam > GenerateAppParamIds ( CancellationToken token )
204+ List < AppParam > GenerateAppParamIds ( CancellationToken token , float progressStart , float progressEnd )
203205 {
204206 var appParamIds = new List < AppParam > ( ) ;
205207 var scenario = ( ScenarioBase ) m_ScenarioField . value ;
206208 var configuration = JObject . Parse ( scenario . SerializeToJson ( ) ) ;
207209 var constants = configuration [ "constants" ] ;
208210
209211 constants [ "totalIterations" ] = m_TotalIterationsField . value ;
210- constants [ "instanceCount" ] = m_InstanceCountField . value ;
212+ constants [ "instanceCount" ] = m_InstanceCountField . value ;
213+
214+ var progressIncrement = ( progressEnd - progressStart ) / m_InstanceCountField . value ;
211215
212216 for ( var i = 0 ; i < m_InstanceCountField . value ; i ++ )
213217 {
214218 if ( token . IsCancellationRequested )
215219 return null ;
216220 var appParamName = $ "{ m_RunNameField . value } _{ i } ";
217- constants [ "instanceIndex" ] = i ;
221+ constants [ "instanceIndex" ] = i ;
218222
219223 var appParamsString = JsonConvert . SerializeObject ( configuration , Formatting . Indented ) ;
220224 var appParamId = API . UploadAppParam ( appParamName , appParamsString ) ;
@@ -224,13 +228,17 @@ List<AppParam> GenerateAppParamIds(CancellationToken token)
224228 name = appParamName ,
225229 num_instances = 1
226230 } ) ;
231+
232+ EditorUtility . DisplayProgressBar ( "Unity Simulation Run" , $ "Uploading app-param-ids for instances: { i + 1 } /{ m_InstanceCountField . value } ", progressStart + progressIncrement * i ) ;
227233 }
228234
229235 return appParamIds ;
230236 }
231237
232238 async Task StartUnitySimulationRun ( Guid runGuid )
233239 {
240+ EditorUtility . DisplayProgressBar ( "Unity Simulation Run" , "Uploading build..." , 0.1f ) ;
241+
234242 m_RunButton . SetEnabled ( false ) ;
235243 var cancellationTokenSource = new CancellationTokenSource ( ) ;
236244 var token = cancellationTokenSource . Token ;
@@ -242,14 +250,18 @@ async Task StartUnitySimulationRun(Guid runGuid)
242250 cancellationTokenSource : cancellationTokenSource ) ;
243251 Debug . Log ( $ "Build upload complete: build id { buildId } ") ;
244252
245- var appParams = GenerateAppParamIds ( token ) ;
253+ var appParams = GenerateAppParamIds ( token , 0.1f , 0.9f ) ;
246254 if ( token . IsCancellationRequested )
247255 {
248256 Debug . Log ( "Run cancelled" ) ;
257+ EditorUtility . ClearProgressBar ( ) ;
249258 return ;
250259 }
260+
251261 Debug . Log ( $ "Generated app-param ids: { appParams . Count } ") ;
252262
263+ EditorUtility . DisplayProgressBar ( "Unity Simulation Run" , $ "Uploading run definition...", 0.9f ) ;
264+
253265 var runDefinitionId = API . UploadRunDefinition ( new RunDefinition
254266 {
255267 app_params = appParams . ToArray ( ) ,
@@ -259,12 +271,16 @@ async Task StartUnitySimulationRun(Guid runGuid)
259271 } ) ;
260272 Debug . Log ( $ "Run definition upload complete: run definition id { runDefinitionId } ") ;
261273
274+ EditorUtility . DisplayProgressBar ( "Unity Simulation Run" , $ "Executing run...", 0.95f ) ;
275+
262276 var run = Run . CreateFromDefinitionId ( runDefinitionId ) ;
263277 run . Execute ( ) ;
264278 cancellationTokenSource . Dispose ( ) ;
265279 Debug . Log ( $ "Executing run: { run . executionId } ") ;
266280 m_RunButton . SetEnabled ( true ) ;
267281
282+ EditorUtility . ClearProgressBar ( ) ;
283+
268284 PerceptionEditorAnalytics . ReportRunInUnitySimulationSucceeded ( runGuid , run . executionId ) ;
269285 }
270286 }
0 commit comments