void UpdateBuildProcess() { m_BuildProcess.FrameUpdate(); if (m_BuildProcess.IsFinished) { m_BuildProcess.Builder.progressFeedback -= DisplayProgressBar; EditorApplication.update -= UpdateBuildProcess; m_BuildProcess.Dispose(); m_BuildProcess = null; HideProgressBar(); DisplayCancelBuildButton(false); SetAssetEditingEnabled(true); } }
/// <summary> /// Builds the binary for this asset /// </summary> public void BuildSync() { EditorUtility.DisplayProgressBar($"Building Kinematica Asset {name}.asset", "", 0.0f); using (BuildProcess buildProcess = BuildAsync()) { BuildStarted?.Invoke(); buildProcess.Builder.progressFeedback += progressInfo => EditorUtility.DisplayProgressBar($"Building Kinematica Asset {name}.asset", progressInfo.title, progressInfo.progress); while (!buildProcess.IsFinished) { buildProcess.FrameUpdate(); } BuildStopped?.Invoke(); } EditorUtility.ClearProgressBar(); }