Version: 2020.3

EventDispatcherGate

struct in UnityEngine.UIElements

切换到手册

描述

门用于控制调度程序处理事件的时间。

以下是一个使用门的示例:

public class MyElement : VisualElement
{
    void Foo()
    {
        using (new EventDispatcherGate(dispatcher))
        {
            // do something that sends events
        }
    }
}

当门被实例化时,它会自动关闭,使调度程序将其收到的事件存储在队列中。在 using 块的结尾,将调用 Dispose,进而触发门的打开。当调度程序上的所有门都打开时,将处理存储在队列中的事件。处理事件队列时关闭门并不会阻止处理过程。而是会创建一个新队列来存储新事件。

构造函数

EventDispatcherGate构造函数。

公共函数

DisposeIDisposable.Dispose 实现。打开门。如果所有门都打开,将处理队列中的事件。