bool 如果用户单击 **保存** 或 **不保存** 以指示在对话框关闭后可以关闭打开的场景,则返回 true。如果用户单击 **取消** 来中止,则返回 false。
询问用户是否要保存层次结构中当前打开的已修改场景或多个场景。
SaveCurrentModifiedScenesIfUserWantsTo() 显示一个对话框,列出已被修改的场景。
该方法旨在在关闭场景时使用。它会打开一个对话框,询问用户想做什么,以确保他们不丢失想要保留的那些未保存的场景更改。
该对话框有三个选项:**保存**、**不保存**和**取消**。
如果用户选择 **保存**,编辑器将保存被修改的场景。如果用户选择 **不保存**,编辑器将不做任何事。但是,**保存** 和 **不保存** 都表示用户可以继续当前操作(关闭场景)。因此,这两个选项都会返回 true 以表示操作可以继续。
如果用户选择 **取消**,则表示用户想要取消导致该对话框出现的操作(即用户不想关闭场景)。此选项会导致该方法返回 false。
// 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("Continue... (Save or Don't Save was clicked)"); } else { Debug.Log("Abort... (Cancel was clicked)"); } } }