文档说该方法会EditorWindow.Show
打开一个 EditorWindow。精彩的。我创建了两个类:
首先
public class WindowOne : EditorWindow {
public static WindowOne windowOneInstance;
[MenuItem("Window/Open Window One")]
public static void Init() {
windowOneInstance = GetWindow<WindowOne>(false, "Window One", true);
}
}
第二
public class WindowTwo : EditorWindow {
public static WindowTwo windowTwoInstance;
public static WindowOne windowOneInstance;
[MenuItem("Window/Open Window Two")]
public static void Init() {
windowTwoInstance = GetWindow<WindowTwo>(false, "Window Two", true);
windowOneInstance = WindowOne.windowOneInstance;
}
public void OnGUI() {
if (GUI.Button(new Rect(0, 0, 200, 50), new GUIContent("show window one"))) {
windowOneInstance.Show();
}
}
}
这很简单:在菜单中我点击Open Window One
,然后Open Window Two
打开两个窗口,然后关闭其中一个(窗口一):
现在,如果在第二个窗口中单击“显示一个窗口”按钮,则不会出现第一个窗口。更准确地说,出现了某种单像素点,它既不能增加大小,也不能移动,也不能做其他事情。
如果我改写- 然后显示窗口,GetWindow(typeof (WindowOne));
但.Show()
我不确定这是否是开始时的同一个窗口,因为instanceID
这个窗口将与原来的窗口不同。
实际上,为什么该方法Show
如此奇怪?我究竟做错了什么?我需要做什么来显示之前关闭(暂时隐藏)的同一个窗口实例?
统一版本- 5.6.0p4
如果窗口关闭,则无法再显示,链接变为null。显示它的像素是正在创建的空白,如果将其拉到左上角(我不确定是否在罂粟花上),则可以拉伸它,窗口将被标记为“加载失败”。包括EditorWindow是一个ScriptableObject。这就是Show函数的作用:
好吧,显然当它关闭时,它将 EditorWindow 窗口的大小设置为最小。当你再次打开它时,你会得到一个最小尺寸的空窗口(在操作系统允许的范围内)。
输出:使用 EditorWindow 作为显示空白,并从您的静态脚本中获取数据和操作。