Esempio n. 1
0
        /// <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();
 }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        /// <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));
        }
Esempio n. 5
0
    // 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);
    }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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));
        }