void OnStart(StartMode startMode, BuildConfigurationViewModel buildConfiguration) { switch (startMode) { case StartMode.Build: case StartMode.BuildAndRun: m_View.SetEnableBuildingState(true); EditorApplication.delayCall += () => { var buildResult = buildConfiguration.Asset.Build(); buildResult.LogResult(); m_View.OnBuildFinished(buildConfiguration, buildResult.Succeeded); m_View.SetEnableBuildingState(false); if (startMode == StartMode.Build && buildResult.Succeeded) { OnRevealBuildInFinder(buildConfiguration); } else if (startMode == StartMode.BuildAndRun) { RunAndCloseWindowIfSuccessful(buildConfiguration); } }; break; case StartMode.RunLatestBuild: RunAndCloseWindowIfSuccessful(buildConfiguration); break; } }
void RunAndCloseWindowIfSuccessful(BuildConfigurationViewModel buildConfiguration) { var r = buildConfiguration.Asset.Run(); r.LogResult(); if (r.Succeeded) { Close(); } }
void ShowNewBuildNameInput() { m_AddNewButton.Hide(); m_NewBuildName.Show(); m_NewBuildNameTextField.Focus(); m_NewBuildNameTextField.Q("unity-text-input").Focus(); m_LastSelectedConfiguration = m_SelectedConfiguration; m_ConfigurationsListView.selectedIndex = -1; }
void OnConfigurationListViewSelectionChange(IEnumerable <object> obj) { if (m_DiscardSelectionChanged) { return; } m_SelectedConfiguration = (BuildConfigurationViewModel)obj.FirstOrDefault(); m_StartModeDropdown.index = m_SelectedConfiguration != null?sStartModes.IndexOf(m_SelectedConfiguration.SelectedStartMode) : 0; UpdateActionButtonsState(); }
void HideNewConfigurationForm(bool resetPreviousSelectedConfiguration) { m_AddNewButton.Show(); m_NewBuildName.Hide(); m_NewBuildNameTextField.value = string.Empty; if (resetPreviousSelectedConfiguration && m_LastSelectedConfiguration != null) { m_ConfigurationsListView.selectedIndex = m_BuildConfigurationViewModels.IndexOf(m_LastSelectedConfiguration); } m_LastSelectedConfiguration = null; }
public void OnBuildFinished(BuildConfigurationViewModel buildConfigurationViewModel, bool isSuccessful) { if (!isSuccessful) { m_FooterMessage.Q <Label>().text = $"Build failed for {buildConfigurationViewModel.Name}, see Console for details"; m_FooterMessage.Show(); } else { m_FooterMessage.Hide(); } if (buildConfigurationViewModel == m_SelectedConfiguration) { UpdateActionButtonsState(); } }
/// <summary> /// Opens the specified configuration. /// </summary> /// <param name="configuration">The configuration.</param> public void Open(BuildConfigurationViewModel configuration) { this._open(configuration); }
/// <summary> /// Removes the specified configuration. /// </summary> /// <param name="configuration">The configuration.</param> public void Remove(BuildConfigurationViewModel configuration) { this._remove(configuration); }
void OnEditBuildConfiguration(BuildConfigurationViewModel buildConfiguration) { Selection.activeObject = buildConfiguration.Asset; EditorGUIUtility.PingObject(buildConfiguration.Asset); }
void OnRevealBuildInFinder(BuildConfigurationViewModel buildConfiguration) => EditorUtility.RevealInFinder(buildConfiguration.OutputBuildDirectory);