在 Unity 编辑器中,打开子窗口时通常不会关闭父窗口,但可以禁用父窗口以防止用户在其上执行任何操作。

为了禁用父窗口,可以使用 EditorWindowisEnabled 属性。以下是一个示例代码:

public class MyWindow : EditorWindow
{
    private bool showChildWindow = false;
    private ChildWindow childWindow;

    private void OnGUI()
    {
        if (showChildWindow)
        {
            // 禁用父窗口
            isEnabled = false;

            // 显示子窗口
            childWindow.Show();
        }
        else
        {
            // 启用父窗口
            isEnabled = true;

            // 显示父窗口的 GUI
            // ...
        }
    }
}

在这个示例中,当 showChildWindow 变量为 true 时,将禁用父窗口并显示子窗口。当 showChildWindow 变量为 false 时,将启用父窗口并显示父窗口的 GUI。

请注意,在子窗口关闭时,应该重新启用父窗口:

private void OnDisable()
{
    // 启用父窗口
    isEnabled = true;
}

这样可以确保用户在关闭子窗口后可以继续使用父窗口。

Unity 编辑器:禁用父窗口并打开子窗口

原文地址: https://www.cveoy.top/t/topic/lLbI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录