Sansar Docs
Ask or search…
K

Command Action and Data

CommandAction Enum

Specifies a command action.

Syntax

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

Remarks

Members

Member Name
Description
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

Command
Default 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