コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Pointer.cs プロジェクト: 24BitGames/InputSystem
        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);
        }