reckfellENGINE

InputEventMouseButton

Событие кнопки мыши или шага колеса.

На этой странице
class InputEventMouseButtonReckfellSharpНаследует InputEventMouse

Проверяйте ButtonIndex и тип перехода: нажатие, отпускание или отмена. DoubleClick — отдельный маркер; он не заменяет проверку Pressed. Программное создание события не нажимает физическую кнопку.

Полный пример распознаёт двойное нажатие левой кнопки, исключая отпускание и отмену. Второй метод показывает отдельную фильтрацию устройства геймпада. Передавайте событие из своего обработчика ввода; статический helper не прикрепляется к Entity.

C#
using Reckfell;

public static class ButtonEventExample
{
    public static bool IsDoubleLeftPress(InputEvent inputEvent)
    {
        return inputEvent is InputEventMouseButton button
            && button.ButtonIndex == MouseButton.Left
            && button.Pressed && button.DoubleClick && !button.Canceled;
    }

    public static bool IsSelectedPadPress(InputEvent inputEvent, int device, JoyButton index)
    {
        return inputEvent is InputEventJoypadButton button
            && button.Device == device && button.ButtonIndex == index && button.Pressed;
    }
}

Для колеса используются направления MouseButton.WheelUp, WheelDown, WheelLeft и WheelRight. Factor хранит величину прокрутки, но не обещает одинаковых аппаратных единиц на всех устройствах.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

InputEventMouseButtonКонструктор
# InputEventMouseButton
C#
public InputEventMouseButton();

Создаёт событие без отправки во ввод: ButtonIndex = MouseButton.None, Factor = 1, Pressed, DoubleClick и Canceled равны false. Position, GlobalPosition и ButtonMask унаследованы от InputEventMouse.

Свойства5

ButtonIndexСвойство
# ButtonIndex
C#
public MouseButton ButtonIndex { get; set; }

Кнопка или направление колеса MouseButton для этого события. Это один индекс, а не битовая маска одновременно удерживаемых кнопок: для неё используется ButtonMask.

CanceledСвойство
# Canceled
C#
public bool Canceled { get; set; }

Флаг отмены. При true IsPressed() и IsReleased() возвращают false. Сеттер не стирает сохранённый признак нажатия: снятие Canceled может снова сделать Pressed равным true.

DoubleClickСвойство
# DoubleClick
C#
public bool DoubleClick { get; set; }

Маркер двойного щелчка в этом событии. Не вычисляет интервал между событиями и сам по себе не означает нажатие: проверяйте также Pressed, ButtonIndex и Canceled.

FactorСвойство
# Factor
C#
public float Factor { get; set; }

Величина прокрутки для события колеса; обычно 1 для обычного шага. Сеттер хранит число без ограничения 0..1; 2.5 остаётся 2.5. Единицы и точность данных зависят от платформы и устройства. Factor не меняет ButtonIndex и не является силой GetActionStrength.

PressedСвойство
# Pressed
C#
public bool Pressed { get; set; }

Состояние нажатия события. Getter учитывает Canceled: при отмене возвращает false, даже если ранее было задано true. Не считайте !Pressed достаточной проверкой обычного отпускания; сначала проверьте Canceled.

Методы8

GetButtonIndexMouseButton
# GetButtonIndex
C#
public MouseButton GetButtonIndex();

Возвращает ButtonIndex без отправки события и без нового опроса мыши.

Возвращает MouseButton

Индекс кнопки или направления колеса MouseButton.

GetFactorfloat
# GetFactor
C#
public float GetFactor();

Возвращает Factor без отправки события и без нового опроса мыши.

Возвращает float

Сохранённая величина Factor.

IsDoubleClickbool
# IsDoubleClick
C#
public bool IsDoubleClick();

Возвращает DoubleClick без отправки события и без нового опроса мыши.

Возвращает bool

Маркер DoubleClick, независимый от проверки нажатия.

SetButtonIndexvoid
# SetButtonIndex
C#
public void SetButtonIndex(MouseButton buttonIndex);

Устанавливает ButtonIndex по правилам свойства. Меняет только данные события, не состояние устройства.

Параметры
ИмяТипПо умолчанию
buttonIndexMouseButton—
buttonIndex

Новое значение ButtonIndex; ограничения описаны у свойства.

SetCanceledvoid
# SetCanceled
C#
public void SetCanceled(bool canceled);

Устанавливает Canceled по правилам свойства. Меняет только данные события, не состояние устройства.

Параметры
ИмяТипПо умолчанию
canceledbool—
canceled

Новое значение Canceled; ограничения описаны у свойства.

SetDoubleClickvoid
# SetDoubleClick
C#
public void SetDoubleClick(bool doubleClick);

Устанавливает DoubleClick по правилам свойства. Меняет только данные события, не состояние устройства.

Параметры
ИмяТипПо умолчанию
doubleClickbool—
doubleClick

Новое значение DoubleClick; ограничения описаны у свойства.

SetFactorvoid
# SetFactor
C#
public void SetFactor(float factor);

Устанавливает Factor по правилам свойства. Меняет только данные события, не состояние устройства.

Параметры
ИмяТипПо умолчанию
factorfloat—
factor

Новое значение Factor; ограничения описаны у свойства.

SetPressedvoid
# SetPressed
C#
public void SetPressed(bool pressed);

Устанавливает Pressed по правилам свойства. Меняет только данные события, не состояние устройства.

Параметры
ИмяТипПо умолчанию
pressedbool—
pressed

Новое значение Pressed; ограничения описаны у свойства.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.