コード例 #1
0
        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;
            }
        }
コード例 #2
0
        void RunAndCloseWindowIfSuccessful(BuildConfigurationViewModel buildConfiguration)
        {
            var r = buildConfiguration.Asset.Run();

            r.LogResult();
            if (r.Succeeded)
            {
                Close();
            }
        }
コード例 #3
0
            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;
            }
コード例 #4
0
            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();
            }
コード例 #5
0
            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;
            }
コード例 #6
0
            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();
                }
            }
コード例 #7
0
 /// <summary>
 /// Opens the specified configuration.
 /// </summary>
 /// <param name="configuration">The configuration.</param>
 public void Open(BuildConfigurationViewModel configuration)
 {
     this._open(configuration);
 }
コード例 #8
0
 /// <summary>
 /// Removes the specified configuration.
 /// </summary>
 /// <param name="configuration">The configuration.</param>
 public void Remove(BuildConfigurationViewModel configuration)
 {
     this._remove(configuration);
 }
コード例 #9
0
 void OnEditBuildConfiguration(BuildConfigurationViewModel buildConfiguration)
 {
     Selection.activeObject = buildConfiguration.Asset;
     EditorGUIUtility.PingObject(buildConfiguration.Asset);
 }
コード例 #10
0
 void OnRevealBuildInFinder(BuildConfigurationViewModel buildConfiguration)
 => EditorUtility.RevealInFinder(buildConfiguration.OutputBuildDirectory);