docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class DpadControl

    A control made up of four discrete, directional buttons. Forms a vector but can also be addressed as individual buttons.

    Inheritance
    object
    InputControl
    InputControl<Vector2>
    Vector2Control
    DpadControl
    Inherited Members
    Vector2Control.x
    Vector2Control.y
    Vector2Control.EvaluateMagnitude(void*)
    Vector2Control.CalculateOptimizedControlDataType()
    InputControl<Vector2>.valueType
    InputControl<Vector2>.valueSizeInBytes
    InputControl<Vector2>.value
    InputControl<Vector2>.ReadValue()
    InputControl<Vector2>.ReadValueFromPreviousFrame()
    InputControl<Vector2>.ReadDefaultValue()
    InputControl<Vector2>.ReadValueFromState(void*)
    InputControl<Vector2>.ReadValueFromStateWithCaching(void*)
    InputControl<Vector2>.ReadUnprocessedValueFromStateWithCaching(void*)
    InputControl<Vector2>.ReadUnprocessedValue()
    InputControl<Vector2>.ReadValueFromStateAsObject(void*)
    InputControl<Vector2>.ReadValueFromStateIntoBuffer(void*, void*, int)
    InputControl<Vector2>.WriteValueFromBufferIntoState(void*, int, void*)
    InputControl<Vector2>.WriteValueFromObjectIntoState(object, void*)
    InputControl<Vector2>.ReadValueFromBufferAsObject(void*, int)
    InputControl<Vector2>.CompareValue(void*, void*)
    InputControl<Vector2>.ProcessValue(Vector2)
    InputControl<Vector2>.ProcessValue(ref Vector2)
    InputControl.name
    InputControl.displayName
    InputControl.shortDisplayName
    InputControl.path
    InputControl.layout
    InputControl.variants
    InputControl.device
    InputControl.parent
    InputControl.children
    InputControl.usages
    InputControl.aliases
    InputControl.stateBlock
    InputControl.noisy
    InputControl.synthetic
    InputControl.this[string]
    InputControl.magnitude
    InputControl.ToString()
    InputControl.EvaluateMagnitude()
    InputControl.TryGetChildControl(string)
    InputControl.TryGetChildControl<TControl>(string)
    InputControl.GetChildControl(string)
    InputControl.GetChildControl<TControl>(string)
    InputControl.RefreshConfigurationIfNeeded()
    InputControl.RefreshConfiguration()
    InputControl.m_StateBlock
    InputControl.currentStatePtr
    InputControl.previousFrameStatePtr
    InputControl.defaultStatePtr
    InputControl.noiseMaskPtr
    InputControl.stateOffsetRelativeToDeviceRoot
    InputControl.optimizedControlDataType
    InputControl.ApplyParameterChanges()
    Namespace: UnityEngine.InputSystem.Controls
    Assembly: Unity.InputSystem.dll
    Syntax
    public class DpadControl : Vector2Control
    Remarks

    Is stored as four bits by default.

    The vector that is aggregated from the button states is normalized. I.e. even if pressing diagonally, the vector will have a length of 1 (instead of reading something like (1,1) for example).

    Constructors

    DpadControl()

    Declaration
    public DpadControl()

    Properties

    down

    The button representing the vertical downwards state of the D-Pad.

    Declaration
    public ButtonControl down { get; set; }
    Property Value
    Type Description
    ButtonControl

    left

    The button representing the horizontal left state of the D-Pad.

    Declaration
    public ButtonControl left { get; set; }
    Property Value
    Type Description
    ButtonControl

    right

    The button representing the horizontal right state of the D-Pad.

    Declaration
    public ButtonControl right { get; set; }
    Property Value
    Type Description
    ButtonControl

    up

    Declaration
    public ButtonControl up { get; set; }
    Property Value
    Type Description
    ButtonControl

    Methods

    FinishSetup()

    Perform final initialization tasks after the control hierarchy has been put into place.

    Declaration
    protected override void FinishSetup()
    Overrides
    Vector2Control.FinishSetup()
    Remarks

    This method can be overridden to perform control- or device-specific setup work. The most common use case is for looking up child controls and storing them in local getters.

    public class MyDevice : InputDevice
    {
    public ButtonControl button { get; private set; }
    public AxisControl axis { get; private set; }

             protected override void OnFinishSetup()
             {
                 // Cache controls in getters.
                 button = GetChildControl("button");
                 axis = GetChildControl("axis");
             }
         }</code></pre></example>
    

    MakeDpadVector(bool, bool, bool, bool, bool)

    Create a direction vector from the given four button states.

    Declaration
    public static Vector2 MakeDpadVector(bool up, bool down, bool left, bool right, bool normalize = true)
    Parameters
    Type Name Description
    bool up

    Whether button representing the up direction is pressed.

    bool down

    Whether button representing the down direction is pressed.

    bool left

    Whether button representing the left direction is pressed.

    bool right

    Whether button representing the right direction is pressed.

    bool normalize

    Whether to normalize the resulting vector. If this is false, vectors in the diagonal directions will have a magnitude of greater than 1. For example, up-left will be (-1,1).

    Returns
    Type Description
    Vector2

    A 2D direction vector.

    MakeDpadVector(float, float, float, float)

    Create a direction vector from the given axis states.

    Declaration
    public static Vector2 MakeDpadVector(float up, float down, float left, float right)
    Parameters
    Type Name Description
    float up

    Axis value representing the up direction.

    float down

    Axis value representing the down direction.

    float left

    Axis value representing the left direction.

    float right

    Axis value representing the right direction.

    Returns
    Type Description
    Vector2

    A 2D direction vector.

    ReadUnprocessedValueFromState(void*)

    Declaration
    public override Vector2 ReadUnprocessedValueFromState(void* statePtr)
    Parameters
    Type Name Description
    void* statePtr
    Returns
    Type Description
    Vector2
    Overrides
    Vector2Control.ReadUnprocessedValueFromState(void*)

    WriteValueIntoState(Vector2, void*)

    Declaration
    public override void WriteValueIntoState(Vector2 value, void* statePtr)
    Parameters
    Type Name Description
    Vector2 value
    void* statePtr
    Overrides
    Vector2Control.WriteValueIntoState(Vector2, void*)

    Extension Methods

    InputControlExtensions.CheckStateIsAtDefault(InputControl)
    InputControlExtensions.CheckStateIsAtDefault(InputControl, void*, void*)
    InputControlExtensions.CheckStateIsAtDefaultIgnoringNoise(InputControl)
    InputControlExtensions.CheckStateIsAtDefaultIgnoringNoise(InputControl, void*)
    InputControlExtensions.CompareState(InputControl, void*, void*)
    InputControlExtensions.CompareState(InputControl, void*, void*, void*)
    InputControlExtensions.CompareStateIgnoringNoise(InputControl, void*)
    InputControlExtensions.FindControlsRecursive<TControl>(InputControl, IList<TControl>, Func<TControl, bool>)
    InputControlExtensions.FindInParentChain<TControl>(InputControl)
    InputControlExtensions.GetStatePtrFromStateEvent(InputControl, InputEventPtr)
    InputControlExtensions.HasValueChangeInEvent(InputControl, InputEventPtr)
    InputControlExtensions.HasValueChangeInState(InputControl, void*)
    InputControlExtensions.IsActuated(InputControl, float)
    InputControlExtensions.IsPressed(InputControl, float)
    InputControlExtensions.ReadDefaultValueAsObject(InputControl)
    InputControlExtensions.ReadValueAsObject(InputControl)
    InputControlExtensions.ReadValueFromEventAsObject(InputControl, InputEventPtr)
    InputControlExtensions.ReadValueIntoBuffer(InputControl, void*, int)
    InputControlExtensions.ResetToDefaultStateInEvent(InputControl, InputEventPtr)
    InputControlExtensions.WriteValueFromObjectIntoEvent(InputControl, InputEventPtr, object)
    InputControlExtensions.WriteValueIntoEvent<TValue>(InputControl, TValue, InputEventPtr)
    InputControlExtensions.WriteValueIntoState(InputControl, void*)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl, TValue, void*)
    InputControlExtensions.QueueValueChange<TValue>(InputControl<TValue>, TValue, double)
    InputControlExtensions.ReadUnprocessedValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr)
    InputControlExtensions.ReadUnprocessedValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr, out TValue)
    InputControlExtensions.ReadValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr)
    InputControlExtensions.ReadValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr, out TValue)
    InputControlExtensions.WriteValueIntoEvent<TValue>(InputControl<TValue>, TValue, InputEventPtr)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl<TValue>, void*)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl<TValue>, TValue, void*)
    InputControlExtensions.WriteValueIntoState<TValue, TState>(InputControl<TValue>, TValue, ref TState)
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)