Command Action and Data

CommandAction Enum

Specifies a command action.

Syntax

[Sansar.Script.Interface] [System.Flags] public enum CommandAction

Remarks

Members

Member NameDescription

All

A combination of all other values.

Invalid

An invalid command action.

Pressed

Fired when the command is pressed.

Released

Fired when the command is released.

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


CommandData

CommandData Class

Command events are generated by the client when input events occur.

Syntax

Remarks

CommandDefault Key Binding

Trigger

Left Mouse Button

PrimaryAction

F

SecondaryAction

R

Modifier

Shift

Action1 to Action0

Number keys 1 to 0

Confirm

Enter

Cancel

Escape

SelectLeft

Left arrow

SelectRight

Right arrow

SelectUp

Up arrow

SelectDown

Down arrow

Keypad0 to Keypad9

Numberpad keys 0 to 9

KeypadEnter

Numberpad Enter

An example script for handling client commands:

C# Example

/* This content is licensed under the terms of the Creative Commons Attribution 4.0 International License.
 * When using this content, you must:
 * �    Acknowledge that the content is from the Sansar Knowledge Base.
 * �    Include our copyright notice: "� 2017 Linden Research, Inc."
 * �    Indicate that the content is licensed under the Creative Commons Attribution-Share Alike 4.0 International License.
 * �    Include the URL for, or link to, the license summary at https://creativecommons.org/licenses/by-sa/4.0/deed.hi (and, if possible, to the complete license terms at https://creativecommons.org/licenses/by-sa/4.0/legalcode.
 * For example:
 * "This work uses content from the Sansar Knowledge Base. � 2017 Linden Research, Inc. Licensed under the Creative Commons Attribution 4.0 International License (license summary available at https://creativecommons.org/licenses/by/4.0/ and complete license terms available at https://creativecommons.org/licenses/by/4.0/legalcode)."
 */
using Sansar.Script;
using Sansar.Simulation;
public class CommandExample : SceneObjectScript
{
#region ScriptParameters
[Tooltip(@"The command to enable listening for the Action Command. Default: Confirm (Enter)")]
[DefaultValue("Confirm")]
[DisplayName("Subscribe Command")]
public readonly string SubscribeCommand;
[Tooltip(@"The command to disable listening for the Action Command. Default: Cancel (Escape)")][DefaultValue("Cancel")][DisplayName("Unsubscribe Command")]public readonly string UnsubscribeCommand;[Tooltip(@"If the command has been subscribed to by the 'Subscribe Command', this will log the action to the script console.")][DefaultValue("Trigger")][DisplayName("Action Command")]public readonly string ActionCommand;#endregion ScriptParameterspublic override void Init(){// Subscribe to new user events;ScenePrivate.User.Subscribe(User.AddUser, NewUser);}IEventSubscription subscription = null;void NewUser(UserData newUser){    Client client = ScenePrivate.FindAgent(newUser.User).Client;    // CommandReceived will be called every time the command it triggered on the client    // CommandCanceled will be called if the subscription fails    if (SubscribeCommand != "")    {        client.SubscribeToCommand(SubscribeCommand, CommandAction.Pressed, (data) =>        {            if (subscription == null)            {                Log.Write(GetType().Name, $"[{SubscribeCommand}] Subscribing to {ActionCommand}.");                subscription = client.SubscribeToCommand(ActionCommand, CommandAction.All, CommandReceived, CommandCanceled);            }        }, CommandCanceled);    }    if (UnsubscribeCommand != "")    {        client.SubscribeToCommand(UnsubscribeCommand, CommandAction.Pressed, (data) =>        {            if (subscription != null)            {                Log.Write(GetType().Name, $"[{UnsubscribeCommand}] Unsubscribing to {ActionCommand}.");                subscription.Unsubscribe();                subscription = null;            }        }, CommandCanceled);    }}void CommandReceived(CommandData command){    Log.Write(GetType().Name, $"Received command {command.Command}: {command.Action}. Targeting Info: {command.TargetingComponent}, Origin:{command.TargetingOrigin}, Position:{command.TargetingPosition}, Normal{command.TargetingNormal}");}void CommandCanceled(CancelData data){    Log.Write(GetType().Name, "Subscription canceled: "+data.Message);}
}

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0

Members

Member Details

Action Property

The action which occurred.

Syntax

[get: Sansar.Script.Interface] public CommandAction Action { get; }

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


CameraControlMode Property

Syntax

[get: Sansar.Script.Interface] public CameraControlMode CameraControlMode { get; }

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


Command Property

The command which occurred.

Syntax

[get: Sansar.Script.Interface] public string Command { get; }

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


ControlPoint Property

Syntax

[get: Sansar.Script.Interface] public ControlPointType ControlPoint { get; }

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


MouseLookMode Property

Syntax

[get: Sansar.Script.Interface] public bool MouseLookMode { get; }

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


SessionId Property

The client which generated the event.

Syntax

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


SimulationFrame Property

Syntax

[get: Sansar.Script.Interface] public ulong SimulationFrame { get; }

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


TargetingComponent Property

Syntax

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


TargetingNormal Property

Syntax

[get: Sansar.Script.Interface] public Sansar.Vector TargetingNormal { get; }

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


TargetingOrigin Property

Syntax

[get: Sansar.Script.Interface] public Sansar.Vector TargetingOrigin { get; }

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


TargetingPosition Property

Syntax

[get: Sansar.Script.Interface] public Sansar.Vector TargetingPosition { get; }

Value

Remarks

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0


ToString Method

A string representation of this object.

Syntax

[Sansar.Script.Interface] public override string ToString ()

Returns

A string representation of this object.

Remarks

The format of this string may change between releases.

Requirements

Namespace: Sansar.Simulation Assembly: Sansar.Simulation (in Sansar.Simulation.dll) Assembly Versions: 1.1.0.0



Last updated