public void Update() { // Refresh the Editor GUI to finish the task. UnityEditor.EditorUtility.SetDirty(capture_notification_component_); if (bake_stage_ == BakeStage.kRunning) { if (!monitored_runner_.IsProcessRunning() && runner_status_.TaskContinuing()) { bake_stage_ = BakeStage.kWaitForDoneButton; } if (runner_status_ != null && !runner_status_.TaskContinuing()) { bake_stage_ = BakeStage.kComplete; if (monitored_runner_ != null) { monitored_runner_.InterruptProcess(); monitored_runner_ = null; } } } // Repaint with updated progress the GUI on each wall-clock time tick. Repaint(); }
public void OnGUI() { // Reserve layout space for the progress bar, equal to the space for a // textfield: Rect progress_rect = GUILayoutUtility.GetRect(18, 18, "TextField"); EditorGUI.ProgressBar(progress_rect, progress_complete_, progress_message_); EditorGUILayout.Space(); if (bake_stage_ != BakeStage.kWaitForDoneButton) { if (GUILayout.Button("Cancel")) { if (runner_status_ != null) { runner_status_.CancelTask(); } } } if (bake_stage_ == BakeStage.kWaitForDoneButton) { if (GUILayout.Button("Done")) { bake_stage_ = BakeStage.kComplete; } } }
public void SetupRunnerProcess(CaptureHeadbox capture_notification_component, SeuratPipelineRunner runner) { bake_stage_ = BakeStage.kRunning; capture_notification_component_ = capture_notification_component; monitored_runner_ = runner; monitored_runner_.Run(); }
public void SetupRunnerProcess(SeuratAutomator capture_notification_component, SeuratPipelineCollectionRunner runner) { bake_stage_ = BakeStage.kRunning; capture_notification_component_ = capture_notification_component; monitored_runner_ = runner; monitored_runner_.Run(); }
public void SetupCaptureProcess(CaptureHeadbox capture_notification_component, CaptureBuilder capture) { capture_timer_ = kTimerExpirationsPerCapture; bake_stage_ = BakeStage.kCapture; last_time_ = Time.realtimeSinceStartup; capture_notification_component_ = capture_notification_component; monitored_capture_ = capture; }
public void Update() { if (capture_status_ != null && capture_status_.TaskContinuing() && !UpdateAndCheckUiTimerReady()) { return; } // Refresh the Editor GUI to finish the task. UnityEditor.EditorUtility.SetDirty(capture_notification_component_); if (bake_stage_ == BakeStage.kCapture) { --capture_timer_; if (capture_timer_ == 0) { capture_timer_ = kTimerExpirationsPerCapture; monitored_capture_.RunCapture(); if (monitored_capture_.IsCaptureComplete() && capture_status_.TaskContinuing()) { monitored_capture_.EndCapture(); monitored_capture_ = null; bake_stage_ = BakeStage.kWaitForDoneButton; } } if (capture_status_ != null && !capture_status_.TaskContinuing()) { bake_stage_ = BakeStage.kComplete; if (monitored_capture_ != null) { monitored_capture_.EndCapture(); monitored_capture_ = null; } } } // Repaint with updated progress the GUI on each wall-clock time tick. Repaint(); }