Class Vector2Control
A floating-point 2D vector control composed of two AxisControls.
Inherited Members
Namespace: UnityEngine.InputSystem.Controls
Assembly: Unity.InputSystem.dll
Syntax
public class Vector2Control : InputControl<Vector2>
Remarks
An example is position.
Debug.Log(string.Format("Mouse position x={0} y={1}",
Mouse.current.position.x.ReadValue(),
Mouse.current.position.y.ReadValue()));
Normalization is not implied. The X and Y coordinates can be in any range or units.
Constructors
Vector2Control()
Default-initialize the control.
Declaration
public Vector2Control()
Properties
x
Horizontal position of the control.
Declaration
public AxisControl x { get; set; }
Property Value
Type | Description |
---|---|
AxisControl | Control representing horizontal motion input. |
y
Vertical position of the control.
Declaration
public AxisControl y { get; set; }
Property Value
Type | Description |
---|---|
AxisControl | Control representing vertical motion input. |
Methods
CalculateOptimizedControlDataType()
Calculates and returns a optimized data type that can represent a control's value in memory directly. The value then is cached in optimizedControlDataType. This method is for internal use only, you should not call this from your own code.
Declaration
protected override FourCC CalculateOptimizedControlDataType()
Returns
Type | Description |
---|---|
FourCC |
Overrides
EvaluateMagnitude(void*)
Compute an absolute, normalized magnitude value that indicates the extent to which the control is actuated in the given state.
Declaration
public override float EvaluateMagnitude(void* statePtr)
Parameters
Type | Name | Description |
---|---|---|
void* | statePtr | State containing the control's stateBlock. |
Returns
Type | Description |
---|---|
float | Amount of actuation of the control or -1 if it cannot be determined. |
Overrides
See Also
FinishSetup()
Perform final initialization tasks after the control hierarchy has been put into place.
Declaration
protected override void FinishSetup()
Overrides
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>
ReadUnprocessedValueFromState(void*)
Declaration
public override Vector2 ReadUnprocessedValueFromState(void* statePtr)
Parameters
Type | Name | Description |
---|---|---|
void* | statePtr |
Returns
Type | Description |
---|---|
Vector2 |
Overrides
WriteValueIntoState(Vector2, void*)
Declaration
public override void WriteValueIntoState(Vector2 value, void* statePtr)
Parameters
Type | Name | Description |
---|---|---|
Vector2 | value | |
void* | statePtr |