public static unsafe bool HasValueChangeInEvent(this InputControl control, InputEventPtr eventPtr) { if (control == null) { throw new ArgumentNullException(nameof(control)); } if (!eventPtr.valid) { throw new ArgumentNullException(nameof(eventPtr)); } return(control.CompareValue(control.currentStatePtr, control.GetStatePtrFromStateEvent(eventPtr))); }
public static unsafe void WriteValueFromObjectIntoEvent(this InputControl control, InputEventPtr eventPtr, object value) { if (control == null) { throw new ArgumentNullException(nameof(control)); } var statePtr = control.GetStatePtrFromStateEvent(eventPtr); if (statePtr == null) { return; } control.WriteValueFromObjectIntoState(value, statePtr); }
public static unsafe bool ReadUnprocessedValueFromEvent <TValue>(this InputControl <TValue> control, InputEventPtr inputEvent, out TValue value) where TValue : struct { if (control == null) { throw new ArgumentNullException(nameof(control)); } var statePtr = control.GetStatePtrFromStateEvent(inputEvent); if (statePtr == null) { value = control.ReadDefaultValue(); return(false); } value = control.ReadUnprocessedValueFromState(statePtr); return(true); }
public static unsafe void WriteValueIntoEvent <TValue>(this InputControl <TValue> control, TValue value, InputEventPtr eventPtr) where TValue : struct { if (control == null) { throw new ArgumentNullException(nameof(control)); } if (!eventPtr.valid) { throw new ArgumentNullException(nameof(eventPtr)); } var statePtr = control.GetStatePtrFromStateEvent(eventPtr); if (statePtr == null) { return; } control.WriteValueIntoState(value, statePtr); }