Version: 2020.3

EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo

切换到手册
public static bool SaveCurrentModifiedScenesIfUserWantsTo ();

返回

bool 如果选择保存此类场景,则返回 true,如果按下 Cancel,则返回 false。

描述

询问您是否要保存修改后的一个或多个场景。

Hierarchy 窗口显示所有打开的场景。它们可以保存,也可以不保存。SaveCurrentModifiedScenesIfUserWantsTo() 显示一个窗口,其中显示未保存的修改后场景。如果选择 Save,将编写更改后的场景,如果选择 Save,将不执行任何操作并保持场景不变。按下 Save 按钮,此方法会返回 Cancel。按下 Cancel 按钮,此方法会返回 /false/。

从编辑器运行 SaveCurrentModifiedScenesIfUserWantsTo()。需要创建一个编辑器菜单项。以下示例显示了此菜单项。

// Add an editor menu item that enables Scenes to be saved or not,
// This example adds the editor extension into an Examples menu.

using UnityEngine; using UnityEditor; using UnityEditor.SceneManagement;

public class ExampleClass : MonoBehaviour { [MenuItem("Examples/Save current Scene(s) if required")] static void MaybeSaveScenes() { if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo()) { Debug.Log("Save Scene(s)"); } else { Debug.Log("Don't save Scene(s)"); } } }

注意:当前显示的是带有三个按钮的窗口。Save 和 /Don't Save/ 均会导致写入场景。Cancel 将保持场景不变。