/// <inheritdoc /> public override Vector2 ReadValue(ref InputBindingCompositeContext context) { var mode = this.mode; if (mode == Mode.Analog) { var upValue = context.ReadValue <float>(up); var downValue = context.ReadValue <float>(down); var leftValue = context.ReadValue <float>(left); var rightValue = context.ReadValue <float>(right); return(DpadControl.MakeDpadVector(upValue, downValue, leftValue, rightValue)); } var upIsPressed = context.ReadValueAsButton(up); var downIsPressed = context.ReadValueAsButton(down); var leftIsPressed = context.ReadValueAsButton(left); var rightIsPressed = context.ReadValueAsButton(right); // Legacy. We need to reference the obsolete member here so temporarily // turn of the warning. #pragma warning disable CS0618 if (!normalize) // Was on by default. { mode = Mode.Digital; } #pragma warning restore CS0618 return(DpadControl.MakeDpadVector(upIsPressed, downIsPressed, leftIsPressed, rightIsPressed, mode == Mode.DigitalNormalized)); }
protected override void FinishSetup() { LeftAxis = GetChildControl <StickControl> ("Left Joystick"); RightAxis = GetChildControl <StickControl> ("Right Joystick"); Dpad = GetChildControl <DpadControl> ("D-Pad"); base.FinishSetup(); }
public unsafe void ReadValue(ref InputBindingCompositeContext context, void *buffer, int bufferSize) { if (buffer == null) { throw new ArgumentNullException("buffer"); } if (bufferSize < sizeof(Vector2)) { throw new ArgumentException("bufferSize < sizeof(Vector2)", "bufferSize"); } var upValue = context.ReadValue <float>(up); var downValue = context.ReadValue <float>(down); var leftValue = context.ReadValue <float>(left); var rightValue = context.ReadValue <float>(right); var upIsPressed = upValue > 0; var downIsPressed = downValue > 0; var leftIsPressed = leftValue > 0; var rightIsPressed = rightValue > 0; var result = DpadControl.MakeDpadVector(upIsPressed, downIsPressed, leftIsPressed, rightIsPressed, normalize); *(Vector2 *)buffer = result; }
/// <inheritdoc /> public override Vector2 ReadValue(ref InputBindingCompositeContext context) { var upIsPressed = context.ReadValueAsButton(up); var downIsPressed = context.ReadValueAsButton(down); var leftIsPressed = context.ReadValueAsButton(left); var rightIsPressed = context.ReadValueAsButton(right); return(DpadControl.MakeDpadVector(upIsPressed, downIsPressed, leftIsPressed, rightIsPressed, normalize)); }
// Callback funtion when a button in a dpad is pressed. protected virtual void OnDpadPress(DpadControl control) { string dpadName = FirstLetterToUpper(control.name); OnControllerButtonPress(control.up, dpadName); OnControllerButtonPress(control.down, dpadName); OnControllerButtonPress(control.left, dpadName); OnControllerButtonPress(control.right, dpadName); }
protected override void FinishSetup(InputDeviceBuilder builder) { leftSL = builder.GetControl <ButtonControl>("leftSL"); leftSR = builder.GetControl <ButtonControl>("leftSR"); rightSL = builder.GetControl <ButtonControl>("rightSL"); rightSR = builder.GetControl <ButtonControl>("rightSR"); leftVK = builder.GetControl <DpadControl>("leftVK"); rightVK = builder.GetControl <DpadControl>("rightVK"); base.FinishSetup(builder); }
public override Vector2 ReadValue(ref InputBindingCompositeContext context) { var upValue = context.ReadValue <float>(up); var downValue = context.ReadValue <float>(down); var leftValue = context.ReadValue <float>(left); var rightValue = context.ReadValue <float>(right); var upIsPressed = upValue > 0; var downIsPressed = downValue > 0; var leftIsPressed = leftValue > 0; var rightIsPressed = rightValue > 0; return(DpadControl.MakeDpadVector(upIsPressed, downIsPressed, leftIsPressed, rightIsPressed, normalize)); }