https://docs.unity3d.com/ScriptReference/Event.html В Unity класс `Event` представляет собой класс для работы с событиями, связанными с пользовательским вводом. Этот класс используется для получения информации о различных типах ввода, таких как нажатия клавиш, движение мыши, клики и другие события, происходящие в игровом окне. Класс `Event` в Unity используется только в методах [[OnGUI()]] и [[Editor.OnSceneGUI()|OnSceneGUI()]]. Вызов методов класса `Event` вне этих методов может привести к непредсказуемому поведению или ошибкам Если использовать `Event.current` в [[OnGUI()]], то события будут приходить только, если окно, в котором находится [[OnGUI()]], в фокусе. Если использовать `Event.current` в [[Editor.OnSceneGUI()|OnSceneGUI()]], то события будут приходить только, если окно сцены ([[Scene View и Game View|Scene View]]) в фокусе. `Event.current`: Не будет получать события ввода, если окно не в фокусе. Например, если `Event.current` вызывается в методе OnSceneGUI и если нет фокуса на окно сцены (Scene View), то `Event.current` перестает получать события. Для того чтобы обрабатывать клавиши глобально в редакторе, вне зависимости от фокуса, нужно прибегнуть к нативным API операционной системы или использовать обходные решения. Unity не предоставляет встроенных средств для глобального захвата клавиш на уровне всего редактора. Класс `Event` является частью [[IMGUI]] в Unity. > Класс Event ведёт себя очень странно. [[Если зажать клавишу, то Event будет возвращать true лишь раз в какое-то время]] Конспекты по теме: - [[currentEvent.isKey и currentEvent.isMouse]] - [[Проверка на удерживание клавиши через класс Event]] Пример использования `Event` в методе `OnGUI`: ```csharp void OnGUI() { Event e = Event.current; if (e.type == EventType.MouseDown) { Debug.Log("Mouse button pressed at position: " + e.mousePosition); } } ``` Пример использования `Event` в методе `OnSceneGUI`: ```csharp void OnSceneGUI() { Event e = Event.current; if (e.type == EventType.KeyDown && e.keyCode == KeyCode.Space) { Debug.Log("Space key pressed"); } } ``` Эти методы гарантируют, что вы работаете с актуальным событием, что важно для правильного функционирования пользовательского интерфейса и интерактивности в редакторе Unity.