CommandData Class
Command events are generated by the client when input events occur.
Syntax
[Sansar.Script.Interface]
public class CommandData : Sansar.Script.EventData
public class CommandData : Sansar.Script.EventData
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 ScriptParameters public 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
Assembly: Sansar.Simulation (in Sansar.Simulation.dll)
Assembly Versions: 1.1.0.0
Members
See Also: Inherited members from Sansar.Script.EventData.
Public Properties
[read-only]
|
Action | CommandAction . The action which occurred. |
[read-only]
|
CameraControlMode | CameraControlMode . |
[read-only]
|
Command | string . The command which occurred. |
[read-only]
|
ControlPoint | ControlPointType . |
[read-only]
|
MouseLookMode | bool . |
[read-only]
|
SessionId | Sansar.Script.SessionId . The client which generated the event. |
[read-only]
|
SimulationFrame | ulong . |
[read-only]
|
TargetingComponent | Sansar.Script.ComponentId . |
[read-only]
|
TargetingNormal | Sansar.Vector . |
[read-only]
|
TargetingOrigin | Sansar.Vector . |
[read-only]
|
TargetingPosition | Sansar.Vector . |
Public Methods
override
|
ToString () : string
A string representation of this object. |
|
override
|
ToString () : string
Generates a string representation of the EventData. (Inherited from Sansar.Script.EventData.) |
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
[get: Sansar.Script.Interface]
public Sansar.Script.SessionId SessionId { get; }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
[get: Sansar.Script.Interface]
public Sansar.Script.ComponentId TargetingComponent { get; }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
0 Comments