就像标题说的那样,我想创建一个自定义的 EditorWindow,它会像 EditorUtility.DisplayDialog 一样阻止 Unity 编辑器。我知道如何创建一个 EditorWindow,但我不知道该怎么做,是如何阻止编辑器,直到用户按下我的自定义 EditorWindow 中的按钮或窗口关闭。
如果有人对如何解决这个问题有任何想法,我将非常感谢您的帮助。谢谢。
就像标题说的那样,我想创建一个自定义的 EditorWindow,它会像 EditorUtility.DisplayDialog 一样阻止 Unity 编辑器。我知道如何创建一个 EditorWindow,但我不知道该怎么做,是如何阻止编辑器,直到用户按下我的自定义 EditorWindow 中的按钮或窗口关闭。
如果有人对如何解决这个问题有任何想法,我将非常感谢您的帮助。谢谢。
目前 afaik 似乎没有办法用自定义存档EditorWindow
。
你能够可以用于ShowModalUtility
此(在 中介绍2019.1
)。
只需在您通常会做的行中,例如
yourWindow.Show();
通过使用来替换它
yourWindow.ShowModalUtility();
将 EditorWindow 显示为浮动模式窗口。
实用程序窗口不允许在运行时与编辑器交互。这意味着
EditorWindow.ShowModalUtility
Unity 编辑器永远不会隐藏该窗口。但是,它不能停靠给编辑器。实用程序窗口将始终位于普通 Unity 窗口的前面。当用户从 Unity 切换到另一个应用程序时,它将被隐藏。
EditorWindow.GetWindow
注意:在使用此功能显示窗口之前,您不需要使用。
但刚刚注意到:通常这应该可以解决问题,但不幸的是,自 Unity 2019.1 处于alpha状态以来似乎仍然存在一个错误......显然直到现在它才修复......
正如您在链接的错误报告中看到的那样,他们说它的优先级太低,并将可能的修复推送到Unity 2019.3
.. 目前仍处于alpha状态.. 所以......谁知道这是否以及何时真正修复
有趣的小事实:在链接的示例代码中,Unity 有错误并使用它ShowUtility
代替ShowModalUtility