Class InputReceiver
Represents a separate player in the game complete with a set of actions exclusive to the player and a set of paired device. It is the simple version of UnityEngine.InputSystem.PlayerInput that removing dependency of InputControlScheme.
Inheritance
Implements
Inherited Members
Namespace: Unity.RenderStreaming
Assembly: Unity.RenderStreaming.dll
Syntax
[AddComponentMenu("Render Streaming/Input Receiver")]
public class InputReceiver : InputChannelReceiverBase, IDataChannel
Properties
actionEvents
Gets or sets the action events associated with the player.
Declaration
public ReadOnlyArray<PlayerInput.ActionEvent> actionEvents { get; set; }
Property Value
Type | Description |
---|---|
ReadOnlyArray<ActionEvent> |
actions
Gets or sets the input action asset associated with the player.
Declaration
public InputActionAsset actions { get; set; }
Property Value
Type | Description |
---|---|
InputActionAsset |
currentActionMap
Gets or sets the current action map.
Declaration
public InputActionMap currentActionMap { get; set; }
Property Value
Type | Description |
---|---|
InputActionMap |
defaultActionMap
Gets or sets the default action map.
Declaration
public string defaultActionMap { get; set; }
Property Value
Type | Description |
---|---|
string |
devices
Gets or sets the action events associated with the player.
Declaration
public ReadOnlyArray<InputDevice> devices { get; }
Property Value
Type | Description |
---|---|
ReadOnlyArray<InputDevice> |
inputIsActive
Indicates whether the input is currently active.
Declaration
public bool inputIsActive { get; }
Property Value
Type | Description |
---|---|
bool |
user
Gets or sets the default action map.
Declaration
public InputUser user { get; }
Property Value
Type | Description |
---|---|
InputUser |
Methods
ActivateInput()
Activates input for the player.
Declaration
public void ActivateInput()
Examples
inputReceiver.ActivateInput();
CalculateInputRegion(Vector2Int, Rect)
Calculates the input region based on the given texture size and region in world coordinates.
Declaration
public void CalculateInputRegion(Vector2Int size, Rect region)
Parameters
Type | Name | Description |
---|---|---|
Vector2Int | size | The size of the texture. |
Rect | region | The region of the texture in world coordinate system. |
Examples
var (region, size) = remoteVideoImage.GetRegionAndSize();
inputReceiver.CalculateInputRegion(region, size);
DeactivateInput()
Deactivates input for the player.
Declaration
public void DeactivateInput()
Examples
inputReceiver.DeactivateInput();
Dispose()
Declaration
protected virtual void Dispose()
OnDestroy()
Declaration
protected virtual void OnDestroy()
OnDeviceChange(InputDevice, InputDeviceChange)
Declaration
protected virtual void OnDeviceChange(InputDevice device, InputDeviceChange change)
Parameters
Type | Name | Description |
---|---|---|
InputDevice | device | |
InputDeviceChange | change |
OnDisable()
Declaration
protected virtual void OnDisable()
OnEnable()
Declaration
protected virtual void OnEnable()
PerformPairingWithAllLocalDevices()
Performs pairing with all local devices.
Declaration
public void PerformPairingWithAllLocalDevices()
Examples
var playerInput = hostPlayer.GetComponent<InputReceiver>();
playerInput.PerformPairingWithAllLocalDevices();
PerformPairingWithDevice(InputDevice)
Performs pairing with the specified input device.
Declaration
public void PerformPairingWithDevice(InputDevice device)
Parameters
Type | Name | Description |
---|---|---|
InputDevice | device | The input device to pair with. |
Examples
var playerInput = hostPlayer.GetComponent<InputReceiver>();
playerInput.PerformPairingWithDevice(device);
SetChannel(string, RTCDataChannel)
Sets the RTCDataChannel for the sender.
Declaration
public override void SetChannel(string connectionId, RTCDataChannel channel)
Parameters
Type | Name | Description |
---|---|---|
string | connectionId | The connection ID. |
RTCDataChannel | channel | The RTCDataChannel to set. |
Overrides
Examples
public void OnAddChannel(SignalingEventData data)
{
var obj = dictObj[data.connectionId];
var channels = obj.GetComponentsInChildren<IDataChannel>();
var channel = channels.FirstOrDefault(_ => !_.IsLocal && !_.IsConnected);
channel?.SetChannel(data);
}
SetEnableInputPositionCorrection(bool)
Enables or disables input position correction.
Declaration
public void SetEnableInputPositionCorrection(bool enabled)
Parameters
Type | Name | Description |
---|---|---|
bool | enabled | True to enable input position correction, false to disable. |
Examples
inputReceiver.EnableInputPositionCorrection(true);
SwitchCurrentActionMap(string)
Switches the current action map to the one with the given name or ID.
Declaration
public void SwitchCurrentActionMap(string mapNameOrId)
Parameters
Type | Name | Description |
---|---|---|
string | mapNameOrId | The name or ID of the action map to switch to. |
Examples
inputReceiver.SwitchCurrentActionMap("Gameplay");
UnpairDevices(InputDevice)
Unpairs the input user with the given device.
Declaration
public void UnpairDevices(InputDevice device)
Parameters
Type | Name | Description |
---|---|---|
InputDevice | device | The device to unpair. |
Examples
var playerInput = hostPlayer.GetComponent<InputReceiver>();
playerInput.UnpairDevices(device);
Events
onDeviceChange
Event triggered when a device changes.
Declaration
public override event Action<InputDevice, InputDeviceChange> onDeviceChange
Event Type
Type | Description |
---|---|
Action<InputDevice, InputDeviceChange> |