gpt4 book ai didi

c# - Unity EditorWindow - 在更改场景时保存弹出窗口

转载 作者:行者123 更新时间:2023-11-30 21:30:22 37 4
gpt4 key购买 nike

所以我在我的 EditorWindow 中做了一种场景管理,我想知道当您尝试以正常方式更改当前未保存的场景时,是否有任何方法可以提供相同的弹出窗口?

enter image description here

if(GUILayout.Button("Main Menu"))
{
EditorSceneManager.OpenScene("Assets/_Scenes/00MainMenu.unity");
}

if(GUILayout.Button("Level01"))
{
EditorSceneManager.OpenScene("Assets/_Scenes/01Level.unity");
}

最佳答案

对于所有当前打开的场景,您可以使用例如EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo喜欢

if(GUILayout.Button("Main Menu"))
{
if(EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
{
// user said yes -> scene was saved
EditorSceneManager.OpenScene("Assets/_Scenes/00MainMenu.unity");
}
else
{
// user said no -> evtl. abort or do nothing?
}
}

if(GUILayout.Button("Level01"))
{
if(EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
{
// user said yes -> scene was saved
EditorSceneManager.OpenScene("Assets/_Scenes/01Level.unity");
}
else
{
// user said no -> evtl. abort or do nothing?
}
}

不过注意Unity的小提示^^

Note: Currently a window with three buttons is shown. Save and /Don't Save/ both cause the Scene(s) to be written. Cancel leaves the Scene(s) untouched.


或者你也可以使用 EditorSceneManager.SaveModifiedScenesIfUserWantsTo为了将保存限制在特定的场景数组中。

关于c# - Unity EditorWindow - 在更改场景时保存弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54523361/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com