Struct InputResource

Struct Documentation

struct InputResource

Ресурс для управления состоянием ввода

Хранит состояния всех клавиш, кнопок мыши и информацию о движении мыши

Public Functions

inline void disableAllKey()

Скролл мыши по вертикали

Сбрасывает все состояния ввода в пассивное состояние

inline CodeState getKeyState(KeyCode keycode)

Получает состояние указанной клавиши

Параметры:

keycode – Код клавиши для проверки

Результат:

Текущее состояние клавиши

inline CodeState getMouseState(MouseCode mousecode)

Получает состояние указанной кнопки мыши

Параметры:

mousecode – Код кнопки мыши для проверки

Результат:

Текущее состояние кнопки мыши

inline void updateKeyStates()

Обновляет состояния клавиш и кнопок мыши

Преобразует состояния DOWN->HELD и UP->PASSIVE

inline void resetStuckKeys()

Исправляет «залипшие» клавиши

Иногда события отпускания могут не приходить поэтому данный метод проверяет состояния HELD клавиш и сбрасывает их, если физическая клавиша больше не нажата

inline void disableKey(KeyCode key)

Отключает указанную клавишу (переводит в состояние UP)

Параметры:

key – Код клавиши для отключения

inline void enableKey(KeyCode key)

Включает указанную клавишу (переводит в состояние DOWN)

Параметры:

key – Код клавиши для включения

inline void disableMouseKey(MouseCode key)

Отключает указанную кнопку мыши (переводит в состояние UP)

Параметры:

key – Код кнопки мыши для отключения

inline void enableMouseKey(MouseCode key)

Включает указанную кнопку мыши (переводит в состояние DOWN)

Параметры:

key – Код кнопки мыши для включения

inline double getMouseDeltaX() const

Вычисляет смещение мыши по X с предыдущего кадра

Результат:

Разница между текущей и предыдущей позицией мыши по X

inline double getMouseDeltaY() const

Вычисляет смещение мыши по Y с предыдущего кадра

Результат:

Разница между текущей и предыдущей позицией мыши по Y

Public Members

CodeState keys[static_cast<int>(KeyCode::COUNT)]
CodeState mouseKeys[static_cast<int>(MouseCode::COUNT)]

Состояния клавиш клавиатуры

double mouseX = 0.0

Состояния кнопок мыши

double mouseY = 0.0

Текущая позиция мыши по X.

double mouseXPrevious = 0.0

Текущая позиция мыши по Y.

double mouseYPrevious = 0.0

Позиция мыши по X в предыдущем кадре

double mouseScrollX = 0.0

Позиция мыши по Y в предыдущем кадре

double mouseScrollY = 0.0

Скролл мыши по горизонтали