EventDispatcherGate
Gates control when the dispatcher processes events.
Read time 1 minuteLast updated 10 days ago
Definition
- Type: Struct
- Namespace: UnityEngine.UIElements
- Assembly: UnityEngine.UIElementsModule
- Implements: IDisposable, IEquatable<EventDispatcherGate>
public struct EventDispatcherGate : IDisposable, IEquatable<EventDispatcherGate>
Remarks
Here is an example of using a gate:
When the gate is instantiated, it closes automatically, causing the dispatcher to store the events it receives in a queue. At the end of the block, EventDispatcherGate.Dispose is called, which triggers opening the gate. When all gates on a dispatcher open, the events stored in the queue are processed. Closing a gate while the event queue is processed does not stop it from being processed. Instead, a new queue is created to store new events.
usingHere is an example of using a gate:
Examples
public class MyElement : VisualElement{ void Foo() { using (new EventDispatcherGate(dispatcher)) { // do something that sends events } }}
Constructors
Constructor | Description |
|---|---|
| EventDispatcherGate(UnityEngine.UIElements.EventDispatcher) | Constructor. |
Methods
Method | Description |
|---|---|
| Dispose | Implementation of IDisposable.Dispose. Opens the gate. If all gates are open, events in the queue are processed. |