EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo
Declaration
public static bool SaveCurrentModifiedScenesIfUserWantsTo();Возвращаемое значение
логическое Возвращает true, если пользователь нажал Сохранить или Не сохранять, чтобы указать, что можно закрыть открытые сцены после закрытия диалога. Возвращает false, если пользователь нажал Отмена для прекращения.
Описание
Задаёт вопрос пользователю, желает ли он сохранить текущий открытый измененный Scene или Сцены в Hierarchy.
Метод SaveCurrentModifiedScenesIfUserWantsTo() показывает диалог с перечнем измененных Сцен.
Этот метод предназначен для использования при закрытии сцен. Он открывает диалоговое окно с вопросом пользователя о том, что он хочет сделать, чтобы не потерять несохраненные изменения сцены, которые он хочет сохранить.
Диалоговое окно имеет три варианта: Сохранить, Не сохранятьи Отменить.
Если пользователь выбирает Сохранить, Редактор сохраняет измененные Сцены. Если пользователь выбирает Не сохранять, Редактор ничего не делает. Однако Сохранить и _Don't Save__ указывают, что пользователь согласен продолжить текущую операцию (закрытие Сцен). Поэтому оба эти варианта возвращают true, чтобы указать, что операция может продолжаться.
Если пользователь выбирает Отменить, это означает, что пользователь хочет отменить операцию, которая вызвала появление этого диалога (i.e. пользователь не хочет закрывать Сцены). Эта опция заставляет метод возвращать 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)"); } } }