Difference between revisions of "IConnectionIdentity"

From Virtual World Web Wiki
Jump to: navigation, search
(Documentation for the IConnectionIdentity class)
(Documentation for the IConnectionIdentity class)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Represents a user connected to the system and a [[Layer One]] [[Connection Identity]], their identity details (entity memberships), current location and [[Participant]], and provides access to many other [[Layer One]] objects related to the connection
+
Represents a user connected to the system and a [[Connection Identity]] from the [[Instance Host]]'s point of view. Provides identity details (entity memberships), current location and [[Participant]], and provides access to many other Layer One objects related to the connection.
  
 +
*'''Inherits interface: [[IConnectionIdentityBase]]'''
 +
*'''Inherits interface: [[IIdentityBase]]'''
 
===Remarks <nowiki>[</nowiki>[{{fullurl:IConnectionIdentity Remarks|action=edit}} edit]<nowiki>]</nowiki>===
 
===Remarks <nowiki>[</nowiki>[{{fullurl:IConnectionIdentity Remarks|action=edit}} edit]<nowiki>]</nowiki>===
 
{{#ifexist:IConnectionIdentity Remarks|{{:IConnectionIdentity Remarks}}|}}
 
{{#ifexist:IConnectionIdentity Remarks|{{:IConnectionIdentity Remarks}}|}}
Line 8: Line 10:
 
::
 
::
 
::Access to the ability manager for the connection. use this to create, enable, disable, and fire abilities
 
::Access to the ability manager for the connection. use this to create, enable, disable, and fire abilities
 
:{{CSharp|Guid ConnectionID {get;} }}
 
::
 
::The ID of the unique connection to the instance host
 
 
:{{CSharp|CultureInfo Culture {get;} }}
 
::
 
::The culture of the current identity
 
  
 
:{{CSharp|IExperienceData ExperienceData {get;} }}
 
:{{CSharp|IExperienceData ExperienceData {get;} }}
Line 25: Line 19:
 
::Gets the current instance context
 
::Gets the current instance context
  
:{{CSharp|bool IsConnected {get;} }}
+
:{{CSharp|IInstanceMember InstanceMember {get;} }}
 
::
 
::
::Determines if this identity is currently connected
+
::When on the instance host, if this connection is in a room, this property will return the instance member, even if the connection is not embodied
 
+
:{{CSharp|ILocationInfo Location {get;} }}
+
::
+
::The connection's current location
+
  
 
:{{CSharp|IParticipant Participant {get;} }}
 
:{{CSharp|IParticipant Participant {get;} }}
 
::
 
::
::When on the instance host, if this connection is in a room, this property will return a reference to the participant
+
::When on the instance host, if this connection is in a room, and embodied, this property will return a reference to the participant
 
+
:{{CSharp|IPAddress RemoteAddress {get;} }}
+
::
+
::The connection endpoint for packets
+
 
+
:{{CSharp|Guid SessionID {get;} }}
+
::
+
::The ID of the session with the network. This remains constant even as a user connects and re-connects and switches servers
+
  
 
:{{CSharp|ConcurrentDictionary<string, object> SessionState {get;} }}
 
:{{CSharp|ConcurrentDictionary<string, object> SessionState {get;} }}
Line 52: Line 34:
 
::
 
::
 
::Gets the currently Targeted object
 
::Gets the currently Targeted object
 
:{{CSharp|IUserAgentInfo UserAgentInfo {get;} }}
 
::
 
::Provides information about the user agent connected
 
  
 
:{{CSharp|IValidationContext ValidationContext {get;} }}
 
:{{CSharp|IValidationContext ValidationContext {get;} }}
Line 62: Line 40:
  
 
===Methods===
 
===Methods===
:{{CSharp|void ConfirmDialog(AutoString message, Action<bool> responseCallback)}}
 
::
 
::Sends a translatable message to the connected client, and calls back to let you know if they confirmed your question or not. This is implementation dependant.
 
 
:{{CSharp|Uri CreateWebTransferToken(string uri)}}
 
::
 
::Create a web transfer key, and inserts it into the uri provided. Returns an absolute Uri with the token inserted. If the uri is relative, the result is relative to the WebView root, otherwise the token is simply added as a query string parameter.
 
 
:{{CSharp|string CreateWebTransferToken()}}
 
::
 
::Creates a raw Web Transfer token which can be passed to EntitySystem.ConsumeWebTransferToken during the next 60 seconds to get back this connection's AccountID
 
 
:{{CSharp|void Disconnect(bool graceful {{=}} true)}}
 
::
 
::Disconnects the user
 
 
 
:{{CSharp|DOMController GetController()}}
 
:{{CSharp|DOMController GetController()}}
 
::
 
::
Line 86: Line 48:
 
::Gets the currently selected DOMObject collection
 
::Gets the currently selected DOMObject collection
  
:{{CSharp|bool IsFriend(IConnectionIdentity other)}}
+
:{{CSharp|T GetSessionState<T>(string key, T defaultValue)}}
 
::
 
::
::Determines if this connection Identity has a friendship relationship with other
+
::Gets a session state value of the specified type, returning a default if it does not exist
  
:{{CSharp|bool IsFriend(Guid personaID)}}
+
:{{CSharp|T GetSessionState<T>(string key)}}
 
::
 
::
::Determines if this connection Identity has a friendship relationship with a given persona ID
+
::Gets a session state value of the specified type, or default(T) if it does not exist
 
+
:{{CSharp|bool IsIgnoring(IConnectionIdentity other)}}
+
::
+
::Determines if this connection Identity has an ignore relationship against the other
+
 
+
:{{CSharp|bool IsIgnoring(Guid personaID)}}
+
::
+
::Determines if this connection Identity has an ignore relationship against another persona ID
+
  
 
:{{CSharp|void MoveToObject(long objectID, float minDistance, bool pathTo)}}
 
:{{CSharp|void MoveToObject(long objectID, float minDistance, bool pathTo)}}
Line 106: Line 60:
 
::Requests that the client make best effort to move the player's avatar next to and facing the requested object
 
::Requests that the client make best effort to move the player's avatar next to and facing the requested object
  
:{{CSharp|void Navigate(ILocationInfo location, bool switchPersona {{=}} false, Action<PacketErrorStatus, string> completion {{=}} NULL)}}
+
:{{CSharp|T RemoveSessionState<T>(string key)}}
::
+
::Navigates this connection to a new location
+
 
+
:{{CSharp|void Navigate(Uri vwwUri, Guid? instanceID {{=}} NULL)}}
+
::
+
::Navigates this connection to a new location given a vwwurl
+
 
+
:{{CSharp|void Navigate(Guid sceneID, Guid instanceID)}}
+
::
+
::Navigates this connection to a new location given a scene and instance
+
 
+
:{{CSharp|void Navigate(Guid instanceID)}}
+
::
+
::Navigates this connection to a neighboring instance of the same scene
+
 
+
:{{CSharp|void Refresh()}}
+
::
+
::If the user is in an instance, they'll be navigated to that same instance, and participant recreated
+
 
+
:{{CSharp|void SendChatMessage(AutoString message, ColorLevelPreSets colorLevel {{=}} ColorLevelPreSets.System)}}
+
::
+
::Sends a translated priority server message to the client as a chat message in their current general chat channel
+
 
+
:{{CSharp|void SendChatMessage(AutoString message, Guid? channelID, ColorLevelPreSets colorLevel {{=}} ColorLevelPreSets.System)}}
+
 
::
 
::
::Sends a translated priority server message to the client as a chat message
+
::Removes a session state values from this connection
  
:{{CSharp|void SendServerMessage(AutoString message)}}
+
:{{CSharp|void SetSessionState(string key, object value)}}
 
::
 
::
::Sends a translated priority server message to the client
+
::Sets a session state value on this connection
  
 
:{{CSharp|string ToString(string format)}}
 
:{{CSharp|string ToString(string format)}}

Latest revision as of 12:09, 30 April 2019

Represents a user connected to the system and a Connection Identity from the Instance Host's point of view. Provides identity details (entity memberships), current location and Participant, and provides access to many other Layer One objects related to the connection.

Remarks [edit]

Properties

IAbilitySet AbilitySet {get;}
Access to the ability manager for the connection. use this to create, enable, disable, and fire abilities
IExperienceData ExperienceData {get;}
Gets client experience metrics for this connection
IInstanceContext InstanceContext {get;}
Gets the current instance context
IInstanceMember InstanceMember {get;}
When on the instance host, if this connection is in a room, this property will return the instance member, even if the connection is not embodied
IParticipant Participant {get;}
When on the instance host, if this connection is in a room, and embodied, this property will return a reference to the participant
ConcurrentDictionary<string, object> SessionState {get;}
A collection of objects that should be marshalled between servers with the session
DOMObject Target {get;}
Gets the currently Targeted object
IValidationContext ValidationContext {get;}
Represents the Instance's currently visible ObjectContainers

Methods

DOMController GetController()
Looks up this connections current DOMController object from it's persona view
IEnumerable<DOMObject> GetObjectSelection()
Gets the currently selected DOMObject collection
T GetSessionState<T>(string key, T defaultValue)
Gets a session state value of the specified type, returning a default if it does not exist
T GetSessionState<T>(string key)
Gets a session state value of the specified type, or default(T) if it does not exist
void MoveToObject(long objectID, float minDistance, bool pathTo)
Requests that the client make best effort to move the player's avatar next to and facing the requested object
T RemoveSessionState<T>(string key)
Removes a session state values from this connection
void SetSessionState(string key, object value)
Sets a session state value on this connection
string ToString(string format)
Gets the formated string version of this object
bool TryGetController(out DOMController controller)