Version: 2022.3
public static void ExitGUI ();

描述

通过抛出 ExitGUIException 来将 GUI 置于这样一种状态:阻止所有后续即时模式 GUI 函数计算 GUI 循环的其余部分。

在 Unity 的即时模式 GUI 系统中,GUI 循环以下述方式运行:在 Event 序列期间调用 GUI 方法,这些方法则根据 Event.type 执行操作。例如,在使用 GUILayout 时,控件将首先收到 EventType.Layout 事件以确定它们需要多少空间,然后收到 EventType.Repaint 事件以实际绘制到分配给它们的空间。

在该序列中,预期以与在 GUI 循环期间处理的每个 Event 相同的顺序请求和使用控件 ID,并且事件循环不重入自身。在可能违反上述假设的情况(例如,某个值的更改可能会更改下一个要显示的控件)下,可以使用 GUIUtility.ExitGUI。使用该方法可以防止出现类似 ArgumentException: Getting control 0's position in a group with only 0 controls when doing Repaint 这样的错误。

另请参阅:GetControlID