Unity3d 检测GUI窗口的统一关闭
有没有办法检测GUI窗口何时关闭?我正在构建一个编辑器工具,我需要在窗口关闭后执行一些操作。理想情况下,如果有一个回调或事件通知我,那么这将是完美的。我找了很多,但什么也没找到。也可能是我使用了错误的关键字进行搜索。有什么解决办法吗?非常感谢您的帮助。谢谢 可以找到完整的源代码和原始帖子: 您可以尝试使用布尔属性来模拟窗口关闭/打开效果,只要调用setter,就会调用一些函数OnWindowClosed(): 在Mac OSX上测试:Unity3d 检测GUI窗口的统一关闭,unity3d,Unity3d,有没有办法检测GUI窗口何时关闭?我正在构建一个编辑器工具,我需要在窗口关闭后执行一些操作。理想情况下,如果有一个回调或事件通知我,那么这将是完美的。我找了很多,但什么也没找到。也可能是我使用了错误的关键字进行搜索。有什么解决办法吗?非常感谢您的帮助。谢谢 可以找到完整的源代码和原始帖子: 您可以尝试使用布尔属性来模拟窗口关闭/打开效果,只要调用setter,就会调用一些函数OnWindowClosed(): 在Mac OSX上测试: 可以找到完整的源代码和原始帖子: 您可以尝试使用布尔属性来
可以找到完整的源代码和原始帖子: 您可以尝试使用布尔属性来模拟窗口关闭/打开效果,只要调用setter,就会调用一些函数OnWindowClosed(): 在Mac OSX上测试:
嗨,这个解决方案看起来很棒。但在本例中,您创建了一个自定义按钮。但是你知道我如何将它链接到编辑器窗口右上角的传统(x)按钮吗。我正在为艺术家开发这个工具。所以我想让它尽可能简单。否则,我将不得不创建一个自定义按钮并使用它来关闭。实际上,我找到了一个EditorWindow.OnDestory(),而我在昨天的整个过程中都无法找到它。但我真的很喜欢你的解决方案——一种有趣的方式。谢谢嗨,这个解决方案看起来很棒。但在本例中,您创建了一个自定义按钮。但是你知道我如何将它链接到编辑器窗口右上角的传统(x)按钮吗。我正在为艺术家开发这个工具。所以我想让它尽可能简单。否则,我将不得不创建一个自定义按钮并使用它来关闭。实际上,我找到了一个EditorWindow.OnDestory(),而我在昨天的整个过程中都无法找到它。但我真的很喜欢你的解决方案——一种有趣的方式。谢谢
bool _bWindowActive;
public bool bWindowActive {
get { return _bWindowActive;}
set {
_bWindowActive = value;
if (!bWindowActive) {
//This is called everytime, when bWindowActive = false;
OnWindowClosed ();
}
}
}
public void OnWindowClosed ()
{
Debug.Log ("Windows Closed");
}
public void OnGUI() {
if (GUI.Button (new Rect (10, 20, 100, 20), "Show Window"))
bWindowActive = true;
if (GUI.Button (new Rect (10,60,100,20), "Close Window"))
bWindowActive = false;
if (bWindowActive) {
GUI.Window (0, new Rect(200, 10, 200, 200), DoMyWindow, "My Window");
}
}
public void DoMyWindow(int windowID) {
if (GUI.Button (new Rect (10,20,100,20), "Hello World"))
print ("Got a click");
}