版本:Unity 6(6000.0)
语言英语
  • C#

EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo

建议更改

成功!

感谢你帮助我们提升 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读我们用户提出的每项建议的更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,未能提交你的建议的更改。请在几分钟后<a>重试</a>。感谢你花时间来帮助我们提升 Unity 文档的质量。

关闭

取消

声明

public static bool SaveCurrentModifiedScenesIfUserWantsTo();

返回

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)"); } } }