#UI-GD
[Doc Unity](https://docs.unity3d.com/ru/2018.4/ScriptReference/EventSystems.PointerEventData.html)
Класс PointerEventData используется для передачи данных о событиях указателя (таких как мышь, стилус или сенсорный экран) в системе обработки событий Unity.
Мне этот класс попался:
- В интерфейс-обработчиках EventSystem. Я принимаю экземпляр класса в методе, который вызывается системой, когда происходит некое событие.
- Передается в качестве параметра в Raycast/RaycastAll
<br>
```csharp
public Vector2 position { get; set; }
```
Хранит позицию указателя (курсора) на экране в пикселях.
<br>
```csharp
public Vector2 delta { get; set; }
```
Хранит изменение позиции указателя с момента последнего обновления.
Непонятно о каком обновлении точно речь.
<br>
<br>
Самые важные члены класса `PointerEventData`:
1. `position`: Вектор2, представляющий позицию указателя (курсора) на экране в пикселях.
2. `delta`: Вектор2, представляющий изменение позиции указателя с момента последнего обновления.
3. `pressPosition`: Вектор2, представляющий позицию указателя на момент нажатия кнопки мыши или касания.
4. `clickTime`: Время последнего клика указателем (время в секундах с момента начала игры).
5. `button`: Значение перечисления `PointerEventData.InputButton`, указывающее на кнопку мыши, связанную с данным событием (Левая, Средняя или Правая кнопка).
6. `pointerId`: Уникальный идентификатор указателя. Для мыши значение равно -1, для касаний - идентификатор касания.
7. `pointerDrag`: GameObject, с которым было начато перетаскивание указателем.
8. `hovered`: Список GameObject, над которыми находится указатель.
9. `pointerCurrentRaycast`: Результат лучевого пересечения (RaycastResult), содержащий информацию о текущем объекте, с которым пересекается луч указателя.
10. `pointerPressRaycast`: Результат лучевого пересечения (RaycastResult), содержащий информацию об объекте, с которым пересекся луч указателя на момент нажатия кнопки мыши или касания.
В дополнение к этим полям, класс `PointerEventData` содержит несколько методов, которые могут быть полезны при обработке событий указателя, таких как `IsPointerMoving()`, `IsScrolling()`, и другие.