InputStateExtFindFirst Method (InputState, IDevice, IVirtualAxis, FuncIDevice, IVirtualAxis, Boolean, InputCode) |
[This is preliminary documentation and is subject to change.]
Namespace:
RavingBots.MultiInput
Assembly:
RavingBots.MultiInput (in RavingBots.MultiInput.dll) Version: 0.12
Syntax public static bool FindFirst(
this InputState state,
out IDevice foundDevice,
out IVirtualAxis foundAxis,
Func<IDevice, IVirtualAxis, bool> predicate,
params InputCode[] axes
)
Parameters
- state
- Type: RavingBots.MultiInputInputState
InputState instance. - foundDevice
- Type: RavingBots.MultiInputIDevice
If this method returned true, set to the found device. Otherwise,
set to null.
- foundAxis
- Type: RavingBots.MultiInputIVirtualAxis
If this method returned true, set to the found axis. Otherwise,
set to null. You can check the axis code via Code property.
- predicate
- Type: SystemFuncIDevice, IVirtualAxis, Boolean
Predicate for the search. Takes a IDevice object, an instance of IVirtualAxis
that belongs to that device, and should return true if said axis reports a value that interests you.
- axes
- Type: RavingBots.MultiInputInputCode
Axes to search through.
Return Value
Type:
Booleantrue if predicate returned
true for at least one axis,
false otherwise.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type
InputState. When you use instance method syntax to call this method, omit the first parameter. For more information, see
Extension Methods (Visual Basic) or
Extension Methods (C# Programming Guide).
Examples
The following example shows how you can use this method to find first
PadLeftTrigger or
PadRightTrigger axis that
reports a value of at least 0.5.
var state = FindObjectOfType<InputState>();
IDevice device;
IVirtualAxis axis;
if (state.FindFirst(out device, out axis, v => v.Value >= 0.5f, InputCode.PadLeftTrigger, InputCode.PadRightTrigger)) {
Debug.LogFormat("Found Value >= 0.5 on device {0}, axis {1}", device.Name, axis.Code);
} else {
Debug.LogFormat("Value >= 0.5 not found");
}
See Also