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(); }