public static TValue ReadUnprocessedValueFromEvent <TValue>(this InputControl <TValue> control, InputEventPtr eventPtr) where TValue : struct { if (control == null) { throw new ArgumentNullException(nameof(control)); } var result = default(TValue); control.ReadUnprocessedValueFromEvent(eventPtr, out result); return(result); }
protected static unsafe void Accumulate(InputControl <float> control, void *oldStatePtr, InputEventPtr newState) { if (control == null) { throw new ArgumentNullException(nameof(control)); } if (!control.ReadUnprocessedValueFromEvent(newState, out var newDelta)) { return; // Value for the control not contained in the given event. } var oldDelta = control.ReadUnprocessedValueFromState(oldStatePtr); control.WriteValueIntoEvent(oldDelta + newDelta, newState); }