From 7abb0477ed740663934fa908b282eb51055bc132 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 31 Dec 2016 08:58:06 -0800 Subject: [PATCH] Replaced OpenMetaverse libs/xmls with new ones. Also added a file in openmetaverse_data that was added recently to libomv and was missing. --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 20480 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.XML | 29284 +++++++++--------- bin/OpenMetaverse.dll | Bin 2195456 -> 2199552 bytes bin/OpenMetaverseTypes.XML | 319 +- bin/OpenMetaverseTypes.dll | Bin 110592 -> 110592 bytes bin/openmetaverse_data/avatar_skeleton.xml | 81 + 7 files changed, 15123 insertions(+), 14561 deletions(-) create mode 100644 bin/openmetaverse_data/avatar_skeleton.xml diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index cca8f3fb6c3c715b4f874e55b8fb5fcab44a41c7..1a12a1e7744044d2136d7fd19b935420e472e622 100755 GIT binary patch delta 47 zcmV+~0MP${paFoO0g#9U{NZOY)6z>24 diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 41dd0cc458bc1a295dea8e45cacffcf9a13b4fc5..7aeb0894f2a071c91f3af89d305e43e2587632a4 100755 GIT binary patch delta 1334 zcmYk+e@v8h90%~v`?-e`f#bOQ9=`C_+#Kcft&V9ipd#U=gDhOq*L`9q|XDEt~(8tF7;I&ll%y_u2RL`Fx(w z=X>|Z#hN_bk?5ZiYtmdbrN)u*2E zZN%H^U%p~{fu!VXv!75T#Th%~)XZ9`+Bjpf8k9DY1urgwYeao=W_R9l}n}Nu9S7M%ZCgwrM&}KO~JaKbnQkaW$b^Xq#i4 z9fAFn-nrd1#g4++uFIY|%Ra>cp^-H=Su-L+A+8qO7h24G-Esn^4v+reV&)y|Nv!Hv z*7KG&6h6>AJB58hm-B90+HqKDCiQzu2d0G_`Ah6GyxXNuxt@8Cb)ocgO##ZtpJ!j7 zyH{7A{a@CN?jXGsD;{#i*}jA`q!+IzCEI$iTgbd}*4&E$p-pR2ZN11o9qY_!QD)5{ z^v9&q!SvO(5Ej&J-(`93#&Y%4Mq&9h41HREJ=GvA_ajYcObW|quukZALs%ZbvqHUc zSpFI>3YEl#ygrZ#Maoi&~K@N%_DAWcAUBr2zCCNdTFfC-2 z9dsGDgnr~2#a*FYaSj@T)UW@DIj$?P3GFdDXdI6VC9H7J1d94M>#ePvS5YR4dHgcp zpi-!aU*=oX3jIMB%##naOP3m&%38f&bfoeBZW6COrcFMW5m1aYg{Hyi)H^xP-QX{x zpJ|cDn^f^WXpY|E@fPjl@fT{~@mFf)F-k!m=V^e)-)NM_1)3cEWa(;EO2mCJdFVgi zrn5b+y<>8uV0dRaoT;Xuc*SW;ue7vRAqzvpBUN~LrMdwr!^zdSZB@V-!&KOB%*gj0bx~SR2 zmcll&(2eeH@-}d|33MaVSyGBa2hu4vYJj-RD5x+#AoC?=elTV+-uAf?e3G8r-#O== zd;5HNTxX50v&PnDedZR!E^o_SSn&FGp_KzpEcqMYOtyqx14W*#;-@161^t#ach^GU z4>;$Nw#N`ue>M0**}b`>F+SGtOlW_3jAGC##nhpDxm09bIpT zuB&)r!#2e8ryIUBJuJ@CDJ3G$;`n8EDld0eth*68J$s!}D$+_>^t@0smAg81nO}03 z;}!mgyQK6%onnj3zITI8DU2@i9WyCZXPiz-iTNkJiU_qki4q(tqdMhfP{OO(V(!7% z0)KU5C=Rhazh$u?*Ks(5>daWZq0IWf4RO&i1>EMTwA#g;wh>tzyG75cUHqg+F|fiI zvh#6Idi=^X{+;I;|Hk9?66XOfwvw0TbL-hb+>yF%t!IZYa7wF<7T2>kVLGkpo1A)9 zk1?suwifml>}^`DxA+uup-JjWPB(MI-mcY>68l&aLLHj!Pkf&p#f#2Pjkgj;*fCUh zMf5g(ZJJ;nbVvn-j$=UT33Y;Hvo03!ea6rl&KV$C4 znAGF>X{r5CFGM@7ZOV+cgM>p)azWbTQJ=NL>`rUjUPGAfO+_JyPSk zfc_F5mHIg*p#K2drTX;&{fBr#s?-qB55XZdBox45sV&BUK8SXyd7+Qc=adYQN}~u$ zbwQ<%5tdrksq_hErBd`NUBz!wQ$k~)LG4fMF{m_-6sb9(Pmw28YgB0ho1_wARSIG2 zV1>4^UGN%q%i?-*na{9a$}TSRIU1#Yr7Pyi746Z)JHlCOkI9a7@$M$^TwY}I5vx}* zQW!n{>F`V0k1UB#)%Wz5h_kfsbt3zEaH#UF5*u#AmTg)MO>gU5pU9zh>P^C z|IqTanl*!aT{p|0U4C+;!nJqm#=e~49hE3dOA5-5VC2x5Hct(*5E}N?U}yYravlCQ Q>lQZ+TU_|v>@AG_7X?*c{Qv*} diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index 36e5b9272b..ce8ca8678a 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -218,6 +218,9 @@ Event message when an object uses llOwnerSay + + Event message when an object uses llRegionSayTo + Special value to support llRegionSay, never sent to the client @@ -880,6 +883,13 @@ Manager class for our own avatar + + + Called once attachment resource usage information has been collected + + Indicates if operation was successfull + Attachment resource usage information + The event subscribers. null if no subcribers @@ -891,6 +901,9 @@ Thread sync lock object + + Raised when a scripted object or agent within range sends a public message + The event subscribers. null if no subcribers @@ -902,6 +915,10 @@ Thread sync lock object + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to + The event subscribers. null if no subcribers @@ -913,6 +930,9 @@ Thread sync lock object + + Raised when an object requests a change in the permissions an agent has permitted + The event subscribers. null if no subcribers @@ -924,6 +944,9 @@ Thread sync lock object + + Raised when a script requests an agent open the specified URL + The event subscribers. null if no subcribers @@ -935,6 +958,9 @@ Thread sync lock object + + Raised when an agents currency balance is updated + The event subscribers. null if no subcribers @@ -946,6 +972,9 @@ Thread sync lock object + + Raised when a transaction occurs involving currency such as a land purchase + The event subscribers. null if no subcribers @@ -957,6 +986,10 @@ Thread sync lock object + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived + The event subscribers. null if no subcribers @@ -968,6 +1001,10 @@ Thread sync lock object + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request + The event subscribers. null if no subcribers @@ -979,6 +1016,9 @@ Thread sync lock object + + Raised when a simulator sends agent specific information for our avatar. + The event subscribers. null if no subcribers @@ -990,6 +1030,9 @@ Thread sync lock object + + Raised when our agents animation playlist changes + The event subscribers. null if no subcribers @@ -1001,6 +1044,9 @@ Thread sync lock object + + Raised when an object or avatar forcefully collides with our agent + The event subscribers. null if no subcribers @@ -1012,6 +1058,9 @@ Thread sync lock object + + Raised when our agent crosses a region border into another region + The event subscribers. null if no subcribers @@ -1023,6 +1072,9 @@ Thread sync lock object + + Raised when our agent succeeds or fails to join a group chat session + The event subscribers. null if no subcribers @@ -1034,6 +1086,10 @@ Thread sync lock object + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access + The event subscribers. null if no subcribers @@ -1045,6 +1101,9 @@ Thread sync lock object + + Raised when a script attempts to take or release specified controls for our agent + The event subscribers. null if no subcribers @@ -1056,6 +1115,10 @@ Thread sync lock object + + Raised when the simulator detects our agent is trying to view something + beyond its limits + The event subscribers. null if no subcribers @@ -1067,6 +1130,9 @@ Thread sync lock object + + Raised when a script sensor reply is received from a simulator + The event subscribers. null if no subcribers @@ -1078,6 +1144,9 @@ Thread sync lock object + + Raised in response to a request + The event subscribers. null if no subcribers @@ -1089,6 +1158,9 @@ Thread sync lock object + + Raised when an avatar enters a group chat session we are participating in + The event subscribers. null if no subcribers @@ -1100,6 +1172,9 @@ Thread sync lock object + + Raised when an agent exits a group chat session we are participating in + The event subscribers, null of no subscribers @@ -1111,6 +1186,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the details of display name change + The event subscribers. null if no subcribers @@ -1122,6 +1201,9 @@ Thread sync lock object + + Raised when a scripted object or agent within range sends a public message + Reference to the GridClient instance @@ -1139,6 +1221,96 @@ Dictionary containing mute list keyead on mute name and key + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing + + + Temporary assigned to this session, used for + verifying our identity in packets + + + Shared secret that is never sent over the wire + + + Your (client) avatar ID, local to the current region/sim + + + Where the avatar started at login. Can be "last", "home" + or a login + + + The access level of this agent, usually M, PG or A + + + The CollisionPlane of Agent + + + An representing the velocity of our agent + + + An representing the acceleration of our agent + + + A which specifies the angular speed, and axis about which an Avatar is rotating. + + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. + + + LookAt point saved/restored with HomePosition + + + Avatar First Name (i.e. Philip) + + + Avatar Last Name (i.e. Linden) + + + LookAt point received with the login response message + + + Avatar Full Name (i.e. Philip Linden) + + + Gets the health of the agent + + + Gets the current balance of the agent + + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting + + + Gets the of the agents active group. + + + Gets the Agents powers in the currently active group + + + Current status message for teleporting + + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something + + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something + + + Current position of the agent in the simulator + + + + A representing the agents current rotation + + + + Returns the global grid position of the avatar + Various abilities and preferences sent by the grid @@ -1251,7 +1423,7 @@ Start a friends conference List of UUIDs to start a conference with - the temportary session ID returned in the callback> + the temportary session ID returned in the callback> @@ -2000,175 +2172,6 @@ The sender The EventArgs object containing the packet data - - Raised when a scripted object or agent within range sends a public message - - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to - - - Raised when an object requests a change in the permissions an agent has permitted - - - Raised when a script requests an agent open the specified URL - - - Raised when an agents currency balance is updated - - - Raised when a transaction occurs involving currency such as a land purchase - - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived - - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request - - - Raised when a simulator sends agent specific information for our avatar. - - - Raised when our agents animation playlist changes - - - Raised when an object or avatar forcefully collides with our agent - - - Raised when our agent crosses a region border into another region - - - Raised when our agent succeeds or fails to join a group chat session - - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - - Raised when a script attempts to take or release specified controls for our agent - - - Raised when the simulator detects our agent is trying to view something - beyond its limits - - - Raised when a script sensor reply is received from a simulator - - - Raised in response to a request - - - Raised when an avatar enters a group chat session we are participating in - - - Raised when an agent exits a group chat session we are participating in - - - Raised when the simulator sends us data containing - the details of display name change - - - Raised when a scripted object or agent within range sends a public message - - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing - - - Temporary assigned to this session, used for - verifying our identity in packets - - - Shared secret that is never sent over the wire - - - Your (client) avatar ID, local to the current region/sim - - - Where the avatar started at login. Can be "last", "home" - or a login - - - The access level of this agent, usually M, PG or A - - - The CollisionPlane of Agent - - - An representing the velocity of our agent - - - An representing the acceleration of our agent - - - A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. - - - LookAt point saved/restored with HomePosition - - - Avatar First Name (i.e. Philip) - - - Avatar Last Name (i.e. Linden) - - - LookAt point received with the login response message - - - Avatar Full Name (i.e. Philip Linden) - - - Gets the health of the agent - - - Gets the current balance of the agent - - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting - - - Gets the of the agents active group. - - - Gets the Agents powers in the currently active group - - - Current status message for teleporting - - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something - - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something - - - Current position of the agent in the simulator - - - - A representing the agents current rotation - - - - Returns the global grid position of the avatar - - - - Called once attachment resource usage information has been collected - - Indicates if operation was successfull - Attachment resource usage information - Agent movement and camera control @@ -2183,119 +2186,36 @@ The Z axis is Up, finer grained control of movements can be done using the Nudge properties - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Timer for sending AgentUpdate packets - - - Default constructor - - + - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - whether to send update or not - - - - Send new AgentUpdate packet to update our current camera - position and rotation + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet + + - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - Simulator to send the update to + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens - - - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way - - - - - - - - - - - - + + - + + + + + + + + + + - Sends update of Field of Vision vertical angle to the simulator + Default constructor - Angle in radians Move agent positive along the X axis @@ -2414,36 +2334,119 @@ Reset movement controls every time we send an update - + + Agent camera controls + + + Currently only used for hiding your group title + + + Action state of the avatar, which can currently be + typing and editing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Timer for sending AgentUpdate packets + + + Default constructor + + - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified + + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not + + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward + + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward + whether to send update or not + + + + Send new AgentUpdate packet to update our current camera + position and rotation - - - - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens - - + - Default constructor + Send new AgentUpdate packet to update our current camera + position and rotation + Whether to require server acknowledgement + of this packet - - + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + Simulator to send the update to - - + + + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way + + + + + + + + + + + + - - - - - + + + Sends update of Field of Vision vertical angle to the simulator + + Angle in radians @@ -2556,13 +2559,6 @@ of setting the maturity access level - - - Creates new instance of the EventArgs class - - Has setting new maturty access level succeeded - New maturity access level as returned by the simulator - New maturity accesss level returned from the sim @@ -2573,25 +2569,18 @@ True if setting the new maturity access level has succedded + + + Creates new instance of the EventArgs class + + Has setting new maturty access level succeeded + New maturity access level as returned by the simulator + - - - Construct a new instance of the ChatEventArgs object - - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message - Get the simulator sending the message @@ -2619,23 +2608,23 @@ Get the position of the agent or object sending the message + + + Construct a new instance of the ChatEventArgs object + + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message + Contains the data sent when a primitive opens a dialog with this agent - - - Construct a new instance of the ScriptDialogEventArgs - - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog - UUID of the scritped object owner - Get the dialog message @@ -2664,21 +2653,24 @@ UUID of the scritped object owner + + + Construct a new instance of the ScriptDialogEventArgs + + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog + UUID of the scritped object owner + Contains the data sent when a primitive requests debit or other permissions requesting a YES or NO answer - - - Construct a new instance of the ScriptQuestionEventArgs - - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested - Get the simulator containing the object sending the request @@ -2697,21 +2689,21 @@ Get the permissions being requested + + + Construct a new instance of the ScriptQuestionEventArgs + + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested + Contains the data sent when a primitive sends a request to an agent to open the specified URL - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent - Get the name of the object sending the request @@ -2730,9 +2722,26 @@ Get the URL the object sent + + + Construct a new instance of the LoadUrlEventArgs + + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent + The date received from an ImprovedInstantMessage + + Get the InstantMessage object + + + Get the simulator where the InstantMessage origniated + Construct a new instance of the InstantMessageEventArgs object @@ -2740,42 +2749,24 @@ the InstantMessage object the simulator where the InstantMessage origniated - - Get the InstantMessage object - - - Get the simulator where the InstantMessage origniated - Contains the currency balance + + + Get the currenct balance + + Construct a new BalanceEventArgs object The currenct balance - - - Get the currenct balance - - Contains the transaction summary when an item is purchased, money is given, or land is purchased - - - Construct a new instance of the MoneyBalanceReplyEventArgs object - - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction - Transaction info - Get the ID of the transaction @@ -2797,20 +2788,21 @@ Detailed transaction information + + + Construct a new instance of the MoneyBalanceReplyEventArgs object + + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction + Transaction info + Data sent from the simulator containing information about your agent and active group information - - - Construct a new instance of the AgentDataReplyEventArgs object - - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active - Get the agents first name @@ -2829,34 +2821,35 @@ Get the active group name of your agent + + + Construct a new instance of the AgentDataReplyEventArgs object + + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active + Data sent by the simulator to indicate the active/changed animations applied to your agent + + Get the dictionary that contains the changed animations + Construct a new instance of the AnimationsChangedEventArgs class The dictionary that contains the changed animations - - Get the dictionary that contains the changed animations - Data sent from a simulator indicating a collision with your agent - - - Construct a new instance of the MeanCollisionEventArgs class - - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred - Get the Type of collision @@ -2872,9 +2865,25 @@ Get the time the collision occurred + + + Construct a new instance of the MeanCollisionEventArgs class + + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred + Data sent to your agent when it crosses region boundaries + + Get the simulator your agent just left + + + Get the simulator your agent is now in + Construct a new instance of the RegionCrossedEventArgs class @@ -2882,24 +2891,9 @@ The simulator your agent just left The simulator your agent is now in - - Get the simulator your agent just left - - - Get the simulator your agent is now in - Data sent from the simulator when your agent joins a group chat session - - - Construct a new instance of the GroupChatJoinedEventArgs class - - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - Get the ID of the group chat session @@ -2912,29 +2906,30 @@ True if your agent successfully joined the session + + + Construct a new instance of the GroupChatJoinedEventArgs class + + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session + Data sent by the simulator containing urgent messages + + Get the alert message + Construct a new instance of the AlertMessageEventArgs class The alert message - - Get the alert message - Data sent by a script requesting to take or release specified controls to your agent - - - Construct a new instance of the ScriptControlEventArgs class - - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script - Get the controls the script is attempting to take or release to the agent @@ -2944,41 +2939,34 @@ True if the script is requesting controls be released to the script + + + Construct a new instance of the ScriptControlEventArgs class + + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script + Data sent from the simulator to an agent to indicate its view limits + + Get the collision plane + Construct a new instance of the CameraConstraintEventArgs class The collision plane - - Get the collision plane - Data containing script sensor requests which allow an agent to know the specific details of a primitive sending script sensor requests - - - Construct a new instance of the ScriptSensorReplyEventArgs - - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor - Get the ID of the primitive sending the sensor @@ -3009,12 +2997,24 @@ Get the velocity of the primitive sending the sensor + + + Construct a new instance of the ScriptSensorReplyEventArgs + + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor + Contains the response data returned from the simulator in response to a - - Construct a new instance of the AvatarSitResponseEventArgs object - Get the ID of the primitive the agent will be sitting on @@ -3036,9 +3036,18 @@ Get the rotation of the agent when seated + + Construct a new instance of the AvatarSitResponseEventArgs object + Data sent when an agent joins a chat session your agent is currently participating in + + Get the ID of the chat session + + + Get the ID of the agent that joined + Construct a new instance of the ChatSessionMemberAddedEventArgs object @@ -3046,15 +3055,15 @@ The ID of the chat session The ID of the agent joining - - Get the ID of the chat session - - - Get the ID of the agent that joined - Data sent when an agent exits a chat session your agent is currently participating in + + Get the ID of the chat session + + + Get the ID of the agent that left + Construct a new instance of the ChatSessionMemberLeftEventArgs object @@ -3062,18 +3071,9 @@ The ID of the chat session The ID of the Agent that left - - Get the ID of the chat session - - - Get the ID of the agent that left - Event arguments with the result of setting display name operation - - Default constructor - Status code, 200 indicates settign display name was successful @@ -3083,12 +3083,40 @@ Details of the newly set display name + + Default constructor + Throttles the network traffic for various different traffic types. Access this class through GridClient.Throttle + + Maximum bits per second for resending unacknowledged packets + + + Maximum bits per second for LayerData terrain + + + Maximum bits per second for LayerData wind data + + + Maximum bits per second for LayerData clouds + + + Unknown, includes object data + + + Maximum bits per second for textures + + + Maximum bits per second for downloaded assets + + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers + Default constructor, uses a default high total of 1500 KBps (1536000) @@ -3125,31 +3153,6 @@ Byte array containing all the throttle values - - Maximum bits per second for resending unacknowledged packets - - - Maximum bits per second for LayerData terrain - - - Maximum bits per second for LayerData wind data - - - Maximum bits per second for LayerData clouds - - - Unknown, includes object data - - - Maximum bits per second for textures - - - Maximum bits per second for downloaded assets - - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers - Static pre-defined animations available to all agents @@ -3583,6 +3586,12 @@ Appearance Flags, introdued with server side baking, currently unused + + Mask for multiple attachments + + + Mapping between BakeType and AvatarTextureIndex + Maximum number of concurrent downloads for wearable assets and textures @@ -3617,12 +3626,6 @@ Total number of wearables per bake layer - - Mask for multiple attachments - - - Mapping between BakeType and AvatarTextureIndex - Map of what wearables are included in each bake @@ -3634,6 +3637,54 @@ Default avatar texture, used to detect when a custom texture is not set for a face + + + Contains information about a wearable inventory item + + + + Inventory ItemID of the wearable + + + AssetID of the wearable asset + + + WearableType of the wearable + + + AssetType of the wearable + + + Asset data for the wearable + + + + Data collected from visual params for each wearable + needed for the calculation of the color + + + + + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data + + + + A texture AssetID + + + Asset data for the texture + + + Collection of alpha masks that needs applying + + + Tint that should be applied to the texture + + + Where on avatar does this texture belong + The event subscribers. null if no subcribers @@ -3645,6 +3696,11 @@ Thread sync lock object + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. + The event subscribers. null if no subcribers @@ -3656,6 +3712,12 @@ Thread sync lock object + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. + The event subscribers. null if no subcribers @@ -3666,6 +3728,13 @@ Thread sync lock object + + + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. + + request. + The event subscribers. null if no subcribers @@ -3677,6 +3746,17 @@ Thread sync lock object + + + Triggered when the simulator requests the agent rebake its appearance. + + + + + + Returns true if AppearanceManager is busy and trying to set or change appearance will fail + + Visual parameters last sent to the sim @@ -4085,83 +4165,6 @@ A BakeType A list of texture slots that are inputs for the given bake - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. - - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. - - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. - - - - Triggered when the simulator requests the agent rebake its appearance. - - - - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - - - - - Contains information about a wearable inventory item - - - - Inventory ItemID of the wearable - - - AssetID of the wearable asset - - - WearableType of the wearable - - - AssetType of the wearable - - - Asset data for the wearable - - - - Data collected from visual params for each wearable - needed for the calculation of the color - - - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - - - - A texture AssetID - - - Asset data for the texture - - - Collection of alpha masks that needs applying - - - Tint that should be applied to the texture - - - Where on avatar does this texture belong - Contains the Event data returned from the data server from an AgentWearablesRequest @@ -4177,18 +4180,21 @@ Contains the Event data returned from an AppearanceSetRequest + + Indicates whether appearance setting was successful + Triggered when appearance data is sent to the sim and the main appearance thread is done. Indicates whether appearance setting was successful - - Indicates whether appearance setting was successful - Contains the Event data returned from the data server from an RebakeAvatarTextures + + The ID of the Texture Layer to bake + Triggered when the simulator sends a request for this agent to rebake @@ -4196,14 +4202,22 @@ The ID of the Texture Layer to bake - - The ID of the Texture Layer to bake - Class that handles the local asset cache + + + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled + + + + + How long (in ms) between cache checks (default is 5 min.) + + Default constructor @@ -4308,17 +4322,6 @@ Byte size we want to output String with humanly readable file size - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - - - - - How long (in ms) between cache checks (default is 5 min.) - - Helper class for sorting files by their last accessed time @@ -4468,6 +4471,26 @@ Number of milliseconds to wait for a transfer header packet if out of order data was received + + + Callback used for various asset download requests + + Transfer information + Downloaded asset, null on fail + + + + Callback used upon competition of baked texture upload + + Asset UUID of the newly uploaded baked texture + + + + A callback that fires upon the completition of the RequestMesh call + + Was the download successfull + Resulting mesh or null on problems + The event subscribers. null if no subcribers @@ -4479,6 +4502,9 @@ Thread sync lock object + + Raised when the simulator responds sends + The event subscribers. null if no subcribers @@ -4490,6 +4516,9 @@ Thread sync lock object + + Raised during upload completes + The event subscribers. null if no subcribers @@ -4501,6 +4530,9 @@ Thread sync lock object + + Raised during upload with progres update + The event subscribers. null if no subcribers @@ -4512,6 +4544,9 @@ Thread sync lock object + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + The event subscribers. null if no subcribers @@ -4523,6 +4558,9 @@ Thread sync lock object + + Fired when a texture is in the process of being downloaded by the TexturePipeline class + Texture download cache @@ -4831,41 +4869,6 @@ The sender The EventArgs object containing the packet data - - Raised when the simulator responds sends - - - Raised during upload completes - - - Raised during upload with progres update - - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - Fired when a texture is in the process of being downloaded by the TexturePipeline class - - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail - - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture - - - - A callback that fires upon the completition of the RequestMesh call - - Was the download successfull - Resulting mesh or null on problems - Xfer data @@ -4897,1001 +4900,6 @@ Represents an avatar (other than your own) - - - Particle system specific enumerators, flags and methods. - - - - - Current version of the media data for the prim - - - - - Array of media entries indexed by face number - - - - - - - - - - - - - - - - - - - - - - - - - Foliage type for this primitive. Only applicable if this - primitive is foliage - - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Identifies the owner if audio or a particle system is - active - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Objects physics engine propertis - - - Extra data about primitive - - - Indicates if prim is attached to an avatar - - - Number of clients referencing this prim - - - - Default constructor - - - - - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values - - Floating point parameter to pack - Signed eight bit value containing the packed parameter - - - - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values - - Signed eight bit value to unpack - Unpacked floating point value - - - - - - - - - Uses basic heuristics to estimate the primitive shape - - - - Complete structure for the particle system - - - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created - - - A in radians that specifies where particles will be created - - - A representing the number of seconds between burts. - - - A representing the number of meters - around the center of the source where particles will be created. - - - A representing in seconds, the minimum speed between bursts of new particles - being emitted - - - A representing in seconds the maximum speed of new particles being emitted. - - - A representing the maximum number of particles emitted per burst - - - A which represents the velocity (speed) from the source which particles are emitted - - - A which represents the Acceleration from the source which particles are emitted - - - The Key of the texture displayed on the particle - - - The Key of the specified target object or avatar particles will follow - - - Flags of particle from - - - Max Age particle system will emit particles for - - - The the particle has at the beginning of its lifecycle - - - The the particle has at the ending of its lifecycle - - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the start glow value - Minimum value is 0, maximum value is 1 - - - A that represents the end glow value - Minimum value is 0, maximum value is 1 - - - OpenGL blend function to use at particle source - - - OpenGL blend function to use at particle destination - - - - Can this particle system be packed in a legacy compatible way - - True if the particle system doesn't use new particle system features - - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker - - - - Generate byte[] array from particle data - - Byte array - - - - Particle source pattern - - - - None - - - Drop particles from source position with no force - - - "Explode" particles in all directions - - - Particles shoot across a 2D area - - - Particles shoot across a 3D Cone - - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - - - Particle Data Flags - - - - None - - - Interpolate color and alpha from start to end - - - Interpolate scale from start to end - - - Bounce particles off particle sources Z height - - - velocity of particles is dampened toward the simulators wind - - - Particles follow the source - - - Particles point towards the direction of source's velocity - - - Target of the particles - - - Particles are sent in a straight line - - - Particles emit a glow - - - used for point/grab/touch - - - continuous ribbon particle - - - particle data contains glow - - - particle data contains blend functions - - - - Particle Flags Enum - - - - None - - - Acceleration and velocity for particles are - relative to the object rotation - - - Particles use new 'correct' angle parameters - - - - Parameters used to construct a visual representation of a primitive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Calculdates hash code for prim construction data - - The has - - - Attachment point to an avatar - - - - - - - - - - - - - - - - Information on the flexible properties of a primitive - - - - - - - - - - - - - - - - - - - - - - - Default constructor - - - - - - - - - - - - - - - - - - - - - - - - Information on the light properties of a primitive - - - - - - - - - - - - - - - - - - - - Default constructor - - - - - - - - - - - - - - - - - - - - - - - - Information on the light properties of a primitive as texture map - - - - - - - - - - - Default constructor - - - - - - - - - - - - - - - - - - - - - - - - Information on the sculpt properties of a sculpted primitive - - - - - Default constructor - - - - - - - - - - - - Render inside out (inverts the normals). - - - - - Render an X axis mirror of the sculpty. - - - - - Extended properties to describe an object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default constructor - - - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet - - - - Describes physics attributes of the prim - - - - Primitive's local ID - - - Density (1000 for normal density) - - - Friction - - - Gravity multiplier (1 for normal gravity) - - - Type of physics representation of this primitive in the simulator - - - Restitution - - - - Creates PhysicsProperties from OSD - - OSDMap with incoming data - Deserialized PhysicsProperties object - - - - Serializes PhysicsProperties to OSD - - OSDMap with serialized PhysicsProperties data - - - - Texture animation mode - - - - Disable texture animation - - - Enable texture animation - - - Loop when animating textures - - - Animate in reverse direction - - - Animate forward then reverse - - - Slide texture smoothly instead of frame-stepping - - - Rotate texture instead of using frames - - - Scale texture instead of using frames - - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - - - - - Contains the definition for individual faces - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In the future this will specify whether a webpage is - attached to this face - - - - - - - - - - Represents all of the texturable faces for an object - - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - - - - - - - - - - Constructor that takes a default texture UUID - - Texture UUID to use as the default texture - - - - Constructor that takes a TextureEntryFace for the - default face - - Face to use as the default face - - - - Constructor that creates the TextureEntry class from a byte array - - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes - - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Controls the texture animation of a particular prim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - - - Contains the visual parameters describing the deformation of the avatar - - - - - Appearance version. Value greater than 0 indicates using server side baking - - - - - Version of the Current Outfit Folder that the appearance is based on - - - - - Appearance flags. Introduced with server side baking, currently unused. - - - - - List of current avatar animations - - - - - Default constructor - - - - First name - - - Last name - - - Full name - - - Active group - Positive and negative ratings @@ -5990,6 +4998,66 @@ + + Groups that this avatar is a member of + + + Positive and negative ratings + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + + + Avatar interests including spoken languages, skills, and "want to" + choices + + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead + + + + Contains the visual parameters describing the deformation of the avatar + + + + + Appearance version. Value greater than 0 indicates using server side baking + + + + + Version of the Current Outfit Folder that the appearance is based on + + + + + Appearance flags. Introduced with server side baking, currently unused. + + + + + List of current avatar animations + + + + First name + + + Last name + + + Full name + + + Active group + + + + Default constructor + + Information about agents display name @@ -6008,6 +5076,9 @@ Last name (legacy) + + Full name (legacy) + Is display name default display name @@ -6030,9 +5101,6 @@ OSD containing agent's display name data - - Full name (legacy) - Holds group information for Avatars such as those you might find in a profile @@ -6096,6 +5164,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + an agents animation playlist + The event subscribers, null of no subscribers @@ -6107,6 +5179,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the appearance information for an agent + The event subscribers, null of no subscribers @@ -6118,6 +5194,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + agent names/id values + The event subscribers, null of no subscribers @@ -6129,6 +5209,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the interests listed in an agents profile + The event subscribers, null of no subscribers @@ -6140,6 +5224,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + profile property information for an agent + The event subscribers, null of no subscribers @@ -6151,6 +5239,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the group membership an agent is a member of + The event subscribers, null of no subscribers @@ -6162,6 +5254,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + name/id pair + The event subscribers, null of no subscribers @@ -6173,6 +5269,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at + The event subscribers, null of no subscribers @@ -6184,6 +5284,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at + The event subscribers, null of no subscribers @@ -6195,6 +5299,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + an agents viewer effect information + The event subscribers, null of no subscribers @@ -6206,6 +5314,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the top picks from an agents profile + The event subscribers, null of no subscribers @@ -6217,6 +5329,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the Pick details + The event subscribers, null of no subscribers @@ -6228,6 +5344,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the classified ads an agent has placed + The event subscribers, null of no subscribers @@ -6239,6 +5359,10 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the details of a classified ad + The event subscribers, null of no subscribers @@ -6250,6 +5374,18 @@ Thread sync lock object + + Raised when the simulator sends us data containing + the details of display name change + + + + Callback giving results when fetching display names + + If the request was successful + Array of display names + Array of UUIDs that could not be fetched + Represents other avatars @@ -6401,74 +5537,6 @@ The sender The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - an agents animation playlist - - - Raised when the simulator sends us data containing - the appearance information for an agent - - - Raised when the simulator sends us data containing - agent names/id values - - - Raised when the simulator sends us data containing - the interests listed in an agents profile - - - Raised when the simulator sends us data containing - profile property information for an agent - - - Raised when the simulator sends us data containing - the group membership an agent is a member of - - - Raised when the simulator sends us data containing - name/id pair - - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at - - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at - - - Raised when the simulator sends us data containing - an agents viewer effect information - - - Raised when the simulator sends us data containing - the top picks from an agents profile - - - Raised when the simulator sends us data containing - the Pick details - - - Raised when the simulator sends us data containing - the classified ads an agent has placed - - - Raised when the simulator sends us data containing - the details of a classified ad - - - Raised when the simulator sends us data containing - the details of display name change - - - - Callback giving results when fetching display names - - If the request was successful - Array of display names - Array of UUIDs that could not be fetched - Provides data for the event The event occurs when the simulator sends @@ -6509,6 +5577,12 @@ + + Get the ID of the agent + + + Get the list of animations to start + Construct a new instance of the AvatarAnimationEventArgs class @@ -6516,12 +5590,6 @@ The ID of the agent The list of animations to start - - Get the ID of the agent - - - Get the list of animations to start - Provides data for the event The event occurs when the simulator sends @@ -6541,17 +5609,6 @@ - - - Construct a new instance of the AvatarAppearanceEventArgs class - - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent - Get the Simulator this request is from of the agent @@ -6580,6 +5637,17 @@ Appearance flags, introduced with server side baking, currently unused + + + Construct a new instance of the AvatarAppearanceEventArgs class + + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent + Represents the interests from the profile of an agent @@ -6616,6 +5684,12 @@ + + + + + + Default constructor, initialize the bit packer / bit unpacker @@ -6718,12 +5792,6 @@ 32-bit unsigned integer - - - - - - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. @@ -6924,9 +5992,25 @@ group messaging + + + Triggered when an event is received via the EventQueueGet + capability + + Event name + Decoded event data + The simulator that generated the event + Reference to the simulator this system is connected to + + Capabilities URI this system was initialized with + + + Whether the capabilities event queue is connected and + listening for incoming events + Default constructor @@ -6949,22 +6033,6 @@ - - Capabilities URI this system was initialized with - - - Whether the capabilities event queue is connected and - listening for incoming events - - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event - Attempts to convert an LLSD structure to a known Packet type @@ -6974,8557 +6042,13 @@ LLSD to convert to a Packet A Packet on success, otherwise null - + - + A custom decoder callback - Looking direction, must be a normalized vector - Up direction, must be a normalized vector - - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians - - - Origin position of this coordinate frame - - - X axis of this coordinate frame, or Forward/At in grid terms - - - Y axis of this coordinate frame, or Left in grid terms - - - Z axis of this coordinate frame, or Up in grid terms - - - - Access to the data server which allows searching for land, events, people, etc - - - - The event subscribers. null if no subcribers - - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient - - - - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - - - - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - - - - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator - - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - - - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - - - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Send a request to the data server for land sales listings - - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - - - - Search the People directory for other avatars - - The name or portion of the name of the avatar you wish to search for - - - - - - Search Places for parcels of land you personally own - - - - - Searches Places for land owned by the specified group - - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - - - - Search the Places directory for parcels that are listed in search and contain the specified keywords - - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - - - - Search Places - All Options - - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - - - - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - - - - Search Events - - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - - Requests Event Details - ID of Event returned from the method - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Classified Ad categories - - - Classified is listed in the Any category - - - Classified is shopping related - - - Classified is - - - - - - - - - - - - - - - - - - - - - - - - Event Categories - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - - - Query the People database - - - - - - - - - Query the Groups database - - - Query the Events database - - - Query the land holdings database for land owned by the currently connected agent - - - - - - Query the land holdings database for land which is owned by a Group - - - Specifies the query should pre sort the results based upon traffic - when searching the Places database - - - - - - - - - - - - - - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - - - - - - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - - - - - Land types to search dataserver for - - - - Search Auction, Mainland and Estate - - - Land which is currently up for auction - - - Parcels which are on the mainland (Linden owned) continents - - - Parcels which are on privately owned simulators - - - - The content rating of the event - - - - Event is PG - - - Event is Mature - - - Event is Adult - - - - Classified Ad Options - - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - - - - - - - - - - - - - - - - - - Classified ad query options - - - - Include all ads in results - - - Include PG ads in results - - - Include Mature ads in results - - - Include Adult ads in results - - - - The For Sale flag in PlacesReplyData - - - - Parcel is not listed for sale - - - Parcel is For Sale - - - - A classified ad on the grid - - - - UUID for this ad, useful for looking up detailed - information about it - - - The title of this classified ad - - - Flags that show certain options applied to the classified - - - Creation date of the ad - - - Expiration date of the ad - - - Price that was paid for this ad - - - Print the struct data as a string - A string containing the field name, and field value - - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - - - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method - - - A string containing the name of the parcel - - - The size of the parcel - This field is not returned for Places searches - - - The price of the parcel - This field is not returned for Places searches - - - If True, this parcel is flagged to be auctioned - - - If true, this parcel is currently set for sale - - - Parcel traffic - - - Print the struct data as a string - A string containing the field name, and field value - - - - An Avatar returned from the dataserver - - - - Online status of agent - This field appears to be obsolete and always returns false - - - The agents first name - - - The agents last name - - - The agents - - - Print the struct data as a string - A string containing the field name, and field value - - - - Response to a "Groups" Search - - - - The Group ID - - - The name of the group - - - The current number of members - - - Print the struct data as a string - A string containing the field name, and field value - - - - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source - - - - The ID of the Agent of Group that owns the parcel - - - The name - - - The description - - - The Size of the parcel - - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 - - - Indicates the ForSale status of the parcel - - - The Gridwide X position - - - The Gridwide Y position - - - The Z position of the parcel, or 0 if no landing point set - - - The name of the Region the parcel is located in - - - The Asset ID of the parcels Snapshot texture - - - The calculated visitor traffic - - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - - - - No longer used, will always be 0 - - - Get a SL URL for the parcel - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - - An "Event" Listing summary - - - - The ID of the event creator - - - The name of the event - - - The events ID - - - A string containing the short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) - - - The events maturity rating - - - Print the struct data as a string - A string containing the field name, and field value - - - - The details of an "Event" - - - - The events ID - - - The ID of the event creator - - - The name of the event - - - The category - - - The events description - - - The short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) UTC adjusted - - - The length of the event in minutes - - - 0 if no cover charge applies - - - The cover charge amount in L$ if applicable - - - The name of the region where the event is being held - - - The gridwide location of the event - - - The maturity rating - - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - Contains the Event data returned from the data server from an EventInfoRequest - - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event - - - - A single EventInfo object containing the details of an event - - - - Contains the "Event" detail data returned from the data server - - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query - - - The ID returned by - - - A list of "Events" returned by the data server - - - Contains the "Event" list data returned from the data server - - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query - - - The ID returned by - - - A list of "Places" returned by the data server - - - Contains the places data returned from the data server - - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server - - - The ID returned by - - - A list containing Places data returned by the data server - - - Contains the classified data returned from the data server - - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server - - - A list containing Classified Ads returned by the data server - - - Contains the group data returned from the data server - - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server - - - The ID returned by - - - A list containing Groups data returned by the data server - - - Contains the people data returned from the data server - - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server - - - The ID returned by - - - A list containing People data returned by the data server - - - Contains the land sales data returned from the data server - - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server - - - A list containing land forsale data returned by the data server - - - - Represends individual HTTP Download request - - - - URI of the item to fetch - - - Timout specified in milliseconds - - - Download progress callback - - - Download completed callback - - - Accept the following content type - - - How many times will this request be retried - - - Current fetch attempt - - - Default constructor - - - Constructor - - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - - - - Default constructor - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTTP download - - - Maximum number of parallel downloads from a single endpoint - - - Client certificate - - - Describes tasks returned in LandStatReply - - - - Estate level administration and utilities - - - - Textures for each of the four terrain height levels - - - Upper/lower texture boundaries for each corner of the sim - - - - Constructor for EstateTools class - - - - - The event subscribers. null if no subcribers - - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - - Requests estate information such as top scripts and colliders - - - - - - - - Requests estate settings, including estate manager and access/ban lists - - - Requests the "Top Scripts" list for the current region - - - Requests the "Top Colliders" list for the current region - - - - Set several estate specific configuration variables - - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - - - - Request return of objects owned by specified avatar - - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate - - - - - - - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include - - - - Kick an avatar from an estate - - Key of Agent to remove - - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner - - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner - - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate - - - - Send a message dialog to everyone in a simulator - - Message to send all users in the simulator - - - - Send an avatar back to their home location - - Key of avatar to send home - - - - Begin the region restart process - - - - - Cancels a region restart - - - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - - - Upload a terrain RAW file - - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - - - - Teleports all users home in current Estate - - - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner - - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner - - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true - - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true - - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true - - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Used in the ReportType field of a LandStatRequest - - - Used by EstateOwnerMessage packets - - - Used by EstateOwnerMessage packets - - - - - - - - No flags set - - - Only return targets scripted objects - - - Only return targets objects if on others land - - - Returns target's scripted objects and objects on other parcels - - - Ground texture settings for each corner of the region - - - Used by GroundTextureHeightSettings - - - The high and low texture thresholds for each corner of the sim - - - Raised on LandStatReply when the report type is for "top colliders" - - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - The number of returned items in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Raised on LandStatReply when the report type is for "top Scripts" - - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - The number of scripts returned in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned - - - - The identifier of the estate - - - - - The number of returned itmes - - - - - List of UUIDs of Banned Users - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Users - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Groups - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of the Estate's Managers - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) - - - - The Covenant - - - - - The timestamp - - - - - The Estate name - - - - - The Estate Owner's ID (can be a GroupID) - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - - - - The estate's name - - - - - The Estate Owner's ID (can be a GroupID) - - - - - The identifier of the estate on the grid - - - - - - - - Registers, unregisters, and fires events generated by incoming packets - - - - Reference to the GridClient object - - - - Default constructor - - - - - - Register an event handler - - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered - - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from - - - - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks - - - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed - - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - - - - Reference to the GridClient object - - - - Default constructor - - Reference to the GridClient object - - - - Register an new event handler for a capabilities event sent via the EventQueue - - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - - - - Unregister a previously registered capabilities handler - - Capability event name unregister the - handler for - Callback to unregister - - - - Fire the events registered for this event type synchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - Fire the events registered for this event type asynchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - - - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data - - - Reference to the simulator that generated this event - - - - - - - - The avatar has no rights - - - The avatar can see the online status of the target avatar - - - The avatar can see the location of the target avatar on the map - - - The avatar can modify the ojects of the target avatar - - - - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - - - - - Used internally when building the initial list of friends at login time - - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects - - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights - - - - System ID of the avatar - - - - - full name of the avatar - - - - - True if the avatar is online - - - - - True if the friend can see if I am online - - - - - True if the friend can see me on the map - - - - - True if the freind can modify my objects - - - - - True if I can see if my friend is online - - - - - True if I can see if my friend is on the map - - - - - True if I can modify my friend's objects - - - - - My friend's rights represented as bitmapped flags - - - - - My rights represented as bitmapped flags - - - - - This class is used to add and remove avatars from your friends list and to manage their permission. - - - - The event subscribers. null if no subcribers - - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - - - - - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer - - - - - Internal constructor - - A reference to the GridClient Object - - - - Accept a friendship request - - agentID of avatatar to form friendship with - imSessionID of the friendship request message - - - - Decline a friendship request - - of friend - imSessionID of the friendship request message - - - - Overload: Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - - - - Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - A message to send with the request - - - - Terminate a friendship with an avatar - - System ID of the avatar you are terminating the friendship with - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Change the rights of a friend avatar. - - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. - - - - Use to map a friends location on the grid. - - Friends UUID to find - - - - - Use to track a friends movement on the grid - - Friends Key - - - - Ask for a notification of friend's online status - - Friend's UUID - - - - This handles the asynchronous response of a RequestAvatarNames call. - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server - - - Raised when the simulator sends notification one of the members in our friends list comes online - - - Raised when the simulator sends notification one of the members in our friends list goes offline - - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - - Raised when the simulator sends us the names on our friends list - - - Raised when the simulator sends notification another agent is offering us friendship - - - Raised when a request we sent to friend another agent is accepted or declined - - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship - - - Raised when the simulator sends the location of a friend we have - requested map location info for - - - Contains information on a member of our friends list - - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo - - - Get the FriendInfo - - - Contains Friend Names - - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - Sent when another agent requests a friendship with our agent - - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer - - - Get the ID of the agent requesting friendship - - - Get the name of the agent requesting friendship - - - Get the ID of the session, used in accepting or declining the - friendship offer - - - A response containing the results of our request to form a friendship with another agent - - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer - - - Get the ID of the agent we requested a friendship with - - - Get the name of the agent we requested a friendship with - - - true if the agent accepted our friendship offer - - - Contains data sent when a friend terminates a friendship with us - - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us - - - Get the ID of the agent that terminated the friendship with us - - - Get the name of the agent that terminated the friendship with us - - - - Data sent in response to a request which contains the information to allow us to map the friends location - - - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located - - - Get the ID of the agent we have received location information for - - - Get the region handle where our mapped friend is located - - - Get the simulator local position where our friend is located - - - - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. - - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - - - - Networking subsystem - - - Settings class including constant values and changeable - parameters for everything - - - Parcel (subdivided simulator lots) subsystem - - - Our own avatars subsystem - - - Other avatars subsystem - - - Estate subsystem - - - Friends list subsystem - - - Grid (aka simulator group) subsystem - - - Object subsystem - - - Group subsystem - - - Asset subsystem - - - Appearance subsystem - - - Inventory subsystem - - - Directory searches including classifieds, people, land - sales, etc - - - Handles land, wind, and cloud heightmaps - - - Handles sound-related networking - - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types - - - - Default constructor - - - - - Return the full name of this instance - - Client avatars full name - - - - Map layer request type - - - - Objects and terrain are shown - - - Only the terrain is shown, no objects - - - Overlay showing land for sale and for auction - - - - Type of grid item, such as telehub, event, populator location, etc. - - - - Telehub - - - PG rated event - - - Mature rated event - - - Popular location - - - Locations of avatar groups in a region - - - Land for sale - - - Classified ad - - - Adult rated event - - - Adult land for sale - - - - Information about a region on the grid map - - - - Sim X position on World Map - - - Sim Y position on World Map - - - Sim Name (NOTE: In lowercase!) - - - - - - Appears to always be zero (None) - - - Sim's defined Water Height - - - - - - UUID of the World Map image - - - Unique identifier for this region, a combination of the X - and Y position - - - - - - - - - - - - - - - - - - - - - - - Visual chunk of the grid map - - - - - Base class for Map Items - - - - The Global X position of the item - - - The Global Y position of the item - - - Get the Local X position of the item - - - Get the Local Y position of the item - - - Get the Handle of the region - - - - Represents an agent or group of agents location - - - - - Represents a Telehub location - - - - - Represents a non-adult parcel of land for sale - - - - - Represents an Adult parcel of land for sale - - - - - Represents a PG Event - - - - - Represents a Mature event - - - - - Represents an Adult event - - - - - Manages grid-wide tasks such as the world map - - - - The event subscribers. null if no subcribers - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - A dictionary of all the regions, indexed by region name - - - A dictionary of all the regions, indexed by region handle - - - - Constructor - - Instance of GridClient object to associate with this GridManager instance - - - - - - - - - - Request a map layer - - The name of the region - The type of layer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Request data for all mainland (Linden managed) simulators - - - - - Request the region handle for the specified region UUID - - UUID of the region to look up - - - - Get grid region information using the region name, this function - will block until it can find the region or gives up - - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends a - containing the location of agents in the simulator - - - Raised when the simulator sends a Region Data in response to - a Map request - - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information - - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location - - - Raised in response to a Region lookup - - - Unknown - - - Current direction of the sun - - - Current angular velocity of the sun - - - Microseconds since the start of SL 4-hour day - - - - Avatar group management - - - - Key of Group Member - - - Total land contribution - - - Online status information - - - Abilities that the Group Member has - - - Current group title - - - Is a group owner - - - - Role manager for a group - - - - Key of the group - - - Key of Role - - - Name of Role - - - Group Title associated with Role - - - Description of Role - - - Abilities Associated with Role - - - Returns the role's title - The role's title - - - - Class to represent Group Title - - - - Key of the group - - - ID of the role title belongs to - - - Group Title - - - Whether title is Active - - - Returns group title - - - - Represents a group on the grid - - - - Key of Group - - - Key of Group Insignia - - - Key of Group Founder - - - Key of Group Role for Owners - - - Name of Group - - - Text of Group Charter - - - Title of "everyone" role - - - Is the group open for enrolement to everyone - - - Will group show up in search - - - - - - - - - - - - Is the group Mature - - - Cost of group membership - - - - - - - - - The total number of current members this group has - - - The number of roles this group has configured - - - Show this group in agent's profile - - - Returns the name of the group - A string containing the name of the group - - - - A group Vote - - - - Key of Avatar who created Vote - - - Text of the Vote proposal - - - Total number of votes - - - - A group proposal - - - - The Text of the proposal - - - The minimum number of members that must vote before proposal passes or failes - - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum - - - The duration in days votes are accepted - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Struct representing a group notice - - - - - - - - - - - - - - - - - - - - - - - Struct representing a group notice list entry - - - - Notice ID - - - Creation timestamp of notice - - - Agent name who created notice - - - Notice subject - - - Is there an attachment? - - - Attachment Type - - - - Struct representing a member of a group chat session and their settings - - - - The of the Avatar - - - True if user has voice chat enabled - - - True of Avatar has moderator abilities - - - True if a moderator has muted this avatars chat - - - True if a moderator has muted this avatars voice - - - - Role update flags - - - - - - - - - - - - - - - - - - - - - - - - - Can send invitations to groups default role - - - Can eject members from group - - - Can toggle 'Open Enrollment' and change 'Signup fee' - - - Member is visible in the public member list - - - Can create new roles - - - Can delete existing roles - - - Can change Role names, titles and descriptions - - - Can assign other members to assigners role - - - Can assign other members to any role - - - Can remove members from roles - - - Can assign and remove abilities in roles - - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings - - - Can buy land or deed land to group - - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates - - - Can set land for-sale information on group owned parcels - - - Can subdivide and join parcels - - - Can join group chat sessions - - - Can use voice chat in Group Chat sessions - - - Can moderate group chat sessions - - - Can toggle "Show in Find Places" and set search category - - - Can change parcel name, description, and 'Publish on web' settings - - - Can set the landing point and teleport routing on group land - - - Can change music and media settings - - - Can toggle 'Edit Terrain' option in Land settings - - - Can toggle various About Land > Options settings - - - Can always terraform land, even if parcel settings have it turned off - - - Can always fly while over group owned land - - - Can always rez objects on group owned land - - - Can always create landmarks for group owned parcels - - - Can set home location on any group owned parcel - - - Can modify public access settings for group owned parcels - - - Can manager parcel ban lists on group owned land - - - Can manage pass list sales information - - - Can eject and freeze other avatars on group owned land - - - Can return objects set to group - - - Can return non-group owned/set objects - - - Can return group owned objects - - - Can landscape using Linden plants - - - Can deed objects to group - - - Can move group owned objects - - - Can set group owned objects for-sale - - - Pay group liabilities and receive group dividends - - - List and Host group events - - - Can send group notices - - - Can receive group notices - - - Can create group proposals - - - Can vote on group proposals - - - - Ban actions available for group members - - - - Ban agent from joining a group - - - Remove restriction on agent jointing a group - - - - Handles all network traffic related to reading and writing group - information - - - - The event subscribers. null if no subcribers - - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the BannedAgents event - An BannedAgentsEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - A reference to the current instance - - - Currently-active group members requests - - - Currently-active group roles requests - - - Currently-active group role-member requests - - - Dictionary keeping group members while request is in progress - - - Dictionary keeping mebmer/role mapping while request is in progress - - - Dictionary keeping GroupRole information while request is in progress - - - Caches group name lookups - - - - Construct a new instance of the GroupManager class - - A reference to the current instance - - - - Request a current list of groups the avatar is a member of. - - CAPS Event Queue must be running for this to work since the results - come across CAPS. - - - - Lookup name of group based on groupID - - groupID of group to lookup name for. - - - - Request lookup of multiple group names - - List of group IDs to request. - - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) - - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) - - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite - - - Set a group as the current active group - group ID (UUID) - - - Change the role that determines your active title - Group ID to use - Role ID to change to - - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate - - - - Save wheather agent wants to accept group notices and list this group in their profile - - Group - Accept notices from this group - List this group in the profile - - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. - - - - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted - - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info - - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. - - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject - - - Update role information - Modified role to be updated - - - Create a new group role - Group ID to update - Role to create - - - Delete a group role - Group ID to update - Role to delete - - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove - - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role - - - Request the group notices list - Group ID to fetch notices for - - - Request a group notice by key - ID of group notice - - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data - - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal - - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave - - - - Gets the URI of the cpability for handling group bans - - Group ID - null, if the feature is not supported, or URI of the capability - - - - Request a list of residents banned from joining a group - - UUID of the group - - - - Request a list of residents banned from joining a group - - UUID of the group - Callback on request completition - - - - Request that group of agents be banned or unbanned from the group - - Group ID - Ban/Unban action - Array of agents UUIDs to ban - - - - Request that group of agents be banned or unbanned from the group - - Group ID - Ban/Unban action - Array of agents UUIDs to ban - Callback - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - our current group membership - - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator - - - Raised when a request to create a group is successful - - - Raised when a request to join a group either - fails or succeeds - - - Raised when a request to leave a group either - fails or succeeds - - - Raised when A group is removed from the group server - - - Raised when a request to eject a member from a group either - fails or succeeds - - - Raised when the simulator sends us group notices - - - - Raised when another agent invites our avatar to join a group - - - Raised when another agent invites our avatar to join a group - - - Contains the current groups your agent is a member of - - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of - - - Get the current groups your agent is a member of - - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary - - - Get the Group Names dictionary - - - Represents the members of a group - - - - Construct a new instance of the GroupMembersReplyEventArgs class - - The ID of the request - The ID of the group - The membership list of the group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the dictionary of members - - - Represents the roles associated with a group - - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the dictionary containing the roles - - - Represents the Role to Member mappings for a group - - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the member to roles map - - - Represents the titles for a group - - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the titles - - - Represents the summary data for a group - - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data - - - Get the ID of the group - - - Get the summary data - - - A response to a group create request - - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information - - - Get the ID of the group - - - true of the group was created successfully - - - A string containing the message - - - Represents a response to a request - - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful - - - Get the ID of the group - - - true of the request was successful - - - Represents your agent leaving a group - - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group - - - Get the ID of the group - - - Represents a list of active group notices - - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices - - - Get the ID of the group - - - Get the notices list - - - Represents the profile of a group - - - Construct a new instance of the GroupProfileEventArgs class - The group profile - - - Get the group profile - - - - Provides notification of a group invitation request sent by another Avatar - - The invitation is raised when another avatar makes an offer for our avatar - to join a group. - - - The ID of the Avatar sending the group invitation - - - The name of the Avatar sending the group invitation - - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details - - - The Simulator - - - Set to true to accept invitation, false to decline - - - - Result of the request for list of agents banned from a group - - - - Indicates if list of banned agents for a group was successfully retrieved - - - Indicates if list of banned agents for a group was successfully retrieved - - - Array containing a list of UUIDs of the agents banned from a group - - - - Static helper functions and global variables - - - - This header flag signals that ACKs are appended to the packet - - - This header flag signals that this packet has been sent before - - - This header flags signals that an ACK is expected for this packet - - - This header flag signals that the message is compressed using zerocoding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to - - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number - - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output - - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer - - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer - - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC - - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD - - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives - - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - - - - - Passed to Logger.Log() to identify the severity of a log entry - - - - No logging information will be output - - - Non-noisy useful information, may be helpful in - debugging a problem - - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue - - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain - - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. - - - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - - Key - Value - - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - - - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - - - - Perform an on each key of an - to perform - - - - Perform an on each KeyValuePair of an - - to perform - - - Check if Key exists in Dictionary - Key to check for - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise - - - - Gets the number of Key/Value pairs contained in the - - - - - Indexer for the dictionary - - The key - The value - - - - Exception class to identify inventory exceptions - - - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - - Returns the contents of the specified folder - - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - - - - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method - - The InventoryObject to store - - - - Removes the InventoryObject and all related node data from Inventory. - - The InventoryObject to remove. - - - - Used to find out if Inventory contains the InventoryObject - specified by uuid. - - The UUID to check. - true if inventory contains uuid, false otherwise - - - - Saves the current inventory structure to a cache file - - Name of the cache file to save to - - - - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. - - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - - The root folder of this avatars inventory - - - - - The default shared library folder - - - - - The root node of the avatars inventory - - - - - The root node of the default shared library - - - - - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - - - Sort by name - - - Sort by date - - - Sort folders by name, regardless of whether items are - sorted by name or date - - - Place system folders at the top - - - - Possible destinations for DeRezObject request - - - - - - - Copy from in-world to agent inventory - - - Derez to TaskInventory - - - - - - Take Object - - - - - - Delete Object - - - Put an avatar attachment into agent inventory - - - - - - Return an object back to the owner's inventory - - - Return a deeded object back to the last owner's inventory - - - - Upper half of the Flags field for inventory items - - - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez - - - Indicates that the object sale information has been - changed - - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - - Indicates whether this object is composed of multiple - items or not - - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted - - - - Base Class for Inventory Items - - - - of item/folder - - - of parent folder - - - Name of item/folder - - - Item/Folder Owners - - - - Constructor, takes an itemID as a parameter - - The of the item - - - - - - - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - Convert inventory to OSD - - OSD representation - - - - An Item in Inventory - - - - The of this item - - - The combined of this item - - - The type of item from - - - The type of item from the enum - - - The of the creator of this item - - - A Description of this item - - - The s this item is set to or owned by - - - If true, item is owned by a group - - - The price this item can be purchased for - - - The type of sale from the enum - - - Combined flags from - - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) - - - Used to update the AssetID in requests sent to the server - - - The of the previous owner of the item - - - - Construct a new InventoryItem object - - The of the item - - - - Construct a new InventoryItem object of a specific Type - - The type of item from - of the item - - - - Indicates inventory item is a link - - True if inventory item is a link to another inventory item - - - - - - - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryItem fields - - - - Compares an object - - The object to compare - true if comparison object matches - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - Create InventoryItem from OSD - - OSD Data that makes up InventoryItem - Inventory item created - - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem - - - - InventoryTexture Class representing a graphical image - - - - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryTexture object from a serialization stream - - - - - InventorySound Class representing a playable sound - - - - - Construct an InventorySound object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySound object from a serialization stream - - - - - InventoryCallingCard Class, contains information on another avatar - - - - - Construct an InventoryCallingCard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCallingCard object from a serialization stream - - - - - InventoryLandmark Class, contains details on a specific location - - - - - Construct an InventoryLandmark object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryLandmark object from a serialization stream - - - - - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - - - - - InventoryObject Class contains details on a primitive or coalesced set of primitives - - - - - Construct an InventoryObject object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryObject object from a serialization stream - - - - - Gets or sets the upper byte of the Flags value - - - - - Gets or sets the object attachment point, the lower byte of the Flags value - - - - - InventoryNotecard Class, contains details on an encoded text document - - - - - Construct an InventoryNotecard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryNotecard object from a serialization stream - - - - - InventoryCategory Class - - TODO: Is this even used for anything? - - - - Construct an InventoryCategory object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCategory object from a serialization stream - - - - - InventoryLSL Class, represents a Linden Scripting Language object - - - - - Construct an InventoryLSL object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryLSL object from a serialization stream - - - - - InventorySnapshot Class, an image taken with the viewer - - - - - Construct an InventorySnapshot object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySnapshot object from a serialization stream - - - - - InventoryAttachment Class, contains details on an attachable object - - - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAttachment object from a serialization stream - - - - - Get the last AttachmentPoint this object was attached to - - - - - InventoryWearable Class, details on a clothing item or body part - - - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryWearable object from a serialization stream - - - - - The , Skin, Shape, Skirt, Etc - - - - - InventoryAnimation Class, A bvh encoded object which animates an avatar - - - - - Construct an InventoryAnimation object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAnimation object from a serialization stream - - - - - InventoryGesture Class, details on a series of animations, sounds, and actions - - - - - Construct an InventoryGesture object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryGesture object from a serialization stream - - - - - A folder contains s and has certain attributes specific - to itself - - - - The Preferred for a folder. - - - The Version of this folder - - - Number of child items this folder contains. - - - - Constructor - - UUID of the folder - - - - - - - - - - Get Serilization data for this InventoryFolder object - - - - - Construct an InventoryFolder object from a serialization stream - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create InventoryFolder from OSD - - OSD Data that makes up InventoryFolder - Inventory folder created - - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem - - - - Tools for dealing with agents inventory - - - - Used for converting shadow_id to asset_id - - - The event subscribers, null of no subscribers - - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Partial mapping of AssetTypes to folder names - - - - Default constructor - - Reference to the GridClient object - - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event - - - - Request A single inventory item - - The items - The item Owners - - - - - Request inventory items - - Inventory items to request - Owners of the inventory items - - - - - Request inventory items via Capabilities - - Inventory items to request - Owners of the inventory items - - - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested - - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - - Request the contents of an inventory folder using HTTP capabilities - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure - - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found - - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event - - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found - - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to - - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to - - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to - - - - Update folder properties - - of the folder to update - Sets folder's parent to - Folder name - Folder type - - - - Move a folder - - The source folders - The destination folders - - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value - - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder - - - - Move and rename an inventory item - - The of the source item to move - The of the destination folder - The name to change the folder to - - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value - - - - Remove descendants of a folder - - The of the folder - - - - Remove a single item from inventory - - The of the inventory item to remove - - - - Remove a folder from inventory - - The of the folder to remove - - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove - - - - Empty the Lost and Found folder - - - - - Empty the Trash folder - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item - - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link - - - - Creates inventory link to another inventory folder - - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Request a copy of an asset embedded within a notecard - - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Save changes to notecard embedded in object contents - - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information - - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete - - - - Update an existing script in an agents Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - - - - - Update an existing script in an task Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object - - - - Rez an object from inventory - - Simulator to place object in - TaskID object when rezzed - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object - - - - DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - DeRez an object from the simulator and return to inventory - - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - Rez an item from inventory to its previous simulator location - - - - - - - - - Give an inventory item to another avatar - - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Give an inventory Folder with contents to another avatar - - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Copy or move an from agent inventory to a task (primitive) inventory - - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory - - - - Retrieve a listing of the items contained in a task (Primitive) - - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded - - - - Request the contents of a tasks (primitives) inventory from the - current simulator - - The LocalID of the object - - - - - Request the contents of a tasks (primitives) inventory - - The simulator Local ID of the object - A reference to the simulator object that contains the object - - - - - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event - - - - Remove an item from an objects (Prim) Inventory - - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event - - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - - - - - Request the running status of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - - - - Send a request to set the running state of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event - - - - Create a CRC from an InventoryItem - - The source InventoryItem - A uint representing the source InventoryItem as a CRC - - - - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - - Obfuscated shadow_id value - Deobfuscated asset_id value - - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value - - - - Wrapper for creating a new object - - The type of item from the enum - The of the newly created object - An object with the type and id passed - - - - Parse the results of a RequestTaskInventory() response - - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - - Get this agents Inventory data - - - - - Callback for inventory item creation finishing - - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null - - - - Callback for an inventory item being create from an uploaded asset - - true if inventory item creation was successful - - - - - - - - - - - - - Reply received when uploading an inventory asset - - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID - - - - Delegate that is invoked when script upload is completed - - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used - - - - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. - - - - - - - - - - - - - - - - De-serialization constructor for the InventoryNode Class - - - - - Serialization handler for the InventoryNode Class - - - - - De-serialization handler for the InventoryNode Class - - - - - - - - - - - - - User data - - - - - - - - - - - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - - - - - Singleton logging class for the entire library - - - - log4net logging engine - - - - Default constructor - - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Exception that was raised - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised - - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client - - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console - - - - Callback used for client apps to receive log messages from - the library - - Data being logged - The severity of the log entry from - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Status of the last application run. - Used for error reporting to the grid login service for statistical purposes. - - - - Application exited normally - - - Application froze - - - Application detected error and exited abnormally - - - Other crash - - - Application froze during logout - - - Application crashed during logout - - - - Login Request Parameters - - - - The URL of the Login Server - - - The number of milliseconds to wait before a login is considered - failed due to timeout - - - The request method - login_to_simulator is currently the only supported method - - - The Agents First name - - - The Agents Last name - - - A md5 hashed password - plaintext password will be automatically hashed - - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - - A string containing the client software channel information - Second Life Release - - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer - - - A string containing the platform information the agent is running on - - - A string hash of the network cards Mac Address - - - Unknown or deprecated - - - A string hash of the first disk drives ID used to identify this clients uniqueness - - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string - - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information - - - If true, this agent agrees to the Terms of Service of the grid its connecting to - - - Unknown - - - Status of the last application run sent to the grid login server for statistical purposes - - - An array of string sent to the login server to enable various options - - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire - - - - Default constuctor, initializes sane default values - - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server - - - - The decoded data returned from the login server after a successful login - - - - true, false, indeterminate - - - Login message of the day - - - M or PG, also agent_region_access and agent_access_max - - - - Parse LLSD Login Reply Data - - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes - - - - Login Routines - - - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. - - - - The event subscribers, null of no subscribers - - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Seed CAPS URL returned from the login server - - - Maximum number of groups an agent can belong to, -1 for unlimited - - - Server side baking service URL - - - Parsed login response data - - - A list of packets obtained during the login process which - networkmanager will log but not process - - - - Generate sane default values for a login request - - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - A populated struct containing - sane defaults - - - - Simplified login that takes the most common and required fields - - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password - - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name (channel) - Starting location URI that can be built with - StartLocation() - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Login that takes a struct of all the values that will be passed to - the login server - - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Build a start location URI for passing to the Login function - - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location - - - - LoginParams and the initial login XmlRpcRequest were made on a remote machine. - This method now initializes libomv with the results. - - - - - Handles response from XML-RPC login replies - - - - - Handles response from XML-RPC login replies with already parsed LoginResponseData - - - - - Handle response from LLSD login replies - - - - - - - - Get current OS - - Either "Win" or "Linux" - - - - Get clients default Mac Address - - A string containing the first found Mac Address - - - The event subscribers, null of no subscribers - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - All of the simulators we are currently connected to - - - Handlers for incoming capability events - - - Handlers for incoming packets - - - Incoming packets that are awaiting handling - - - Outgoing packets that are awaiting handling - - - - Default constructor - - Reference to the GridClient object - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously - - - - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type this callback is registered with - Callback to stop firing events for - - - - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received - - - - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event this callback is - registered with - Callback to stop firing events for - - - - Send a packet to the simulator the avatar is currently occupying - - Packet to send - - - - Send a packet to a specified simulator - - Packet to send - Simulator to send the packet to - - - - Connect to a simulator - - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Connect to a simulator - - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down - - - - - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called - - - - - Close a connection to the given simulator - - - - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - - Type of shutdown - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - - Type of shutdown - Shutdown message - - - - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint - - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null - - - - Fire an event when an event queue connects for capabilities - - Simulator the event queue is attached to - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - ... - - - Called when a reply is received from the login server, the - login sequence will block until this event returns - - - Current state of logging in - - - Upon login failure, contains a short string key for the - type of login error that occurred - - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) - - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Unique identifier associated with our connections to - simulators - - - The simulator that the logged in avatar is currently - occupying - - - Shows whether the network layer is logged in to the - grid or not - - - Number of packets in the incoming queue - - - Number of packets in the outgoing queue - - - - - - - - - - - - - - Explains why a simulator or the grid disconnected from us - - - - The client requested the logout or simulator disconnect - - - The server notified us that it is disconnecting - - - Either a socket was closed or network traffic timed out - - - The last active simulator shut down - - - - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling - - - - Reference to the simulator that this packet came from - - - Packet that needs to be processed - - - - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending - - - - Reference to the simulator this packet is destined for - - - Packet that needs to be sent - - - Sequence number of the wrapped packet - - - Number of times this packet has been resent - - - Environment.TickCount when this packet was last sent over the wire - - - Type of the packet - - - - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets - - - - - - - - - - - - - - - - - - - - Constructor that takes all the fields as parameters - - - - - - - - - - Constructor that takes a single line from a NameValue field - - - - - Type of the value - - - Unknown - - - String value - - - - - - - - - - - - - - - Deprecated - - - String value, but designated as an asset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No report - - - Unknown report type - - - Bug report - - - Complaint report - - - Customer service report - - - - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - - - - Unknown - - - Whether the object has a TreeSpecies - - - Whether the object has floating text ala llSetText - - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity - - - Whether the object has a name value pairs string - - - Whether the object has a Media URL set - - - - Specific Flags for MultipleObjectUpdate requests - - - - None - - - Change position of prims - - - Change rotation of prims - - - Change size of prims - - - Perform operation on link set - - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale - - - - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use - - - - - Indicates that this pay option should be hidden - - - - - Indicates that this pay option should have the default value - - - - - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Handles all network traffic related to prims and avatar positions and - movement. - - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the KillObjects Event - A KillObjectsEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the PhysicsProperties Event - A PhysicsPropertiesEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Reference to the GridClient object - - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects - - - - Construct a new instance of the ObjectManager class - - A reference to the instance - - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object - - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects - - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - - - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - - - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - Type of the represetnation prim will have in the physics engine - Density - normal value 1000 - Friction - normal value 0.6 - Restitution - standard value 0.5 - Gravity multiplier - standar value 1.0 - - - - Sets the sale properties of a single object - - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object - - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object - - - - Deselect a single object - - The the object is located - The Local ID of the object - - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects - - - - Perform a click action on an object - - The the object is located - The Local ID of the object - - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old - - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) - - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set - - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? - - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink - - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object - - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object - - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects - - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object - - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects - - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object - - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in - - - - Detach an object from yourself - - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach - - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset - - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly - - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset - - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum - - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to - - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to - - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - Which permission to modify - The new state of permission - - - - Request additional properties for an object - - A reference to the object where the object resides - - - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request - - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located - - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located - - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - - - - - - - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a - - - - - - - - - - - - - - - - - - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape - - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - - - - Raised when the simulator sends us data containing - additional information - - - - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking - - - Raised when the simulator sends us data containing - additional and details - - - - Raised when the simulator sends us data containing - updated information for an - - - Raised when the simulator sends us data containing - and movement changes - - - Raised when the simulator sends us data containing - updates to an Objects DataBlock - - - Raised when the simulator informs us an - or is no longer within view - - - Raised when the simulator informs us when a group of - or is no longer within view - - - Raised when the simulator sends us data containing - updated sit information for our - - - Raised when the simulator sends us data containing - purchase price information for a - - - Raised when the simulator sends us data containing - additional information - - - - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data - - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - - - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - - Get the simulator the originated from - - - Get the details - - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - - true if the is attached to an - - - Get the simulator Time Dilation - - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - - - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update - - - Get the simulator the object originated from - - - Get the data - - - Get the simulator time dilation - - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - - - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties - - - Get the simulator the object is located - - - Get the primitive properties - - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - - - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties - - - Get the primitive details - - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - - - - Get the simulator the object is located - - - - - - - - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - - - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - - - - - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - - - - - - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event - - - Get the simulator the object is located - - - The LocalID of the object - - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event - - - Get the simulator the object is located - - - The LocalID of the object - - - - Provides updates sit position data - - - - Get the simulator the object is located - - - - - - - - - - - - - - - - - Get the simulator the object is located - - - - - - - - - - - - - Indicates if the operation was successful - - - - - Media version string - - - - - Array of media entries indexed by face number - - - - - Set when simulator sends us infomation on primitive's physical properties - - - - Simulator where the message originated - - - Updated physical properties - - - - Constructor - - Simulator where the message originated - Updated physical properties - - - Size of the byte array used to store raw packet data - - - Raw packet data buffer - - - Length of the data to transmit - - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for receiving a packet - - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data - - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - - - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - - - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. - - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - - - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. - - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. - - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. - - - - The total number of segments created. Intended to be used by the Unit Tests. - - - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - - - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - - - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - - - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - - - - - Initialize the object pool in client mode - - Server to connect to - - - - - - Initialize the object pool in server mode - - - - - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object - - - - Default constructor - - - - - Check a packet buffer out of the pool - - A packet buffer object - - - - Checks the instance back into the object pool - - - - - Returns an instance of the class that has been checked out of the Object Pool. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value - - - - A dictionary of callbacks to fire when specified action occurs - - - - - Register a callback to be fired when an action occurs - - The action - The callback to fire - - - - Unregister a callback - - The action - The callback to fire - - - - - - - - - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - - - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - - Check if Key exists in Dictionary - Key to check for - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise - - - - Clear the contents of the dictionary - - - - - Enumerator for iterating dictionary entries - - - - - - Gets the number of Key/Value pairs contained in the - - - - - Indexer for the dictionary - - The key - The value + The key of the object + the data to decode + A string represending the fieldData @@ -15555,3408 +6079,6 @@ Recursion level (used for indenting) A formatted string containing the names and values of the source object - - - A custom decoder callback - - The key of the object - the data to decode - A string represending the fieldData - - - - Provides helper methods for parallelizing loops - - - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a series of tasks in parallel - - A series of method bodies to execute - - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute - - - - Type of return to use when returning objects from a parcel - - - - - - - Return objects owned by parcel owner - - - Return objects set to group - - - Return objects not owned by parcel owner or set to group - - - Return a specific list of objects on parcel - - - Return objects that are marked for-sale - - - - Blacklist/Whitelist flags used in parcels Access List - - - - Agent is denied access - - - Agent is granted access - - - - The result of a request for parcel properties - - - - No matches were found for the request - - - Request matched a single parcel - - - Request matched multiple parcels - - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - - - - Request the access list - - - Request the ban list - - - Request both White and Black lists - - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - - - - Parcel is currently selected - - - Parcel restricted to a group the avatar is not a - member of - - - Avatar is banned from the parcel - - - Parcel is restricted to an access list that the - avatar is not on - - - Response to hovering over a parcel - - - - The tool to use when modifying terrain levels - - - - Level the terrain - - - Raise the terrain - - - Lower the terrain - - - Smooth the terrain - - - Add random noise to the terrain - - - Revert terrain to simulator default - - - - The tool size to use when changing terrain levels - - - - Small - - - Medium - - - Large - - - - Reasons agent is denied access to a parcel on the simulator - - - - Agent is not denied, access is granted - - - Agent is not a member of the group set for the parcel, or which owns the parcel - - - Agent is not on the parcels specific allow list - - - Agent is on the parcels ban list - - - Unknown - - - Agent is not age verified and parcel settings deny access to non age verified avatars - - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused - - - Public land - - - Land is owned by another avatar - - - Land is owned by a group - - - Land is owned by the current avatar - - - Land is for sale - - - Land is being auctioned - - - Land is private - - - To the west of this area is a parcel border - - - To the south of this area is a parcel border - - - - Various parcel properties - - - - No flags set - - - Allow avatars to fly (a client-side only restriction) - - - Allow foreign scripts to run - - - This parcel is for sale - - - Allow avatars to create a landmark on this parcel - - - Allows all avatars to edit the terrain on this parcel - - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here - - - Foreign avatars can create objects here - - - All objects on this parcel can be purchased - - - Access is restricted to a group - - - Access is restricted to a whitelist - - - Ban blacklist is enabled - - - Unknown - - - List this parcel in the search directory - - - Allow personally owned parcels to be deeded to group - - - If Deeded, owner contributes required tier to group parcel is deeded to - - - Restrict sounds originating on this parcel to the - parcel boundaries - - - Objects on this parcel are sold when the land is - purchsaed - - - Allow this parcel to be published on the web - - - The information for this parcel is mature content - - - The media URL is an HTML page - - - The media URL is a raw HTML string - - - Restrict foreign object pushes - - - Ban all non identified/transacted avatars - - - Allow group-owned scripts to run - - - Allow object creation by group members or group - objects - - - Allow all objects to enter this parcel - - - Only allow group and owner objects to enter this parcel - - - Voice Enabled on this parcel - - - Use Estate Voice channel for Voice on this parcel - - - Deny Age Unverified Users - - - - Parcel ownership status - - - - Placeholder - - - Parcel is leased (owned) by an avatar or group - - - Parcel is in process of being leased (purchased) by an avatar or group - - - Parcel has been abandoned back to Governor Linden - - - - Category parcel is listed in under search - - - - No assigned category - - - Linden Infohub or public area - - - Adult themed area - - - Arts and Culture - - - Business - - - Educational - - - Gaming - - - Hangout or Club - - - Newcomer friendly - - - Parks and Nature - - - Residential - - - Shopping - - - Not Used? - - - Other - - - Not an actual category, only used for queries - - - - Type of teleport landing for a parcel - - - - Unset, simulator default - - - Specific landing point set for this parcel - - - No landing point set, direct teleports enabled for - this parcel - - - - Parcel Media Command used in ParcelMediaCommandMessage - - - - Stop the media stream and go back to the first frame - - - Pause the media stream (stop playing but stay on current frame) - - - Start the current media stream playing and stop when the end is reached - - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play - - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. - - - Specifies the movie URL (254 characters max) - - - Specifies the time index at which to begin playing - - - Specifies a single agent to apply the media command to - - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. - - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. - - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working - - - Sets a description for the media being displayed (1.19.1 RC0 and later only). - - - - Some information about a parcel of land returned from a DirectoryManager search - - - - Global Key of record - - - Parcel Owners - - - Name field of parcel, limited to 128 characters - - - Description field of parcel, limited to 256 characters - - - Total Square meters of parcel - - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - True of parcel is in Mature simulator - - - Grid global X position of parcel - - - Grid global Y position of parcel - - - Grid global Z position of parcel (not used) - - - Name of simulator parcel is located in - - - Texture of parcels display picture - - - Float representing calculated traffic based on time spent on parcel by avatars - - - Sale price of parcel (not used) - - - Auction ID of parcel - - - - Parcel Media Information - - - - A byte, if 0x1 viewer should auto scale media to fit object - - - A boolean, if true the viewer should loop the media - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A string which contains the mime type of the media - - - - Parcel of land, a portion of virtual real estate in a simulator - - - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - - Deprecated, Value appears to always be 0 - - - Simulator-local ID of this parcel - - - UUID of the owner of this parcel - - - Whether the land is deeded to a group or not - - - - - - Date land was claimed - - - Appears to always be zero - - - This field is no longer used - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - Total parcel land area - - - - - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel - - - Maximum number of primitives this parcel supports - - - Total number of primitives on this parcel - - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual - - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. - - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Autoreturn value in minutes for others' objects - - - - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - Parcel Name - - - Parcel Description - - - URL For Music Stream - - - - - - Price for a temporary pass - - - How long is pass valid for - - - - - - Key of authorized buyer - - - Key of parcel snapshot - - - The landing point location - - - The landing point LookAt - - - The type of landing enforced from the enum - - - - - - - - - - - - Access list of who is whitelisted on this - parcel - - - Access list of who is blacklisted on this - parcel - - - TRUE of region denies access to age unverified users - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - A struct containing media details - - - - Displays a parcel object in string format - - string containing key=value pairs of a parcel object - - - - Defalt constructor - - Local ID of this parcel - - - - Update the simulator with any local changes to this Parcel object - - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - - - - Set Autoreturn time - - Simulator to send the update to - - - - Parcel (subdivided simulator lots) subsystem - - - - The event subscribers. null if no subcribers - - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - - Default constructor - - A reference to the GridClient object - - - - Request basic information for a single parcel - - Simulator-local ID of the parcel - - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests - - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request - - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID - - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups - - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID - - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return - - - - Subdivide (split) a parcel - - - - - - - - - - Join two parcels of land creating a single parcel - - - - - - - - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event - - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target - - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze - - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel - - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise - - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a Parcel Update request - - - Raised when the parcel your agent is located sends a ParcelMediaCommand - - - - Parcel Accesslist - - - - Agents - - - - - - Flags for specific entry in white/black lists - - - - Owners of primitives on parcel - - - - Prim Owners - - - True of owner is group - - - Total count of prims owned by OwnerID - - - true of OwnerID is currently online and is not a group - - - The date of the most recent prim left by OwnerID - - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information - - - Contains a parcels dwell data returned from the simulator in response to an - - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - - Get the global ID of the parcel - - - Get the simulator specific ID of the parcel - - - Get the calculated dwell - - - Contains basic parcel information data returned from the - simulator in response to an request - - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info - - - Get the object containing basic parcel info - - - Contains basic parcel information data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: - - - Get the simulator the parcel is located in - - - Get the object containing the details - If Result is NoData, this object will not contain valid data - - - Get the result of the request - - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel - - - Get the user assigned ID used to correlate a request with - these results - - - TODO: - - - Contains blacklist and whitelist data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - - Get the simulator the parcel is located in - - - Get the user assigned ID used to correlate a request with - these results - - - Get the simulator specific ID of the parcel - - - TODO: - - - Get the list containing the white/blacklisted agents for the parcel - - - Contains blacklist and whitelist data returned from the - simulator in response to an request - - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts - - - Get the simulator the parcel is located in - - - Get the list containing prim ownership counts - - - Contains the data returned when all parcel data has been retrieved from a simulator - - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Get the simulator the parcel data was retrieved from - - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Contains the data returned when a request - - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request - - - Get the simulator the parcel data was retrieved from - - - Get the list of primitive IDs - - - true if the list is clean and contains the information - only for a given request - - - Contains data when the media data for a parcel the avatar is on changes - - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information - - - Get the simulator the parcel media data was updated in - - - Get the updated media information - - - Contains the media command for a parcel the agent is currently on - - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - - - - Get the simulator the parcel media command was issued in - - - - - - - - - Get the media command that was sent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class for controlling various system settings. - - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically - - - Main grid login server - - - Beta grid login server - - - - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. - - - - - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. - - - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates - - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects - - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked - - - The initial size of the packet inbox, where packets are - stored before processing - - - Maximum size of packet that we want to send over the wire - - - The maximum value of a packet sequence number before it - rolls over back to one - - - The relative directory where external resources are kept - - - Login server to connect to - - - IP Address the client will bind to - - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - - - Maximum number of HTTP connections to open to a particular endpoint. - - - An endpoint is defined as a commbination of network address and port. This is used for Caps. - This is a static variable which applies to all instances. - - - - - Use Caps for fetching inventory where available - - - - Number of milliseconds before an asset transfer will time - out - - - Number of milliseconds before a teleport attempt will time - out - - - Number of milliseconds before NetworkManager.Logout() will - time out - - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly - - - Number of milliseconds for xml-rpc to timeout - - - Milliseconds before a packet is assumed lost and resent - - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost - - - Milliseconds to wait for a simulator info request through - the grid interface - - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets - - - Maximum number of queued ACKs to be sent before SendAcks() - is forced - - - Network stats queue length (seconds) - - - - Primitives will be reused when falling in/out of interest list (and shared between clients) - prims returning to interest list do not need re-requested - Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client - - - - - Pool parcel data between clients (saves on requesting multiple times when all clients may need it) - - - - - How long to preserve cached data when no client is connected to a simulator - The reason for setting it to something like 2 minutes is in case a client - is running back and forth between region edges or a sim is comming and going - - - - Enable/disable storing terrain heightmaps in the - TerrainManager - - - Enable/disable sending periodic camera updates - - - Enable/disable automatically setting agent appearance at - login and after sim crossing - - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems - - - Enable/disable the sending of pings to monitor lag and - packet loss - - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) - - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information - - - If true, when a cached object check is received from the - server the full object info will automatically be requested - - - Whether to establish connections to HTTP capabilities - servers for simulators - - - Whether to decode sim stats - - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors - - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched - - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects - - - - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. - - - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received - - - - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - - - - - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. - - - - - If true, images, and other assets downloaded from the server - will be cached in a local directory - - - - Path to store cached texture data - - - Maximum size cached files are allowed to take on disk (bytes) - - - Default color used for viewer particle effects - - - Maximum number of times to resend a failed packet - - - Throttle outgoing packet rate - - - UUID of a texture used by some viewers to indentify type of client used - - - - Download textures using GetTexture capability when available - - - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles - - - - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - - This is a static variable which applies to all instances - - - - Textures taking longer than this value will be flagged as timed out and removed from the pipeline - - - - - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net - - - - Attach avatar names to log messages - - - Log packet retransmission info - - - Log disk cache misses and other info - - - Constructor - Reference to a GridClient object - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login - - - - Simulator (region) properties - - - - No flags set - - - Agents can take damage and be killed - - - Landmarks can be created here - - - Home position can be set in this sim - - - Home position is reset when an agent teleports away - - - Sun does not move - - - No object, land, etc. taxes - - - Disable heightmap alterations (agents can still plant - foliage) - - - Land cannot be released, sold, or purchased - - - All content is wiped nightly - - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - - Region does not update agent prim interest lists. Internal debugging option. - - - No collision detection for non-agent objects - - - No scripts are ran - - - All physics processing is turned off - - - Region can be seen from other regions on world map. (Legacy world map option?) - - - Region can be seen from mainland on world map. (Legacy world map option?) - - - Agents not explicitly on the access list can visit the region. - - - Traffic calculations are not run across entire region, overrides parcel settings. - - - Flight is disabled (not currently enforced by the sim) - - - Allow direct (p2p) teleporting - - - Estate owner has temporarily disabled scripting - - - Restricts the usage of the LSL llPushObject function, applies to whole region. - - - Deny agents with no payment info on file - - - Deny agents with payment info on file - - - Deny agents who have made a monetary transaction - - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - - Abuse reports sent from within this region are sent to the estate owner defined email. - - - Region is Voice Enabled - - - Removes the ability from parcel owners to set their parcels to show in search. - - - Deny agents who have not been age verified from entering the region. - - - - Region protocol flags - - - - Nothing special - - - Region supports Server side Appearance - - - Viewer supports Server side Appearance - - - - Access level for a simulator - - - - Unknown or invalid access level - - - Trial accounts allowed - - - PG rating - - - Mature rating - - - Adult rating - - - Simulator is offline - - - Simulator does not exist - - - - - - - - - - - - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on - - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to - - - - - - - - - - - - - - - - - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator - - - The capabilities for this simulator - - - - - - The current version of software this simulator is running - - - - - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true if your agent has Estate Manager rights on this region - - - - - - - - - - - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library - - - The regions Unique ID - - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - - - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 - - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 - - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - - - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - - - - - Flags indicating which protocols this region supports - - - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers - - - - A thread-safe dictionary containing avatars in a simulator - - - - - A thread-safe dictionary containing primitives in a simulator - - - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) - - - - Is it safe to send agent updates to this sim - AgentMovementComplete message received - - - - Used internally to track sim disconnections - - - Event that is triggered when the simulator successfully - establishes a connection - - - Whether this sim is currently connected or not. Hooked up - to the property Connected - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Sequence numbers of packets we've received - (for duplicate checking) - - - Packets we sent out that need ACKs from the simulator - - - Sequence number for pause/resume - - - Indicates if UDP connection to the sim is fully established - - - - - - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator - - - - Called when this Simulator object is being destroyed - - - - - Attempt to connect to this simulator - - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure - - - - Initiates connection to the simulator - - Should we block until ack for this packet is recieved - - - - Disconnect from this simulator - - - - - Instructs the simulator to stop sending update (and possibly other) packets - - - - - Instructs the simulator to resume sending update packets (unpause) - - - - - Retrieve the terrain height at a given coordinate - - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false - - - - Sends a packet - - Packet to be sent - - - - - - - - - Returns Simulator Name as a String - - - - - - - - - - - - - - - - - - - Sends out pending acknowledgements - - Number of ACKs sent - - - - Resend unacknowledged packets - - - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - - - - - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - - The IP address and port of the server - - - Whether there is a working connection to the simulator or - not - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Indicates if UDP connection to the sim is fully established - - - - Simulator Statistics - - - - Total number of packets sent by this simulator to this agent - - - Total number of packets received by this simulator to this agent - - - Total number of bytes sent by this simulator to this agent - - - Total number of bytes received by this simulator to this agent - - - Time in seconds agent has been connected to simulator - - - Total number of packets that have been resent - - - Total number of resent packets recieved - - - Total number of pings sent to this simulator by this agent - - - Total number of ping replies sent to this agent by this simulator - - - - Incoming bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier - - - - Outgoing bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier - - - Time last ping was sent - - - ID of last Ping sent - - - - - - - - - Current time dilation of this simulator - - - Current Frames per second of simulator - - - Current Physics frames per second of simulator - - - - - - - - - - - - - - - - - - - - - - - - - - - Total number of objects Simulator is simulating - - - Total number of Active (Scripted) objects running - - - Number of agents currently in this simulator - - - Number of agents in neighbor simulators - - - Number of Active scripts running in this simulator - - - - - - - - - - - - Number of downloads pending - - - Number of uploads pending - - - - - - - - - Number of local uploads pending - - - Unacknowledged bytes in queue - - - - Simulator handle - - - - - Number of GridClients using this datapool - - - - - Time that the last client disconnected from the simulator - - - - - The cache of prims used and unused in this simulator - - - - - Shared parcel info only when POOL_PARCEL_DATA == true - - - - - - - - - The event subscribers, null of no subscribers - - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance - - - - Plays a sound in the current region at full volume from avatar position - - UUID of the sound to be played - - - - Plays a sound in the current region at full volume - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - - - - Plays a sound in the current region - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - - Plays a sound in the specified sim - - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - - Play a sound asset - - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - sound - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the volume level - - - Get the - - - Provides data for the event - The event occurs when an attached sound - changes its volume level - - - - Construct a new instance of the AttachedSoundGainChangedEventArgs class - - Simulator where the event originated - The ID of the Object - The new volume level - - - Simulator where the event originated - - - Get the ID of the Object - - - Get the volume level - - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the ID of the objects parent - - - Get the volume level - - - Get the regionhandle - - - Get the source position - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - - - - Construct a new instance of the PreloadSoundEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - - pre-defined built in sounds - - - - - - - - - - - - - - - - - - - - - - - - - - - - coins - - - cash register bell - - - - - - - - - rubber - - - plastic - - - flesh - - - wood splintering? - - - glass break - - - metal clunk - - - whoosh - - - shake - - - - - - ding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound - - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 - - - The event subscribers. null if no subcribers - - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - - Default constructor - - - - - Raised when the simulator responds sends - - - Simulator from that sent tha data - - - Sim coordinate of the patch - - - Sim coordinate of the patch - - - Size of tha patch - - - Heightmap for the patch - - - - The current status of a texture request as it moves through the pipeline or final result of a texture request. - - - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator - - - A request that has received one or more packets back from the simulator - - - A request that has received all packets back from the simulator - - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received - - - The texture request was aborted by request of the agent - - - The simulator replied to the request that it was not able to find the requested texture - - - - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. - - - - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - - This class makes full use of the internal - system for full texture downloads. - - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled - - - Holds the reference to the client object - - - Maximum concurrent texture requests allowed at a time - - - An array of objects used to manage worker request threads - - - An array of worker slots which shows the availablity status of the slot - - - The primary thread which manages the requests. - - - true if the TexturePipeline is currently running - - - A synchronization object used by the primary thread - - - A refresh timer used to increase the priority of stalled requests - - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object - - - - Initialize callbacks required for the TexturePipeline to operate - - - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - - Cancel a pending or in process texture request - - The texture assets unique ID - - - - Master Download Thread, Queues up downloads in the threadpool - - - - - The worker thread that sends the request and handles timeouts - - A object containing the request details - - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data - - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data - - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data - - - Current number of pending and in-process transfers - - - - A request task containing information and status of a request as it is processed through the - - - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested - - - The slot this request is occupying in the threadpoolSlots array - - - The ImageType of the request. - - - The callback to fire when the request is complete, will include - the and the - object containing the result data - - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. - - - An object that maintains the data of an request thats in-process. - - - - - - - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - - - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - - - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - - - - - Invokes the wrapped delegate synchronously - - - - - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - - - - - Delegate to wrap another delegate and its arguments - - - - - - - - - - - - - - - - - - Thrown when a packet could not be successfully deserialized @@ -19011,6 +6133,9 @@ each block containing one or more fields + + Current length of the data in this packet + Create a block from a byte array @@ -19029,9 +6154,6 @@ This will point to the position directly after the end of the serialized block when the call returns - - Current length of the data in this packet - A generic value, not an actual packet type @@ -20397,6 +7519,9 @@ + + + @@ -22455,6 +9580,11953 @@ + + Origin position of this coordinate frame + + + X axis of this coordinate frame, or Forward/At in grid terms + + + Y axis of this coordinate frame, or Left in grid terms + + + Z axis of this coordinate frame, or Up in grid terms + + + + + + Looking direction, must be a normalized vector + Up direction, must be a normalized vector + + + + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians + + Absolute rotation around the Z axis in + radians + + + + Access to the data server which allows searching for land, events, people, etc + + + + Classified Ad categories + + + Classified is listed in the Any category + + + Classified is shopping related + + + Classified is + + + + + + + + + + + + + + + + + + + + + + + + Event Categories + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + + Flags can be combined using the | (pipe) character, not all flags are available in all queries + + + + Query the People database + + + + + + + + + Query the Groups database + + + Query the Events database + + + Query the land holdings database for land owned by the currently connected agent + + + + + + Query the land holdings database for land which is owned by a Group + + + Specifies the query should pre sort the results based upon traffic + when searching the Places database + + + + + + + + + + + + + + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + + + + + + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + + + + + Land types to search dataserver for + + + + Search Auction, Mainland and Estate + + + Land which is currently up for auction + + + Parcels which are on the mainland (Linden owned) continents + + + Parcels which are on privately owned simulators + + + + The content rating of the event + + + + Event is PG + + + Event is Mature + + + Event is Adult + + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style + + + + + + + + + + + + + + + + + + + Classified ad query options + + + + Include all ads in results + + + Include PG ads in results + + + Include Mature ads in results + + + Include Adult ads in results + + + + The For Sale flag in PlacesReplyData + + + + Parcel is not listed for sale + + + Parcel is For Sale + + + + A classified ad on the grid + + + + UUID for this ad, useful for looking up detailed + information about it + + + The title of this classified ad + + + Flags that show certain options applied to the classified + + + Creation date of the ad + + + Expiration date of the ad + + + Price that was paid for this ad + + + Print the struct data as a string + A string containing the field name, and field value + + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + + + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method + + + A string containing the name of the parcel + + + The size of the parcel + This field is not returned for Places searches + + + The price of the parcel + This field is not returned for Places searches + + + If True, this parcel is flagged to be auctioned + + + If true, this parcel is currently set for sale + + + Parcel traffic + + + Print the struct data as a string + A string containing the field name, and field value + + + + An Avatar returned from the dataserver + + + + Online status of agent + This field appears to be obsolete and always returns false + + + The agents first name + + + The agents last name + + + The agents + + + Print the struct data as a string + A string containing the field name, and field value + + + + Response to a "Groups" Search + + + + The Group ID + + + The name of the group + + + The current number of members + + + Print the struct data as a string + A string containing the field name, and field value + + + + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source + + + + The ID of the Agent of Group that owns the parcel + + + The name + + + The description + + + The Size of the parcel + + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 + + + Indicates the ForSale status of the parcel + + + The Gridwide X position + + + The Gridwide Y position + + + The Z position of the parcel, or 0 if no landing point set + + + The name of the Region the parcel is located in + + + The Asset ID of the parcels Snapshot texture + + + The calculated visitor traffic + + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + + + + No longer used, will always be 0 + + + Get a SL URL for the parcel + A string, containing a standard SLURL + + + Print the struct data as a string + A string containing the field name, and field value + + + + An "Event" Listing summary + + + + The ID of the event creator + + + The name of the event + + + The events ID + + + A string containing the short date/time the event will begin + + + The event start time in Unixtime (seconds since epoch) + + + The events maturity rating + + + Print the struct data as a string + A string containing the field name, and field value + + + + The details of an "Event" + + + + The events ID + + + The ID of the event creator + + + The name of the event + + + The category + + + The events description + + + The short date/time the event will begin + + + The event start time in Unixtime (seconds since epoch) UTC adjusted + + + The length of the event in minutes + + + 0 if no cover charge applies + + + The cover charge amount in L$ if applicable + + + The name of the region where the event is being held + + + The gridwide location of the event + + + The maturity rating + + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL + + + Print the struct data as a string + A string containing the field name, and field value + + + The event subscribers. null if no subcribers + + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + + Constructs a new instance of the DirectoryManager class + + An instance of GridClient + + + + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised + + + + Query the data server for a list of classified ads which contain specified keywords (Overload) + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + + + + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator + + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + + + Queries the dataserver for parcels of land which are flagged to be shown in search + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + + + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. + + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. + + + + Send a request to the data server for land sales listings + + + Flags sent to specify query options + + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + + Flags can be combined by separating them with the | (pipe) character + + Additional details can be found in + + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + The event will be raised with the response from the simulator + + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + + + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + + + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + + + + + Search the People directory for other avatars + + The name or portion of the name of the avatar you wish to search for + + + + + + Search Places for parcels of land you personally own + + + + + Searches Places for land owned by the specified group + + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. + + + + Search the Places directory for parcels that are listed in search and contain the specified keywords + + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. + + + + Search Places - All Options + + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. + + + + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. + + + + Search Events + + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. + + + Requests Event Details + ID of Event returned from the method + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Contains the Event data returned from the data server from an EventInfoRequest + + + + A single EventInfo object containing the details of an event + + + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event + + + Contains the "Event" detail data returned from the data server + + + The ID returned by + + + A list of "Events" returned by the data server + + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query + + + Contains the "Event" list data returned from the data server + + + The ID returned by + + + A list of "Places" returned by the data server + + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query + + + Contains the places data returned from the data server + + + The ID returned by + + + A list containing Places data returned by the data server + + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server + + + Contains the classified data returned from the data server + + + A list containing Classified Ads returned by the data server + + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server + + + Contains the group data returned from the data server + + + The ID returned by + + + A list containing Groups data returned by the data server + + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server + + + Contains the people data returned from the data server + + + The ID returned by + + + A list containing People data returned by the data server + + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server + + + Contains the land sales data returned from the data server + + + A list containing land forsale data returned by the data server + + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server + + + + Represends individual HTTP Download request + + + + URI of the item to fetch + + + Timout specified in milliseconds + + + Download progress callback + + + Download completed callback + + + Accept the following content type + + + How many times will this request be retried + + + Current fetch attempt + + + Default constructor + + + Constructor + + + + Manages async HTTP downloads with a limit on maximum + concurrent downloads + + + + Maximum number of parallel downloads from a single endpoint + + + Client certificate + + + Default constructor + + + Cleanup method + + + Setup http download request + + + Check the queue for pending work + + + Enqueue a new HTTP download + + + Describes tasks returned in LandStatReply + + + + Estate level administration and utilities + + + + Textures for each of the four terrain height levels + + + Upper/lower texture boundaries for each corner of the sim + + + + Constructor for EstateTools class + + + + + Used in the ReportType field of a LandStatRequest + + + Used by EstateOwnerMessage packets + + + Used by EstateOwnerMessage packets + + + + + + + + No flags set + + + Only return targets scripted objects + + + Only return targets objects if on others land + + + Returns target's scripted objects and objects on other parcels + + + Ground texture settings for each corner of the region + + + Used by GroundTextureHeightSettings + + + The high and low texture thresholds for each corner of the sim + + + The event subscribers. null if no subcribers + + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + The event subscribers. null if no subcribers + + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the data server responds to a request. + + + + Requests estate information such as top scripts and colliders + + + + + + + + Requests estate settings, including estate manager and access/ban lists + + + Requests the "Top Scripts" list for the current region + + + Requests the "Top Colliders" list for the current region + + + + Set several estate specific configuration variables + + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + + + + Request return of objects owned by specified avatar + + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate + + + + + + + + + Used for setting and retrieving various estate panel settings + + EstateOwnerMessage Method field + List of parameters to include + + + + Kick an avatar from an estate + + Key of Agent to remove + + + + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner + + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner + + + + Send a message dialog to everyone in an entire estate + + Message to send all users in the estate + + + + Send a message dialog to everyone in a simulator + + Message to send all users in the simulator + + + + Send an avatar back to their home location + + Key of avatar to send home + + + + Begin the region restart process + + + + + Cancels a region restart + + + + Estate panel "Region" tab settings + + + Estate panel "Debug" tab settings + + + Used for setting the region's terrain textures for its four height levels + + + + + + + Used for setting sim terrain texture heights + + + Requests the estate covenant + + + + Upload a terrain RAW file + + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request + + + + Teleports all users home in current Estate + + + + + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner + + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner + + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true + + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true + + + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true + + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised on LandStatReply when the report type is for "top colliders" + + + + The number of returned items in LandStatReply + + + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + + Raised on LandStatReply when the report type is for "top Scripts" + + + + The number of scripts returned in LandStatReply + + + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + + Returned, along with other info, upon a successful .RequestInfo() + + + + The identifier of the estate + + + + + The number of returned itmes + + + + + List of UUIDs of Banned Users + + + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned + + + Returned, along with other info, upon a successful .RequestInfo() + + + + The identifier of the estate + + + + + The number of returned items + + + + + List of UUIDs of Allowed Users + + + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs + + + Returned, along with other info, upon a successful .RequestInfo() + + + + The identifier of the estate + + + + + The number of returned items + + + + + List of UUIDs of Allowed Groups + + + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs + + + Returned, along with other info, upon a successful .RequestInfo() + + + + The identifier of the estate + + + + + The number of returned items + + + + + List of UUIDs of the Estate's Managers + + + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs + + + Returned, along with other info, upon a successful .RequestInfo() + + + + The Covenant + + + + + The timestamp + + + + + The Estate name + + + + + The Estate Owner's ID (can be a GroupID) + + + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) + + + Returned, along with other info, upon a successful .RequestInfo() + + + + The estate's name + + + + + The Estate Owner's ID (can be a GroupID) + + + + + The identifier of the estate on the grid + + + + + + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + + + + + Registers, unregisters, and fires events generated by incoming packets + + + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks + + + + Callback to fire for this packet + + + Reference to the simulator that this packet came from + + + The packet that needs to be processed + + + Reference to the GridClient object + + + + Default constructor + + + + + + Register an event handler + + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous + + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered + + + + Fire the events registered for this packet type + + Incoming packet type + Incoming packet + Simulator this packet was received from + + + + Registers, unregisters, and fires events generated by the Capabilities + event queue + + + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks + + + + Callback to fire for this packet + + + Name of the CAPS event + + + Strongly typed decoded data + + + Reference to the simulator that generated this event + + + Reference to the GridClient object + + + + Default constructor + + Reference to the GridClient object + + + + Register an new event handler for a capabilities event sent via the EventQueue + + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire + + + + Unregister a previously registered capabilities handler + + Capability event name unregister the + handler for + Callback to unregister + + + + Fire the events registered for this event type synchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event + + + + Fire the events registered for this event type asynchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event + + + + + + + + The avatar has no rights + + + The avatar can see the online status of the target avatar + + + The avatar can see the location of the target avatar on the map + + + The avatar can modify the ojects of the target avatar + + + + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights + + + + + System ID of the avatar + + + + + full name of the avatar + + + + + True if the avatar is online + + + + + True if the friend can see if I am online + + + + + True if the friend can see me on the map + + + + + True if the freind can modify my objects + + + + + True if I can see if my friend is online + + + + + True if I can see if my friend is on the map + + + + + True if I can modify my friend's objects + + + + + My friend's rights represented as bitmapped flags + + + + + My rights represented as bitmapped flags + + + + + Used internally when building the initial list of friends at login time + + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects + + + + FriendInfo represented as a string + + A string reprentation of both my rights and my friends rights + + + + This class is used to add and remove avatars from your friends list and to manage their permission. + + + + The event subscribers. null if no subcribers + + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the simulator sends notification one of the members in our friends list comes online + + + The event subscribers. null if no subcribers + + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the simulator sends notification one of the members in our friends list goes offline + + + The event subscribers. null if no subcribers + + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + + The event subscribers. null if no subcribers + + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the simulator sends us the names on our friends list + + + The event subscribers. null if no subcribers + + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the simulator sends notification another agent is offering us friendship + + + The event subscribers. null if no subcribers + + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when a request we sent to friend another agent is accepted or declined + + + The event subscribers. null if no subcribers + + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship + + + The event subscribers. null if no subcribers + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Raised when the simulator sends the location of a friend we have + requested map location info for + + + + A dictionary of key/value pairs containing known friends of this avatar. + + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend + + + + + A Dictionary of key/value pairs containing current pending frienship offers. + + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer + + + + + Internal constructor + + A reference to the GridClient Object + + + + Accept a friendship request + + agentID of avatatar to form friendship with + imSessionID of the friendship request message + + + + Decline a friendship request + + of friend + imSessionID of the friendship request message + + + + Overload: Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + + + + Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + A message to send with the request + + + + Terminate a friendship with an avatar + + System ID of the avatar you are terminating the friendship with + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Change the rights of a friend avatar. + + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. + + + + Use to map a friends location on the grid. + + Friends UUID to find + + + + + Use to track a friends movement on the grid + + Friends Key + + + + Ask for a notification of friend's online status + + Friend's UUID + + + + This handles the asynchronous response of a RequestAvatarNames call. + + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Populate FriendList with data from the login reply + + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server + + + Contains information on a member of our friends list + + + Get the FriendInfo + + + + Construct a new instance of the FriendInfoEventArgs class + + The FriendInfo + + + Contains Friend Names + + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name + + + + Construct a new instance of the FriendNamesEventArgs class + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name + + + Sent when another agent requests a friendship with our agent + + + Get the ID of the agent requesting friendship + + + Get the name of the agent requesting friendship + + + Get the ID of the session, used in accepting or declining the + friendship offer + + + + Construct a new instance of the FriendshipOfferedEventArgs class + + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer + + + A response containing the results of our request to form a friendship with another agent + + + Get the ID of the agent we requested a friendship with + + + Get the name of the agent we requested a friendship with + + + true if the agent accepted our friendship offer + + + + Construct a new instance of the FriendShipResponseEventArgs class + + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer + + + Contains data sent when a friend terminates a friendship with us + + + Get the ID of the agent that terminated the friendship with us + + + Get the name of the agent that terminated the friendship with us + + + + Construct a new instance of the FrindshipTerminatedEventArgs class + + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us + + + + Data sent in response to a request which contains the information to allow us to map the friends location + + + + Get the ID of the agent we have received location information for + + + Get the region handle where our mapped friend is located + + + Get the simulator local position where our friend is located + + + + Construct a new instance of the FriendFoundReplyEventArgs class + + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located + + + + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. + + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + + + + Networking subsystem + + + Settings class including constant values and changeable + parameters for everything + + + Parcel (subdivided simulator lots) subsystem + + + Our own avatars subsystem + + + Other avatars subsystem + + + Estate subsystem + + + Friends list subsystem + + + Grid (aka simulator group) subsystem + + + Object subsystem + + + Group subsystem + + + Asset subsystem + + + Appearance subsystem + + + Inventory subsystem + + + Directory searches including classifieds, people, land + sales, etc + + + Handles land, wind, and cloud heightmaps + + + Handles sound-related networking + + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types + + + + Default constructor + + + + + Return the full name of this instance + + Client avatars full name + + + + Map layer request type + + + + Objects and terrain are shown + + + Only the terrain is shown, no objects + + + Overlay showing land for sale and for auction + + + + Type of grid item, such as telehub, event, populator location, etc. + + + + Telehub + + + PG rated event + + + Mature rated event + + + Popular location + + + Locations of avatar groups in a region + + + Land for sale + + + Classified ad + + + Adult rated event + + + Adult land for sale + + + + Information about a region on the grid map + + + + Sim X position on World Map + + + Sim Y position on World Map + + + Sim Name (NOTE: In lowercase!) + + + + + + Appears to always be zero (None) + + + Sim's defined Water Height + + + + + + UUID of the World Map image + + + Unique identifier for this region, a combination of the X + and Y position + + + + + + + + + + + + + + + + + + + + + + + Visual chunk of the grid map + + + + + Base class for Map Items + + + + The Global X position of the item + + + The Global Y position of the item + + + Get the Local X position of the item + + + Get the Local Y position of the item + + + Get the Handle of the region + + + + Represents an agent or group of agents location + + + + + Represents a Telehub location + + + + + Represents a non-adult parcel of land for sale + + + + + Represents an Adult parcel of land for sale + + + + + Represents a PG Event + + + + + Represents a Mature event + + + + + Represents an Adult event + + + + + Manages grid-wide tasks such as the world map + + + + The event subscribers. null if no subcribers + + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + Raised when the simulator sends a + containing the location of agents in the simulator + + + The event subscribers. null if no subcribers + + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + Raised when the simulator sends a Region Data in response to + a Map request + + + The event subscribers. null if no subcribers + + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information + + + The event subscribers. null if no subcribers + + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location + + + The event subscribers. null if no subcribers + + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + Raised in response to a Region lookup + + + Unknown + + + Current direction of the sun + + + Current angular velocity of the sun + + + Microseconds since the start of SL 4-hour day + + + A dictionary of all the regions, indexed by region name + + + A dictionary of all the regions, indexed by region handle + + + + Constructor + + Instance of GridClient object to associate with this GridManager instance + + + + + + + + + + Request a map layer + + The name of the region + The type of layer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request data for all mainland (Linden managed) simulators + + + + + Request the region handle for the specified region UUID + + UUID of the region to look up + + + + Get grid region information using the region name, this function + will block until it can find the region or gives up + + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Avatar group management + + + + Key of Group Member + + + Total land contribution + + + Online status information + + + Abilities that the Group Member has + + + Current group title + + + Is a group owner + + + + Role manager for a group + + + + Key of the group + + + Key of Role + + + Name of Role + + + Group Title associated with Role + + + Description of Role + + + Abilities Associated with Role + + + Returns the role's title + The role's title + + + + Class to represent Group Title + + + + Key of the group + + + ID of the role title belongs to + + + Group Title + + + Whether title is Active + + + Returns group title + + + + Represents a group on the grid + + + + Key of Group + + + Key of Group Insignia + + + Key of Group Founder + + + Key of Group Role for Owners + + + Name of Group + + + Text of Group Charter + + + Title of "everyone" role + + + Is the group open for enrolement to everyone + + + Will group show up in search + + + + + + + + + + + + Is the group Mature + + + Cost of group membership + + + + + + + + + The total number of current members this group has + + + The number of roles this group has configured + + + Show this group in agent's profile + + + Returns the name of the group + A string containing the name of the group + + + + A group Vote + + + + Key of Avatar who created Vote + + + Text of the Vote proposal + + + Total number of votes + + + + A group proposal + + + + The Text of the proposal + + + The minimum number of members that must vote before proposal passes or failes + + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum + + + The duration in days votes are accepted + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Struct representing a group notice + + + + + + + + + + + + + + + + + + + + + + + Struct representing a group notice list entry + + + + Notice ID + + + Creation timestamp of notice + + + Agent name who created notice + + + Notice subject + + + Is there an attachment? + + + Attachment Type + + + + Struct representing a member of a group chat session and their settings + + + + The of the Avatar + + + True if user has voice chat enabled + + + True of Avatar has moderator abilities + + + True if a moderator has muted this avatars chat + + + True if a moderator has muted this avatars voice + + + + Role update flags + + + + + + + + + + + + + + + + + + + + + + + + + Can send invitations to groups default role + + + Can eject members from group + + + Can toggle 'Open Enrollment' and change 'Signup fee' + + + Member is visible in the public member list + + + Can create new roles + + + Can delete existing roles + + + Can change Role names, titles and descriptions + + + Can assign other members to assigners role + + + Can assign other members to any role + + + Can remove members from roles + + + Can assign and remove abilities in roles + + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings + + + Can buy land or deed land to group + + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates + + + Can set land for-sale information on group owned parcels + + + Can subdivide and join parcels + + + Can change music and media settings + + + Can toggle 'Edit Terrain' option in Land settings + + + Can toggle various About Land > Options settings + + + Can toggle "Show in Find Places" and set search category + + + Can change parcel name, description, and 'Publish on web' settings + + + Can set the landing point and teleport routing on group land + + + Can always terraform land, even if parcel settings have it turned off + + + Can always fly while over group owned land + + + Can always rez objects on group owned land + + + Can always create landmarks for group owned parcels + + + Can set home location on any group owned parcel + + + Allowed to hold events on group-owned land + + + Can modify public access settings for group owned parcels + + + Can manager parcel ban lists on group owned land + + + Can manage pass list sales information + + + Can eject and freeze other avatars on group owned land + + + Can return objects set to group + + + Can return non-group owned/set objects + + + Can return group owned objects + + + Can landscape using Linden plants + + + Can deed objects to group + + + Can move group owned objects + + + Can set group owned objects for-sale + + + Pay group liabilities and receive group dividends + + + Can send group notices + + + Can receive group notices + + + Can create group proposals + + + Can vote on group proposals + + + Can join group chat sessions + + + Can use voice chat in Group Chat sessions + + + Can moderate group chat sessions + + + Has admin rights to any experiences owned by this group + + + Can sign scripts for experiences owned by this group + + + Allows access to ban / un-ban agents from a group + + + + Ban actions available for group members + + + + Ban agent from joining a group + + + Remove restriction on agent jointing a group + + + + Handles all network traffic related to reading and writing group + information + + + + The event subscribers. null if no subcribers + + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + our current group membership + + + The event subscribers. null if no subcribers + + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request + + + The event subscribers. null if no subcribers + + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator + + + The event subscribers. null if no subcribers + + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when a request to create a group is successful + + + The event subscribers. null if no subcribers + + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator + + + Thread sync lock object + + + Raised when a request to join a group either + fails or succeeds + + + The event subscribers. null if no subcribers + + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator + + + Thread sync lock object + + + Raised when a request to leave a group either + fails or succeeds + + + The event subscribers. null if no subcribers + + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left + + + Thread sync lock object + + + Raised when A group is removed from the group server + + + The event subscribers. null if no subcribers + + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when a request to eject a member from a group either + fails or succeeds + + + The event subscribers. null if no subcribers + + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us group notices + + + + The event subscribers. null if no subcribers + + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when another agent invites our avatar to join a group + + + The event subscribers. null if no subcribers + + + Raises the BannedAgents event + An BannedAgentsEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when another agent invites our avatar to join a group + + + A reference to the current instance + + + Currently-active group members requests + + + Currently-active group roles requests + + + Currently-active group role-member requests + + + Dictionary keeping group members while request is in progress + + + Dictionary keeping mebmer/role mapping while request is in progress + + + Dictionary keeping GroupRole information while request is in progress + + + Caches group name lookups + + + + Construct a new instance of the GroupManager class + + A reference to the current instance + + + + Request a current list of groups the avatar is a member of. + + CAPS Event Queue must be running for this to work since the results + come across CAPS. + + + + Lookup name of group based on groupID + + groupID of group to lookup name for. + + + + Request lookup of multiple group names + + List of group IDs to request. + + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) + + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache + + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache + + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache + + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache + + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) + + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite + + + Set a group as the current active group + group ID (UUID) + + + Change the role that determines your active title + Group ID to use + Role ID to change to + + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate + + + + Save wheather agent wants to accept group notices and list this group in their profile + + Group + Accept notices from this group + List this group in the profile + + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. + + + + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted + + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info + + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. + + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject + + + Update role information + Modified role to be updated + + + Create a new group role + Group ID to update + Role to create + + + Delete a group role + Group ID to update + Role to delete + + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove + + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role + + + Request the group notices list + Group ID to fetch notices for + + + Request a group notice by key + ID of group notice + + + Send out a group notice + Group ID to update + GroupNotice structure containing notice data + + + Start a group proposal (vote) + The Group ID to send proposal to + GroupProposal structure containing the proposal + + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave + + + + Gets the URI of the cpability for handling group bans + + Group ID + null, if the feature is not supported, or URI of the capability + + + + Request a list of residents banned from joining a group + + UUID of the group + + + + Request a list of residents banned from joining a group + + UUID of the group + Callback on request completition + + + + Request that group of agents be banned or unbanned from the group + + Group ID + Ban/Unban action + Array of agents UUIDs to ban + + + + Request that group of agents be banned or unbanned from the group + + Group ID + Ban/Unban action + Array of agents UUIDs to ban + Callback + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Contains the current groups your agent is a member of + + + Get the current groups your agent is a member of + + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of + + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + + Get the Group Names dictionary + + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary + + + Represents the members of a group + + + Get the ID as returned by the request to correlate + this result set and the request + + + Get the ID of the group + + + Get the dictionary of members + + + + Construct a new instance of the GroupMembersReplyEventArgs class + + The ID of the request + The ID of the group + The membership list of the group + + + Represents the roles associated with a group + + + Get the ID as returned by the request to correlate + this result set and the request + + + Get the ID of the group + + + Get the dictionary containing the roles + + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles + + + Represents the Role to Member mappings for a group + + + Get the ID as returned by the request to correlate + this result set and the request + + + Get the ID of the group + + + Get the member to roles map + + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map + + + Represents the titles for a group + + + Get the ID as returned by the request to correlate + this result set and the request + + + Get the ID of the group + + + Get the titles + + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles + + + Represents the summary data for a group + + + Get the ID of the group + + + Get the summary data + + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data + + + A response to a group create request + + + Get the ID of the group + + + true of the group was created successfully + + + A string containing the message + + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information + + + Represents a response to a request + + + Get the ID of the group + + + true of the request was successful + + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful + + + Represents your agent leaving a group + + + Get the ID of the group + + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group + + + Represents a list of active group notices + + + Get the ID of the group + + + Get the notices list + + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices + + + Represents the profile of a group + + + Get the group profile + + + Construct a new instance of the GroupProfileEventArgs class + The group profile + + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. + + + The ID of the Avatar sending the group invitation + + + The name of the Avatar sending the group invitation + + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details + + + The Simulator + + + Set to true to accept invitation, false to decline + + + + Result of the request for list of agents banned from a group + + + + Indicates if list of banned agents for a group was successfully retrieved + + + Indicates if list of banned agents for a group was successfully retrieved + + + Array containing a list of UUIDs of the agents banned from a group + + + + Static helper functions and global variables + + + + This header flag signals that ACKs are appended to the packet + + + This header flag signals that this packet has been sent before + + + This header flags signals that an ACK is expected for this packet + + + This header flag signals that the message is compressed using zerocoding + + + + Passed to Logger.Log() to identify the severity of a log entry + + + + No logging information will be output + + + Non-noisy useful information, may be helpful in + debugging a problem + + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue + + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain + + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to + + + + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + + Floating point number to convert to a string + A terse string representation of the input number + + + + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output + + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer + + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer + + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC + + + + Attempts to load a file embedded in the assembly + + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Attempts to load a file either embedded in the assembly or found in + a given search path + + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Converts a list of primitives to an object that can be serialized + with the LLSD system + + Primitives to convert to a serializable object + An object that can be serialized with LLSD + + + + Deserializes OSD in to a list of primitives + + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives + + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + + + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + + Key + Value + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + + + Gets the number of Key/Value pairs contained in the + + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + + + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + + + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + to perform + + + + Perform an on each KeyValuePair of an + + to perform + + + Check if Key exists in Dictionary + Key to check for + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise + + + + Indexer for the dictionary + + The key + The value + + + + Exception class to identify inventory exceptions + + + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + + The root folder of this avatars inventory + + + + + The default shared library folder + + + + + The root node of the avatars inventory + + + + + The root node of the default shared library + + + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory + + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method + + The InventoryObject to store + + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. + + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise + + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to + + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree + + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. + + + Sort by name + + + Sort by date + + + Sort folders by name, regardless of whether items are + sorted by name or date + + + Place system folders at the top + + + + Possible destinations for DeRezObject request + + + + + + + Copy from in-world to agent inventory + + + Derez to TaskInventory + + + + + + Take Object + + + + + + Delete Object + + + Put an avatar attachment into agent inventory + + + + + + Return an object back to the owner's inventory + + + Return a deeded object back to the last owner's inventory + + + + Upper half of the Flags field for inventory items + + + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez + + + Indicates that the object sale information has been + changed + + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + + Indicates whether this object is composed of multiple + items or not + + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted + + + + Base Class for Inventory Items + + + + of item/folder + + + of parent folder + + + Name of item/folder + + + Item/Folder Owners + + + + Constructor, takes an itemID as a parameter + + The of the item + + + + + + + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + Convert inventory to OSD + + OSD representation + + + + An Item in Inventory + + + + The of this item + + + The combined of this item + + + The type of item from + + + The type of item from the enum + + + The of the creator of this item + + + A Description of this item + + + The s this item is set to or owned by + + + If true, item is owned by a group + + + The price this item can be purchased for + + + The type of sale from the enum + + + Combined flags from + + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) + + + Used to update the AssetID in requests sent to the server + + + The of the previous owner of the item + + + + Construct a new InventoryItem object + + The of the item + + + + Construct a new InventoryItem object of a specific Type + + The type of item from + of the item + + + + Indicates inventory item is a link + + True if inventory item is a link to another inventory item + + + + + + + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryItem fields + + + + Compares an object + + The object to compare + true if comparison object matches + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + Create InventoryItem from OSD + + OSD Data that makes up InventoryItem + Inventory item created + + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem + + + + InventoryTexture Class representing a graphical image + + + + + + Construct an InventoryTexture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryTexture object from a serialization stream + + + + + InventorySound Class representing a playable sound + + + + + Construct an InventorySound object + + A which becomes the + objects AssetUUID + + + + Construct an InventorySound object from a serialization stream + + + + + InventoryCallingCard Class, contains information on another avatar + + + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryCallingCard object from a serialization stream + + + + + InventoryLandmark Class, contains details on a specific location + + + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryLandmark object from a serialization stream + + + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + + + + + InventoryObject Class contains details on a primitive or coalesced set of primitives + + + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryObject object from a serialization stream + + + + + Gets or sets the upper byte of the Flags value + + + + + Gets or sets the object attachment point, the lower byte of the Flags value + + + + + InventoryNotecard Class, contains details on an encoded text document + + + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryNotecard object from a serialization stream + + + + + InventoryCategory Class + + TODO: Is this even used for anything? + + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryCategory object from a serialization stream + + + + + InventoryLSL Class, represents a Linden Scripting Language object + + + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryLSL object from a serialization stream + + + + + InventorySnapshot Class, an image taken with the viewer + + + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID + + + + Construct an InventorySnapshot object from a serialization stream + + + + + InventoryAttachment Class, contains details on an attachable object + + + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAttachment object from a serialization stream + + + + + Get the last AttachmentPoint this object was attached to + + + + + InventoryWearable Class, details on a clothing item or body part + + + + + Construct an InventoryWearable object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryWearable object from a serialization stream + + + + + The , Skin, Shape, Skirt, Etc + + + + + InventoryAnimation Class, A bvh encoded object which animates an avatar + + + + + Construct an InventoryAnimation object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAnimation object from a serialization stream + + + + + InventoryGesture Class, details on a series of animations, sounds, and actions + + + + + Construct an InventoryGesture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryGesture object from a serialization stream + + + + + A folder contains s and has certain attributes specific + to itself + + + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + + + Constructor + + UUID of the folder + + + + + + + + + + Get Serilization data for this InventoryFolder object + + + + + Construct an InventoryFolder object from a serialization stream + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create InventoryFolder from OSD + + OSD Data that makes up InventoryFolder + Inventory folder created + + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem + + + + Tools for dealing with agents inventory + + + + Used for converting shadow_id to asset_id + + + + Callback for inventory item creation finishing + + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null + + + + Callback for an inventory item being create from an uploaded asset + + true if inventory item creation was successful + + + + + + + + + + + + The event subscribers, null of no subscribers + + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive + + + The event subscribers, null of no subscribers + + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + + Reply received when uploading an inventory asset + + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID + + + The event subscribers, null of no subscribers + + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + + Delegate that is invoked when script upload is completed + + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID + + + The event subscribers, null of no subscribers + + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + Partial mapping of FolderTypes to folder names + + + + Get this agents Inventory data + + + + + Default constructor + + Reference to the GridClient object + + + + Fetch an inventory item from the dataserver + + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event + + + + Request A single inventory item + + The items + The item Owners + + + + + Request inventory items + + Inventory items to request + Owners of the inventory items + + + + + Request inventory items via Capabilities + + Inventory items to request + Owners of the inventory items + + + + + Get contents of a folder + + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested + + + + Request the contents of an inventory folder + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + + + + + Request the contents of an inventory folder using HTTP capabilities + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + + + + + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + + This will return the root folder if one does not exist + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure + + + + Find an object in inventory using a specific path to search + + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found + + + + Find inventory items by path + + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event + + + + Search inventory Store object for an item or folder + + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found + + + + Move an inventory item or folder to a new location + + The item or folder to move + The to move item or folder to + + + + Move an inventory item or folder to a new location and change its name + + The item or folder to move + The to move item or folder to + The name to change the item or folder to + + + + Move and rename a folder + + The source folders + The destination folders + The name to change the folder to + + + + Update folder properties + + of the folder to update + Sets folder's parent to + Folder name + Folder type + + + + Move a folder + + The source folders + The destination folders + + + + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. + + A Dictionary containing the + of the source as the key, and the + of the destination as the value + + + + Move an inventory item to a new folder + + The of the source item to move + The of the destination folder + + + + Move and rename an inventory item + + The of the source item to move + The of the destination folder + The name to change the folder to + + + + Move multiple inventory items to new locations + + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value + + + + Remove descendants of a folder + + The of the folder + + + + Remove a single item from inventory + + The of the inventory item to remove + + + + Remove a folder from inventory + + The of the folder to remove + + + + Remove multiple items or folders from inventory + + A List containing the s of items to remove + A List containing the s of the folders to remove + + + + Empty the Lost and Found folder + + + + + Empty the Trash folder + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder + + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use FolderType.None + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems + + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure + + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure + + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link + + + + Creates inventory link to another inventory item + + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link + + + + Creates inventory link to another inventory folder + + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link + + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request a copy of an asset embedded within a notecard + + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Save changes to notecard embedded in object contents + + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information + + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete + + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + + + + + Update an existing script in an task Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + + + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object + + + + Rez an object from inventory + + Simulator to place object in + TaskID object when rezzed + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object + + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + + + DeRez an object from the simulator and return to inventory + + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + + + Rez an item from inventory to its previous simulator location + + + + + + + + + Give an inventory item to another avatar + + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer + + + + Give an inventory Folder with contents to another avatar + + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer + + + + Copy or move an from agent inventory to a task (primitive) inventory + + The target object + The item to copy or move from inventory + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory + + + + Retrieve a listing of the items contained in a task (Primitive) + + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded + + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + + + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + + + + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event + + + + Remove an item from an objects (Prim) Inventory + + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event + + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + + + + + Request the running status of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + + + + + Send a request to set the running state of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event + + + + Create a CRC from an InventoryItem + + The source InventoryItem + A uint representing the source InventoryItem as a CRC + + + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + + Obfuscated shadow_id value + Deobfuscated asset_id value + + + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + + asset_id value to obfuscate + Obfuscated shadow_id value + + + + Wrapper for creating a new object + + The type of item from the enum + The of the newly created object + An object with the type and id passed + + + + Parse the results of a RequestTaskInventory() response + + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Set to true to accept offer, false to decline it + + + The folder to accept the inventory into, if null default folder for will be used + + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. + + + + + + + User data + + + + + + + + + + + + + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server + + + + + + + + + + + + + + + + De-serialization constructor for the InventoryNode Class + + + + + Serialization handler for the InventoryNode Class + + + + + De-serialization handler for the InventoryNode Class + + + + + + + + + + + Singleton logging class for the entire library + + + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from + + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console + + + log4net logging engine + + + + Default constructor + + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + Exception that was raised + + + + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Status of the last application run. + Used for error reporting to the grid login service for statistical purposes. + + + + Application exited normally + + + Application froze + + + Application detected error and exited abnormally + + + Other crash + + + Application froze during logout + + + Application crashed during logout + + + + Login Request Parameters + + + + The URL of the Login Server + + + The number of milliseconds to wait before a login is considered + failed due to timeout + + + The request method + login_to_simulator is currently the only supported method + + + The Agents First name + + + The Agents Last name + + + A md5 hashed password + plaintext password will be automatically hashed + + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + + A string containing the client software channel information + Second Life Release + + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer + + + A string containing the platform information the agent is running on + + + A string containing version number for OS the agent is running on + + + A string hash of the network cards Mac Address + + + Unknown or deprecated + + + A string hash of the first disk drives ID used to identify this clients uniqueness + + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string + + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information + + + If true, this agent agrees to the Terms of Service of the grid its connecting to + + + Unknown + + + Status of the last application run sent to the grid login server for statistical purposes + + + An array of string sent to the login server to enable various options + + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire + + + + Default constuctor, initializes sane default values + + + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server + + + + The decoded data returned from the login server after a successful login + + + + true, false, indeterminate + + + Login message of the day + + + M or PG, also agent_region_access and agent_access_max + + + + Parse LLSD Login Reply Data + + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes + + + + Login Routines + + + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. + + + + The event subscribers, null of no subscribers + + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + + + + + + + + + + + Called when a reply is received from the login server, the + login sequence will block until this event returns + + + Seed CAPS URL returned from the login server + + + Current state of logging in + + + Upon login failure, contains a short string key for the + type of login error that occurred + + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) + + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned + + + Maximum number of groups an agent can belong to, -1 for unlimited + + + Server side baking service URL + + + Parsed login response data + + + A list of packets obtained during the login process which + networkmanager will log but not process + + + + Generate sane default values for a login request + + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + A populated struct containing + sane defaults + + + + Simplified login that takes the most common and required fields + + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name (channel) + Starting location URI that can be built with + StartLocation() + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Login that takes a struct of all the values that will be passed to + the login server + + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Build a start location URI for passing to the Login function + + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location + + + + LoginParams and the initial login XmlRpcRequest were made on a remote machine. + This method now initializes libomv with the results. + + + + + Handles response from XML-RPC login replies + + + + + Handles response from XML-RPC login replies with already parsed LoginResponseData + + + + + Handle response from LLSD login replies + + + + + + + + Get current OS + + Either "Win" or "Linux" + + + + Gets the current OS version number + + The platform version. + + + + Get clients default Mac Address + + A string containing the first found Mac Address + + + + Explains why a simulator or the grid disconnected from us + + + + The client requested the logout or simulator disconnect + + + The server notified us that it is disconnecting + + + Either a socket was closed or network traffic timed out + + + The last active simulator shut down + + + + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling + + + + Reference to the simulator that this packet came from + + + Packet that needs to be processed + + + + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending + + + + Reference to the simulator this packet is destined for + + + Packet that needs to be sent + + + Sequence number of the wrapped packet + + + Number of times this packet has been resent + + + Environment.TickCount when this packet was last sent over the wire + + + Type of the packet + + + The event subscribers, null of no subscribers + + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + Unique identifier associated with our connections to + simulators + + + The simulator that the logged in avatar is currently + occupying + + + Shows whether the network layer is logged in to the + grid or not + + + Number of packets in the incoming queue + + + Number of packets in the outgoing queue + + + All of the simulators we are currently connected to + + + Handlers for incoming capability events + + + Handlers for incoming packets + + + Incoming packets that are awaiting handling + + + Outgoing packets that are awaiting handling + + + + Default constructor + + Reference to the GridClient object + + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously + + + + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type this callback is registered with + Callback to stop firing events for + + + + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received + + + + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event this callback is + registered with + Callback to stop firing events for + + + + Send a packet to the simulator the avatar is currently occupying + + Packet to send + + + + Send a packet to a specified simulator + + Packet to send + Simulator to send the packet to + + + + Connect to a simulator + + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null + + + + Connect to a simulator + + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null + + + + Begins the non-blocking logout. Makes sure that the LoggedOut event is + called even if the server does not send a logout reply, and Shutdown() + is properly called. + + + + + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down + + + + + Initiate the logout process. The Shutdown() function + needs to be manually called. + + + + + Close a connection to the given simulator + + + + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + Shutdown message + + + + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null + + + + Fire an event when an event queue connects for capabilities + + Simulator the event queue is attached to + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets + + + + Type of the value + + + Unknown + + + String value + + + + + + + + + + + + + + + Deprecated + + + String value, but designated as an asset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Constructor that takes all the fields as parameters + + + + + + + + + + Constructor that takes a single line from a NameValue field + + + + + + + + + + No report + + + Unknown report type + + + Bug report + + + Complaint report + + + Customer service report + + + + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object + + + + Unknown + + + Whether the object has a TreeSpecies + + + Whether the object has floating text ala llSetText + + + Whether the object has an active particle system + + + Whether the object has sound attached to it + + + Whether the object is attached to a root object or not + + + Whether the object has texture animation settings + + + Whether the object has an angular velocity + + + Whether the object has a name value pairs string + + + Whether the object has a Media URL set + + + + Specific Flags for MultipleObjectUpdate requests + + + + None + + + Change position of prims + + + Change rotation of prims + + + Change size of prims + + + Perform operation on link set + + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale + + + + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use + + + + + Indicates that this pay option should be hidden + + + + + Indicates that this pay option should have the default value + + + + + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Handles all network traffic related to prims and avatar positions and + movement. + + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + + + + The event subscribers, null of no subscribers + + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + additional information + + + + + The event subscribers, null of no subscribers + + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking + + + The event subscribers, null of no subscribers + + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + additional and details + + + + The event subscribers, null of no subscribers + + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator + + + + Raises the ParticleUpdate Event + + A ParticleUpdateEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + updated information for an + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + Raised when the simulator sends us data containing + and movement changes + + + The event subscribers, null of no subscribers + + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + updates to an Objects DataBlock + + + The event subscribers, null of no subscribers + + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator informs us an + or is no longer within view + + + The event subscribers, null of no subscribers + + + Raises the KillObjects Event + A KillObjectsEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator informs us when a group of + or is no longer within view + + + The event subscribers, null of no subscribers + + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + updated sit information for our + + + The event subscribers, null of no subscribers + + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + purchase price information for a + + + + Callback for getting object media data via CAP + + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data + + + The event subscribers, null of no subscribers + + + Raises the PhysicsProperties Event + A PhysicsPropertiesEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + additional information + + + + + Reference to the GridClient object + + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects + + + + Construct a new instance of the ObjectManager class + + A reference to the instance + + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object + + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects + + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + + + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event + + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + + + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + + + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + + + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + + + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + Type of the represetnation prim will have in the physics engine + Density - normal value 1000 + Friction - normal value 0.6 + Restitution - standard value 0.5 + Gravity multiplier - standar value 1.0 + + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object + + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object + + + + Deselect a single object + + The the object is located + The Local ID of the object + + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects + + + + Perform a click action on an object + + The the object is located + The Local ID of the object + + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties + + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties + + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old + + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set + + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) + + + + Set the Light data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Set the flexible data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Set the sculptie texture and data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Unset additional primitive parameters on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set + + + + Link multiple prims into a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? + + + + Delink/Unlink multiple prims from a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink + + + + Change the rotation of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object + + + + Set the name of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object + + + + Set the name of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects + + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object + + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects + + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object + + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in + + + + Detach an object from yourself + + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach + + + + Change the position of an object, Will change position of entire linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + + + + Change the position of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset + + + + Change the Scale (size) of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly + + + + Change the Rotation of an object that is either a child or a whole linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset + + + + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum + + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to + + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to + + + + Set the permissions on multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + Which permission to modify + The new state of permission + + + + Request additional properties for an object + + A reference to the object where the object resides + + + + + Request additional properties for an object + + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request + + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID + + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located + + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located + + + + Retrieve information about object media + + UUID of the primitive + Simulator where prim is located + Call this callback when done + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + + + + + + + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a + + + + + + + + + + + + + + + + + + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape + + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + + + + Get the simulator the originated from + + + Get the details + + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + + true if the is attached to an + + + Get the simulator Time Dilation + + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent + + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + + + + Get the simulator the object originated from + + + Get the data + + + Get the simulator time dilation + + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update + + + Get the simulator the object originated from + + + Get the data + + + Get source + + + + Construct a new instance of the ParticleUpdateEventArgs class + + The simulator the packet originated from + The ParticleSystem data + The Primitive source + + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + + + + Get the simulator the object is located + + + Get the primitive properties + + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties + + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + + + + Get the primitive details + + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties + + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + + + + Get the simulator the object is located + + + + + + + + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + + + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + + + + + + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + + + + + + + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + + + Provides updates sit position data + + + + Get the simulator the object is located + + + + + + + + + + + + + + + + + Get the simulator the object is located + + + + + + + + + + + + + Indicates if the operation was successful + + + + + Media version string + + + + + Array of media entries indexed by face number + + + + + Set when simulator sends us infomation on primitive's physical properties + + + + Simulator where the message originated + + + Updated physical properties + + + + Constructor + + Simulator where the message originated + Updated physical properties + + + Size of the byte array used to store raw packet data + + + Raw packet data buffer + + + Length of the data to transmit + + + EndPoint of the remote host + + + + Create an allocated UDP packet buffer for receiving a packet + + + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data + + + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets + + + + + Initialize the object pool in client mode + + Server to connect to + + + + + + Initialize the object pool in server mode + + + + + + + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + + Initialized UDPPacketBuffer object + + + + Default constructor + + + + + Check a packet buffer out of the pool + + A packet buffer object + + + + Returns an instance of the class that has been checked out of the Object Pool. + + + + + Checks the instance back into the object pool + + + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + + + + + Creates a new instance of the ObjectPool Base class. + + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. + + + + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. + + + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. + + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. + + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. + + + + The total number of segments created. Intended to be used by the Unit Tests. + + + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + + + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + + + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + + + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + + Key + Value + + + + A dictionary of callbacks to fire when specified action occurs + + + + + Register a callback to be fired when an action occurs + + The action + The callback to fire + + + + Unregister a callback + + The action + The callback to fire + + + + + + + + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + + + + Gets the number of Key/Value pairs contained in the + + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + + + + + Try to get entry from the with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + + Check if Key exists in Dictionary + Key to check for + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise + + + + Indexer for the dictionary + + The key + The value + + + + Clear the contents of the dictionary + + + + + Enumerator for iterating dictionary entries + + + + + + Provides helper methods for parallelizing loops + + + + + Executes a for loop in which iterations may run in parallel + + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop + + + + Executes a for loop in which iterations may run in parallel + + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop + + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection + + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection + + + + Executes a series of tasks in parallel + + A series of method bodies to execute + + + + Executes a series of tasks in parallel + + The number of concurrent execution threads to run + A series of method bodies to execute + + + + Type of return to use when returning objects from a parcel + + + + + + + Return objects owned by parcel owner + + + Return objects set to group + + + Return objects not owned by parcel owner or set to group + + + Return a specific list of objects on parcel + + + Return objects that are marked for-sale + + + + Blacklist/Whitelist flags used in parcels Access List + + + + Agent is denied access + + + Agent is granted access + + + + The result of a request for parcel properties + + + + No matches were found for the request + + + Request matched a single parcel + + + Request matched multiple parcels + + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + + + + Request the access list + + + Request the ban list + + + Request both White and Black lists + + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + + + + Parcel is currently selected + + + Parcel restricted to a group the avatar is not a + member of + + + Avatar is banned from the parcel + + + Parcel is restricted to an access list that the + avatar is not on + + + Response to hovering over a parcel + + + + The tool to use when modifying terrain levels + + + + Level the terrain + + + Raise the terrain + + + Lower the terrain + + + Smooth the terrain + + + Add random noise to the terrain + + + Revert terrain to simulator default + + + + The tool size to use when changing terrain levels + + + + Small + + + Medium + + + Large + + + + Reasons agent is denied access to a parcel on the simulator + + + + Agent is not denied, access is granted + + + Agent is not a member of the group set for the parcel, or which owns the parcel + + + Agent is not on the parcels specific allow list + + + Agent is on the parcels ban list + + + Unknown + + + Agent is not age verified and parcel settings deny access to non age verified avatars + + + + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused + + + Public land + + + Land is owned by another avatar + + + Land is owned by a group + + + Land is owned by the current avatar + + + Land is for sale + + + Land is being auctioned + + + Land is private + + + To the west of this area is a parcel border + + + To the south of this area is a parcel border + + + + Various parcel properties + + + + No flags set + + + Allow avatars to fly (a client-side only restriction) + + + Allow foreign scripts to run + + + This parcel is for sale + + + Allow avatars to create a landmark on this parcel + + + Allows all avatars to edit the terrain on this parcel + + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here + + + Foreign avatars can create objects here + + + All objects on this parcel can be purchased + + + Access is restricted to a group + + + Access is restricted to a whitelist + + + Ban blacklist is enabled + + + Unknown + + + List this parcel in the search directory + + + Allow personally owned parcels to be deeded to group + + + If Deeded, owner contributes required tier to group parcel is deeded to + + + Restrict sounds originating on this parcel to the + parcel boundaries + + + Objects on this parcel are sold when the land is + purchsaed + + + Allow this parcel to be published on the web + + + The information for this parcel is mature content + + + The media URL is an HTML page + + + The media URL is a raw HTML string + + + Restrict foreign object pushes + + + Ban all non identified/transacted avatars + + + Allow group-owned scripts to run + + + Allow object creation by group members or group + objects + + + Allow all objects to enter this parcel + + + Only allow group and owner objects to enter this parcel + + + Voice Enabled on this parcel + + + Use Estate Voice channel for Voice on this parcel + + + Deny Age Unverified Users + + + + Parcel ownership status + + + + Placeholder + + + Parcel is leased (owned) by an avatar or group + + + Parcel is in process of being leased (purchased) by an avatar or group + + + Parcel has been abandoned back to Governor Linden + + + + Category parcel is listed in under search + + + + No assigned category + + + Linden Infohub or public area + + + Adult themed area + + + Arts and Culture + + + Business + + + Educational + + + Gaming + + + Hangout or Club + + + Newcomer friendly + + + Parks and Nature + + + Residential + + + Shopping + + + Not Used? + + + Other + + + Not an actual category, only used for queries + + + + Type of teleport landing for a parcel + + + + Unset, simulator default + + + Specific landing point set for this parcel + + + No landing point set, direct teleports enabled for + this parcel + + + + Parcel Media Command used in ParcelMediaCommandMessage + + + + Stop the media stream and go back to the first frame + + + Pause the media stream (stop playing but stay on current frame) + + + Start the current media stream playing and stop when the end is reached + + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play + + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. + + + Specifies the movie URL (254 characters max) + + + Specifies the time index at which to begin playing + + + Specifies a single agent to apply the media command to + + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. + + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. + + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working + + + Sets a description for the media being displayed (1.19.1 RC0 and later only). + + + + Some information about a parcel of land returned from a DirectoryManager search + + + + Global Key of record + + + Parcel Owners + + + Name field of parcel, limited to 128 characters + + + Description field of parcel, limited to 256 characters + + + Total Square meters of parcel + + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + + True of parcel is in Mature simulator + + + Grid global X position of parcel + + + Grid global Y position of parcel + + + Grid global Z position of parcel (not used) + + + Name of simulator parcel is located in + + + Texture of parcels display picture + + + Float representing calculated traffic based on time spent on parcel by avatars + + + Sale price of parcel (not used) + + + Auction ID of parcel + + + + Parcel Media Information + + + + A byte, if 0x1 viewer should auto scale media to fit object + + + A boolean, if true the viewer should loop the media + + + The Asset UUID of the Texture which when applied to a + primitive will display the media + + + A URL which points to any Quicktime supported media type + + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A string which contains the mime type of the media + + + + Parcel of land, a portion of virtual real estate in a simulator + + + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + + Deprecated, Value appears to always be 0 + + + Simulator-local ID of this parcel + + + UUID of the owner of this parcel + + + Whether the land is deeded to a group or not + + + + + + Date land was claimed + + + Appears to always be zero + + + This field is no longer used + + + Minimum corner of the axis-aligned bounding box for this + parcel + + + Maximum corner of the axis-aligned bounding box for this + parcel + + + Bitmap describing land layout in 4x4m squares across the + entire region + + + Total parcel land area + + + + + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel + + + Maximum number of primitives this parcel supports + + + Total number of primitives on this parcel + + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual + + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. + + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + + Autoreturn value in minutes for others' objects + + + + + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + + Parcel Name + + + Parcel Description + + + URL For Music Stream + + + + + + Price for a temporary pass + + + How long is pass valid for + + + + + + Key of authorized buyer + + + Key of parcel snapshot + + + The landing point location + + + The landing point LookAt + + + The type of landing enforced from the enum + + + + + + + + + + + + Access list of who is whitelisted on this + parcel + + + Access list of who is blacklisted on this + parcel + + + TRUE of region denies access to age unverified users + + + true to obscure (hide) media url + + + true to obscure (hide) music url + + + A struct containing media details + + + + Displays a parcel object in string format + + string containing key=value pairs of a parcel object + + + + Defalt constructor + + Local ID of this parcel + + + + Update the simulator with any local changes to this Parcel object + + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not + + + + Set Autoreturn time + + Simulator to send the update to + + + + Parcel (subdivided simulator lots) subsystem + + + + + Parcel Accesslist + + + + Agents + + + + + + Flags for specific entry in white/black lists + + + + Owners of primitives on parcel + + + + Prim Owners + + + True of owner is group + + + Total count of prims owned by OwnerID + + + true of OwnerID is currently online and is not a group + + + The date of the most recent prim left by OwnerID + + + + Called once parcel resource usage information has been collected + + Indicates if operation was successfull + Parcel resource usage information + + + The event subscribers. null if no subcribers + + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds to a Parcel Update request + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the parcel your agent is located sends a ParcelMediaCommand + + + + Default constructor + + A reference to the GridClient object + + + + Request basic information for a single parcel + + Simulator-local ID of the parcel + + + + Request properties of a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests + + + + Request the access list for a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + + + + + Request properties of parcels using a bounding box selection + + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel + + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request + + + + Request the dwell value for a parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + + + + Send a request to Purchase a parcel of land + + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + + + + + Reclaim a parcel of land + + The simulator the parcel is in + The parcels region specific local ID + + + + Deed a parcel to a group + + The simulator the parcel is in + The parcels region specific local ID + The groups + + + + Request prim owners of a parcel of land. + + Simulator parcel is in + The parcels region specific local ID + + + + Return objects from a parcel + + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return + + + + Subdivide (split) a parcel + + + + + + + + + + Join two parcels of land creating a single parcel + + + + + + + + + + Get a parcels LocalID + + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at + + + + Sends a request to the simulator to return a list of objects owned by specific owners + + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event + + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target + + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze + + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel + + + + Requests the UUID of the parcel in a remote region at a specified location + + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise + + + + Retrieves information on resources used by the parcel + + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Contains a parcels dwell data returned from the simulator in response to an + + + Get the global ID of the parcel + + + Get the simulator specific ID of the parcel + + + Get the calculated dwell + + + + Construct a new instance of the ParcelDwellReplyEventArgs class + + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel + + + Contains basic parcel information data returned from the + simulator in response to an request + + + Get the object containing basic parcel info + + + + Construct a new instance of the ParcelInfoReplyEventArgs class + + The object containing basic parcel info + + + Contains basic parcel information data returned from the simulator in response to an request + + + Get the simulator the parcel is located in + + + Get the object containing the details + If Result is NoData, this object will not contain valid data + + + Get the result of the request + + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel + + + Get the user assigned ID used to correlate a request with + these results + + + TODO: + + + + Construct a new instance of the ParcelPropertiesEventArgs class + + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: + + + Contains blacklist and whitelist data returned from the simulator in response to an request + + + Get the simulator the parcel is located in + + + Get the user assigned ID used to correlate a request with + these results + + + Get the simulator specific ID of the parcel + + + TODO: + + + Get the list containing the white/blacklisted agents for the parcel + + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel + + + Contains blacklist and whitelist data returned from the + simulator in response to an request + + + Get the simulator the parcel is located in + + + Get the list containing prim ownership counts + + + + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + + The simulator the parcel is located in + The list containing prim ownership counts + + + Contains the data returned when all parcel data has been retrieved from a simulator + + + Get the simulator the parcel data was retrieved from + + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + + Construct a new instance of the SimParcelsDownloadedEventArgs class + + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + Contains the data returned when a request + + + Get the simulator the parcel data was retrieved from + + + Get the list of primitive IDs + + + true if the list is clean and contains the information + only for a given request + + + + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request + + + Contains data when the media data for a parcel the avatar is on changes + + + Get the simulator the parcel media data was updated in + + + Get the updated media information + + + + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + + the simulator the parcel media data was updated in + The updated media information + + + Contains the media command for a parcel the agent is currently on + + + Get the simulator the parcel media command was issued in + + + + + + + + + Get the media command that was sent + + + + + + + Construct a new instance of the ParcelMediaCommandEventArgs class + + The simulator the parcel media command was issued in + + + The media command that was sent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically + + + Main grid login server + + + Beta grid login server + + + The relative directory where external resources are kept + + + Login server to connect to + + + IP Address the client will bind to + + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + + + Maximum number of HTTP connections to open to a particular endpoint. + + + An endpoint is defined as a commbination of network address and port. This is used for Caps. + This is a static variable which applies to all instances. + + + + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. + + + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + + + + + Use Caps for fetching inventory where available + + + + Number of milliseconds before an asset transfer will time + out + + + Number of milliseconds before a teleport attempt will time + out + + + Number of milliseconds before NetworkManager.Logout() will + time out + + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly + + + Number of milliseconds for xml-rpc to timeout + + + Milliseconds before a packet is assumed lost and resent + + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost + + + Milliseconds to wait for a simulator info request through + the grid interface + + + Number of milliseconds between sending pings to each sim + + + Number of milliseconds between sending camera updates + + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects + + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked + + + The initial size of the packet inbox, where packets are + stored before processing + + + Maximum size of packet that we want to send over the wire + + + The maximum value of a packet sequence number before it + rolls over back to one + + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets + + + Maximum number of queued ACKs to be sent before SendAcks() + is forced + + + Network stats queue length (seconds) + + + + Primitives will be reused when falling in/out of interest list (and shared between clients) + prims returning to interest list do not need re-requested + Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client + + + + + Pool parcel data between clients (saves on requesting multiple times when all clients may need it) + + + + + How long to preserve cached data when no client is connected to a simulator + The reason for setting it to something like 2 minutes is in case a client + is running back and forth between region edges or a sim is comming and going + + + + Enable/disable storing terrain heightmaps in the + TerrainManager + + + Enable/disable sending periodic camera updates + + + Enable/disable automatically setting agent appearance at + login and after sim crossing + + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems + + + Enable/disable the sending of pings to monitor lag and + packet loss + + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) + + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information + + + If true, when a cached object check is received from the + server the full object info will automatically be requested + + + Whether to establish connections to HTTP capabilities + servers for simulators + + + Whether to decode sim stats + + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors + + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched + + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects + + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + + + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received + + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + + + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + + + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + + + + Path to store cached texture data + + + Maximum size cached files are allowed to take on disk (bytes) + + + Default color used for viewer particle effects + + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login + + + Maximum number of times to resend a failed packet + + + Throttle outgoing packet rate + + + UUID of a texture used by some viewers to indentify type of client used + + + + Download textures using GetTexture capability when available + + + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles + + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances + + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + + + + + Get or set the minimum log level to output to the console by default + + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + + + + Attach avatar names to log messages + + + Log packet retransmission info + + + Log disk cache misses and other info + + + Constructor + Reference to a GridClient object + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Simulator (region) properties + + + + No flags set + + + Agents can take damage and be killed + + + Landmarks can be created here + + + Home position can be set in this sim + + + Home position is reset when an agent teleports away + + + Sun does not move + + + No object, land, etc. taxes + + + Disable heightmap alterations (agents can still plant + foliage) + + + Land cannot be released, sold, or purchased + + + All content is wiped nightly + + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + + Region does not update agent prim interest lists. Internal debugging option. + + + No collision detection for non-agent objects + + + No scripts are ran + + + All physics processing is turned off + + + Region can be seen from other regions on world map. (Legacy world map option?) + + + Region can be seen from mainland on world map. (Legacy world map option?) + + + Agents not explicitly on the access list can visit the region. + + + Traffic calculations are not run across entire region, overrides parcel settings. + + + Flight is disabled (not currently enforced by the sim) + + + Allow direct (p2p) teleporting + + + Estate owner has temporarily disabled scripting + + + Restricts the usage of the LSL llPushObject function, applies to whole region. + + + Deny agents with no payment info on file + + + Deny agents with payment info on file + + + Deny agents who have made a monetary transaction + + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + + Abuse reports sent from within this region are sent to the estate owner defined email. + + + Region is Voice Enabled + + + Removes the ability from parcel owners to set their parcels to show in search. + + + Deny agents who have not been age verified from entering the region. + + + + Region protocol flags + + + + Nothing special + + + Region supports Server side Appearance + + + Viewer supports Server side Appearance + + + + Access level for a simulator + + + + Unknown or invalid access level + + + Trial accounts allowed + + + PG rating + + + Mature rating + + + Adult rating + + + Simulator is offline + + + Simulator does not exist + + + + + + + + + Simulator Statistics + + + + Total number of packets sent by this simulator to this agent + + + Total number of packets received by this simulator to this agent + + + Total number of bytes sent by this simulator to this agent + + + Total number of bytes received by this simulator to this agent + + + Time in seconds agent has been connected to simulator + + + Total number of packets that have been resent + + + Total number of resent packets recieved + + + Total number of pings sent to this simulator by this agent + + + Total number of ping replies sent to this agent by this simulator + + + + Incoming bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier + + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier + + + Time last ping was sent + + + ID of last Ping sent + + + + + + + + + Current time dilation of this simulator + + + Current Frames per second of simulator + + + Current Physics frames per second of simulator + + + + + + + + + + + + + + + + + + + + + + + + + + + Total number of objects Simulator is simulating + + + Total number of Active (Scripted) objects running + + + Number of agents currently in this simulator + + + Number of agents in neighbor simulators + + + Number of Active scripts running in this simulator + + + + + + + + + + + + Number of downloads pending + + + Number of uploads pending + + + + + + + + + Number of local uploads pending + + + Unacknowledged bytes in queue + + + A public reference to the client that this Simulator object + is attached to + + + A Unique Cache identifier for this simulator + + + The capabilities for this simulator + + + + + + The current version of software this simulator is running + + + + + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true if your agent has Estate Manager rights on this region + + + + + + + + + + + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library + + + The regions Unique ID + + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + + + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 + + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 + + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + + + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + + + + + Flags indicating which protocols this region supports + + + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers + + + + A thread-safe dictionary containing avatars in a simulator + + + + + A thread-safe dictionary containing primitives in a simulator + + + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + + + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) + + + + Is it safe to send agent updates to this sim + AgentMovementComplete message received + + + + The IP address and port of the server + + + Whether there is a working connection to the simulator or + not + + + Coarse locations of avatars in this simulator + + + AvatarPositions key representing TrackAgent target + + + Indicates if UDP connection to the sim is fully established + + + Used internally to track sim disconnections + + + Event that is triggered when the simulator successfully + establishes a connection + + + Whether this sim is currently connected or not. Hooked up + to the property Connected + + + Coarse locations of avatars in this simulator + + + AvatarPositions key representing TrackAgent target + + + Sequence numbers of packets we've received + (for duplicate checking) + + + Packets we sent out that need ACKs from the simulator + + + Sequence number for pause/resume + + + Indicates if UDP connection to the sim is fully established + + + + + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator + + + + Called when this Simulator object is being destroyed + + + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure + + + + Initiates connection to the simulator + + Should we block until ack for this packet is recieved + + + + Disconnect from this simulator + + + + + Instructs the simulator to stop sending update (and possibly other) packets + + + + + Instructs the simulator to resume sending update packets (unpause) + + + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false + + + + Sends a packet + + Packet to be sent + + + + + + + + + Returns Simulator Name as a String + + + + + + + + + + + + + + + + + + + Sends out pending acknowledgements + + Number of ACKs sent + + + + Resend unacknowledged packets + + + + + Simulator handle + + + + + Number of GridClients using this datapool + + + + + Time that the last client disconnected from the simulator + + + + + The cache of prims used and unused in this simulator + + + + + Shared parcel info only when POOL_PARCEL_DATA == true + + + + + + + + + The event subscribers, null of no subscribers + + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + sound + + + The event subscribers, null of no subscribers + + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + The event subscribers, null of no subscribers + + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance + + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played + + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Get the volume level + + + Get the + + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The + + + Provides data for the event + The event occurs when an attached sound + changes its volume level + + + Simulator where the event originated + + + Get the ID of the Object + + + Get the volume level + + + + Construct a new instance of the AttachedSoundGainChangedEventArgs class + + Simulator where the event originated + The ID of the Object + The new volume level + + + Provides data for the event + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Get the ID of the objects parent + + + Get the volume level + + + Get the regionhandle + + + Get the source position + + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + + + + pre-defined built in sounds + + + + + + + + + + + + + + + + + + + + + + + + + + + + coins + + + cash register bell + + + + + + + + + rubber + + + plastic + + + flesh + + + wood splintering? + + + glass break + + + metal clunk + + + whoosh + + + shake + + + + + + ding + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A dictionary containing all pre-defined sounds + + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound + + + X position of this patch + + + Y position of this patch + + + A 16x16 array of floats holding decompressed layer data + + + + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + + + + + Add a patch of terrain to a BitPacker + + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 + + + The event subscribers. null if no subcribers + + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Raised when the simulator responds sends + + + + Default constructor + + + + + Simulator from that sent tha data + + + Sim coordinate of the patch + + + Sim coordinate of the patch + + + Size of tha patch + + + Heightmap for the patch + + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + + + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline + + + A request that has been added to the pipeline and the request packet + has been sent to the simulator + + + A request that has received one or more packets back from the simulator + + + A request that has received all packets back from the simulator + + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received + + + The texture request was aborted by request of the agent + + + The simulator replied to the request that it was not able to find the requested texture + + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. + + + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + + This class makes full use of the internal + system for full texture downloads. + + + + A request task containing information and status of a request as it is processed through the + + + + The current which identifies the current status of the request + + + The Unique Request ID, This is also the Asset ID of the texture being requested + + + The slot this request is occupying in the threadpoolSlots array + + + The ImageType of the request. + + + The callback to fire when the request is complete, will include + the and the + object containing the result data + + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. + + + An object that maintains the data of an request thats in-process. + + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled + + + Holds the reference to the client object + + + Maximum concurrent texture requests allowed at a time + + + An array of objects used to manage worker request threads + + + An array of worker slots which shows the availablity status of the slot + + + The primary thread which manages the requests. + + + true if the TexturePipeline is currently running + + + A synchronization object used by the primary thread + + + A refresh timer used to increase the priority of stalled requests + + + Current number of pending and in-process transfers + + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object + + + + Initialize callbacks required for the TexturePipeline to operate + + + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + + + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download + + + + Cancel a pending or in process texture request + + The texture assets unique ID + + + + Master Download Thread, Queues up downloads in the threadpool + + + + + The worker thread that sends the request and handles timeouts + + A object containing the request details + + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data + + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data + + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data + + + + + + + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on + + + + Initialize the UDP packet handler in client mode + + Remote UDP server to connect to + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Operation to apply when applying color to texture @@ -22584,6 +21656,14 @@ A unique ID + + The assets unique ID + + + + The "type" of asset, Notecard, Animation, etc + + Construct a new Asset object @@ -22609,24 +21689,11 @@ True if the asset decoding succeeded, otherwise false - - The assets unique ID - - - - The "type" of asset, Notecard, Animation, etc - - Constants for the archiving module - - - Path for region settings. - - The location of the archive control file @@ -22652,6 +21719,11 @@ Path for region settings. + + + Path for region settings. + + The character the separates the uuid from extension information in an archived asset filename @@ -22794,6 +21866,9 @@ Represents an Animation + + Override the base classes AssetType + Default Constructor @@ -22804,14 +21879,545 @@ A unique specific to this asset A byte array containing the raw asset data - - Override the base classes AssetType - Represents an that represents an avatars body ie: Hair, Etc. + + Override the base classes AssetType + + + Initializes a new instance of an AssetBodyPart object + + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + Represents a Callingcard with AvatarID and Position vector + + + + Override the base classes AssetType + + + UUID of the Callingcard target avatar + + + Construct an Asset of type Callingcard + + + + Construct an Asset object of type Callingcard + + A unique specific to this asset + A byte array containing the raw asset data + + + + Constuct an asset of type Callingcard + + UUID of the target avatar + + + + Encode the raw contents of a string with the specific Callingcard format + + + + + Decode the raw asset data, populating the AvatarID and Position + + true if the AssetData was successfully decoded to a UUID and Vector + + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + + + + Override the base classes AssetType + + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + Type of gesture step + + + + + Base class for gesture steps + + + + + Retururns what kind of gesture step this is + + + + + Describes animation step of a gesture + + + + + Returns what kind of gesture step this is + + + + + If true, this step represents start of animation, otherwise animation stop + + + + + Animation asset + + + + + Animation inventory name + + + + + Describes sound step of a gesture + + + + + Returns what kind of gesture step this is + + + + + Sound asset + + + + + Sound inventory name + + + + + Describes sound step of a gesture + + + + + Returns what kind of gesture step this is + + + + + Text to output in chat + + + + + Describes sound step of a gesture + + + + + Returns what kind of gesture step this is + + + + + If true in this step we wait for all animations to finish + + + + + If true gesture player should wait for the specified amount of time + + + + + Time in seconds to wait if WaitForAnimation is false + + + + + Describes the final step of a gesture + + + + + Returns what kind of gesture step this is + + + + + Represents a sequence of animations, sounds, and chat actions + + + + + Returns asset type + + + + + Keyboard key that triggers the gestyre + + + + + Modifier to the trigger key + + + + + String that triggers playing of the gesture sequence + + + + + Text that replaces trigger in chat once gesture is triggered + + + + + Sequence of gesture steps + + + + + Constructs guesture asset + + + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encodes gesture asset suitable for uplaod + + + + + Decodes gesture assset into play sequence + + true if the asset data was decoded successfully + + + + Represents a Landmark with RegionID and Position vector + + + + Override the base classes AssetType + + + UUID of the Landmark target region + + + Local position of the target + + + Construct an Asset of type Landmark + + + + Construct an Asset object of type Landmark + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encode the raw contents of a string with the specific Landmark format + + + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector + + + + Represents Mesh asset + + + + Override the base classes AssetType + + + + Decoded mesh data + + + + Initializes a new instance of an AssetMesh object + + + Initializes a new instance of an AssetMesh object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + TODO: Encodes Collada file into LLMesh format + + + + + Decodes mesh asset. See + to furter decode it for rendering + true + + + + Represents an Animation + + + + Override the base classes AssetType + + + Default Constructor + + + + Construct an Asset object of type Animation + + Asset type + A unique specific to this asset + A byte array containing the raw asset data + + + + Represents a string of characters encoded with specific formatting properties + + + + Override the base classes AssetType + + + A text string containing main text of the notecard + + + List of s embedded on the notecard + + + Construct an Asset of type Notecard + + + + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encode the raw contents of a string with the specific Linden Text properties + + + + + Decode the raw asset data including the Linden Text properties + + true if the AssetData was successfully decoded + + + + A linkset asset, containing a parent primitive and zero or more children + + + + + Only used internally for XML serialization/deserialization + + + + Override the base classes AssetType + + + Initializes a new instance of an AssetPrim object + + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data + + + + + + + + + + + + + + + The deserialized form of a single primitive in a linkset asset + + + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + + + + Override the base classes AssetType + + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + TODO: Encodes a scripts contents into a LSO Bytecode file + + + + + TODO: Decode LSO Bytecode into a string + + true + + + + Represents an LSL Text object containing a string of UTF encoded characters + + + + Override the base classes AssetType + + + A string of characters represting the script contents + + + Initializes a new AssetScriptText object + + + + Initializes a new AssetScriptText object with parameters + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encode a string containing the scripts contents into byte encoded AssetData + + + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful + + + + Represents a Sound Asset + + + + Override the base classes AssetType + + + Initializes a new instance of an AssetSound object + + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + TODO: Encodes a sound file + + + + + TODO: Decode a sound file + + true + + + + Represents a texture + + + + Override the base classes AssetType + + + A object containing image data + + + + + + + + + Initializes a new instance of an AssetTexture object + + + + Initializes a new instance of an AssetTexture object + + A unique specific to this asset + A byte array containing the raw asset data + + + + Initializes a new instance of an AssetTexture object + + A object containing texture data + + + + Populates the byte array with a JPEG2000 + encoded image created from the data in + + + + + Decodes the JPEG2000 data in AssetData to the + object + + True if the decoding was successful, otherwise false + + + + Decodes the begin and end byte positions for each quality layer in + the image + + + Represents a Wearable Asset, Clothing, Hair, Skin, Etc @@ -22875,540 +22481,6 @@ Encode the assets string represantion into a format consumable by the asset server - - Initializes a new instance of an AssetBodyPart object - - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Represents a Callingcard with AvatarID and Position vector - - - - UUID of the Callingcard target avatar - - - Construct an Asset of type Callingcard - - - - Construct an Asset object of type Callingcard - - A unique specific to this asset - A byte array containing the raw asset data - - - - Constuct an asset of type Callingcard - - UUID of the target avatar - - - - Encode the raw contents of a string with the specific Callingcard format - - - - - Decode the raw asset data, populating the AvatarID and Position - - true if the AssetData was successfully decoded to a UUID and Vector - - - Override the base classes AssetType - - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Type of gesture step - - - - - Base class for gesture steps - - - - - Retururns what kind of gesture step this is - - - - - Describes animation step of a gesture - - - - - If true, this step represents start of animation, otherwise animation stop - - - - - Animation asset - - - - - Animation inventory name - - - - - Returns what kind of gesture step this is - - - - - Describes sound step of a gesture - - - - - Sound asset - - - - - Sound inventory name - - - - - Returns what kind of gesture step this is - - - - - Describes sound step of a gesture - - - - - Text to output in chat - - - - - Returns what kind of gesture step this is - - - - - Describes sound step of a gesture - - - - - If true in this step we wait for all animations to finish - - - - - If true gesture player should wait for the specified amount of time - - - - - Time in seconds to wait if WaitForAnimation is false - - - - - Returns what kind of gesture step this is - - - - - Describes the final step of a gesture - - - - - Returns what kind of gesture step this is - - - - - Represents a sequence of animations, sounds, and chat actions - - - - - Keyboard key that triggers the gestyre - - - - - Modifier to the trigger key - - - - - String that triggers playing of the gesture sequence - - - - - Text that replaces trigger in chat once gesture is triggered - - - - - Sequence of gesture steps - - - - - Constructs guesture asset - - - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encodes gesture asset suitable for uplaod - - - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully - - - - Returns asset type - - - - - Represents a Landmark with RegionID and Position vector - - - - UUID of the Landmark target region - - - Local position of the target - - - Construct an Asset of type Landmark - - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode the raw contents of a string with the specific Landmark format - - - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector - - - Override the base classes AssetType - - - - Represents Mesh asset - - - - - Decoded mesh data - - - - Initializes a new instance of an AssetMesh object - - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes Collada file into LLMesh format - - - - - Decodes mesh asset. See - to furter decode it for rendering - true - - - Override the base classes AssetType - - - - Represents an Animation - - - - Default Constructor - - - - Construct an Asset object of type Animation - - Asset type - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Represents a string of characters encoded with specific formatting properties - - - - A text string containing main text of the notecard - - - List of s embedded on the notecard - - - Construct an Asset of type Notecard - - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode the raw contents of a string with the specific Linden Text properties - - - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded - - - Override the base classes AssetType - - - - A linkset asset, containing a parent primitive and zero or more children - - - - Initializes a new instance of an AssetPrim object - - - - Initializes a new instance of an AssetPrim object - - A unique specific to this asset - A byte array containing the raw asset data - - - - - - - - - - - - - - Override the base classes AssetType - - - - Only used internally for XML serialization/deserialization - - - - - The deserialized form of a single primitive in a linkset asset - - - - - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes a scripts contents into a LSO Bytecode file - - - - - TODO: Decode LSO Bytecode into a string - - true - - - Override the base classes AssetType - - - - Represents an LSL Text object containing a string of UTF encoded characters - - - - A string of characters represting the script contents - - - Initializes a new AssetScriptText object - - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode a string containing the scripts contents into byte encoded AssetData - - - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful - - - Override the base classes AssetType - - - - Represents a Sound Asset - - - - Initializes a new instance of an AssetSound object - - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes a sound file - - - - - TODO: Decode a sound file - - true - - - Override the base classes AssetType - - - - Represents a texture - - - - A object containing image data - - - - - - - - - Initializes a new instance of an AssetTexture object - - - - Initializes a new instance of an AssetTexture object - - A unique specific to this asset - A byte array containing the raw asset data - - - - Initializes a new instance of an AssetTexture object - - A object containing texture data - - - - Populates the byte array with a JPEG2000 - encoded image created from the data in - - - - - Decodes the JPEG2000 data in AssetData to the - object - - True if the decoding was successful, otherwise false - - - - Decodes the begin and end byte positions for each quality layer in - the image - - - - - Override the base classes AssetType - = @@ -23424,6 +22496,24 @@ in to a single texture, for avatar appearances + + Final baked texture + + + Component layers + + + Width of the final baked image and scratchpad + + + Height of the final baked image and scratchpad + + + Bake type + + + Is this one of the 3 skin bakes + Final baked texture @@ -23486,24 +22576,6 @@ Green value Blue value - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - Is this one of the 3 skin bakes - Image width @@ -23593,6 +22665,32 @@ TGA Header size + + + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file + + + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + + + + + Information about a single packet in a JPEG2000 stream + + + + Packet start position + + + Packet header end position + + + Packet end position + OpenJPEG is not threadsafe, so this object is used to lock during calls into unmanaged code @@ -23647,32 +22745,6 @@ true to enable lossless decoding A byte array containing the source Bitmap object - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - - - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - - - - - Information about a single packet in a JPEG2000 stream - - - - Packet start position - - - Packet header end position - - - Packet end position - Capability to load TGAs to Bitmap @@ -33471,6 +32543,12 @@ Use the same mesh used for geometry as the physical mesh upload + + + Callback for mesh upload operations + + null on failure, result from server on success + Creates instance of the mesh uploader @@ -33504,12 +32582,6 @@ Uri recieved in the upload prepare stage Callback that will be invoke upon completion of the upload. Null is sent on request failure - - - Callback for mesh upload operations - - null on failure, result from server on success - Interface requirements for Messaging system @@ -33567,6 +32639,347 @@ Face texture parameters Scale of the prim + + + Binary reader, which is endian aware + + + + What is the format of the source file + + + + Construct a reader from a stream + + The stream to read from + + + + Construct a reader from a stream + + The stream to read from + What is the format of the file, assumes PC and similar architecture + + + + Read a 32 bit integer + + A 32 bit integer in the system's endianness + + + + Read a 16 bit integer + + A 16 bit integer in the system's endianness + + + + Read a 64 bit integer + + A 64 bit integer in the system's endianness + + + + Read an unsigned 32 bit integer + + A 32 bit unsigned integer in the system's endianness + + + + Read a single precision floating point value + + A single precision floating point value in the system's endianness + + + + Read a double precision floating point value + + A double precision floating point value in the system's endianness + + + + Read a UTF-8 string + + A standard system string + + + + Read a UTF-8 string + + length of string to read + A standard system string + + + + Load and handle Linden Lab binary meshes. + + + The exact definition of this file is a bit sketchy, especially concerning skin weights. + A good starting point is on the + second life wiki + + + + + Defines a polygon + + + + + Structure of a vertex, No surprises there, except for the Detail tex coord + + + The skinweights are a tad unconventional. The best explanation found is: + >Each weight actually contains two pieces of information. The number to the + >left of the decimal point is the index of the joint and also implicitly + >indexes to the following joint. The actual weight is to the right of the + >decimal point and interpolates between these two joints. The index is into + >an "expanded" list of joints, not just a linear array of the joints as + >defined in the skeleton file. In particular, any joint that has more than + >one child will be repeated in the list for each of its children. + + Maybe I'm dense, but that description seems to be a bit hard to build an + algorithm on. + + Esentially the weights are compressed into one floating point value. + 1. The whole number part is an index into an array of joints + 2. The fractional part is the weight that joint has + 3. If the fractional part is 0 (x.0000) then the vertex is 100% influenced by the specified joint + + + + + Provide a nice format for debugging + + Vertex definition as a string + + + + Describes deltas to apply to a vertex in order to morph a vertex + + + + + Provide a nice format for debugging + + MorphVertex definition as a string + + + + Describes a named mesh morph, essentially a named list of MorphVertices + + + + + Provide a nice format for debugging + + The name of the morph + + + + Don't really know what this does + + + + + Provide a nice format for debugging + + Human friendly format + + + + A reference mesh is one way to implement level of detail + + + Reference meshes are supplemental meshes to full meshes. For all practical + purposes almost all lod meshes are implemented as reference meshes, except for + 'avatar_eye_1.llm' which for some reason is implemented as a full mesh. + + + + + Load a mesh from a stream + + Filename and path of the file containing the reference mesh + + + + Level of Detail mesh + + + + + Construct a linden mesh with the given name + + the name of the mesh + + + + Construct a linden mesh with the given name + + the name of the mesh + The skeleton governing mesh deformation + + + + Load the mesh from a stream + + The filename and path of the file containing the mesh data + + + + Layout of one skinweight element + + + + List of skinweights, in the same order as the mesh vertices + + + + Decompress the skinweights + + the expanded joint list, used to index which bones should influece the vertex + + + + Load a reference mesh from a given stream + + The lod level of this reference mesh + the name and path of the file containing the mesh data + the loaded reference mesh + + + + Trim a string at the first occurence of NUL + + + The llm file uses null terminated strings (C/C++ style), this is where + the conversion is made. + + The string to trim + A standard .Net string + + + + load the 'avatar_skeleton.xml' + + + Partial class which extends the auto-generated 'LindenSkeleton.Xsd.cs'.eton.xsd + + + + + + Load a skeleton from a given file. + + + We use xml scema validation on top of the xml de-serializer, since the schema has + some stricter checks than the de-serializer provides. E.g. the vector attributes + are guaranteed to hold only 3 float values. This reduces the need for error checking + while working with the loaded skeleton. + + A valid recursive skeleton + + + + Load a skeleton from a given file. + + + We use xml scema validation on top of the xml de-serializer, since the schema has + some stricter checks than the de-serializer provides. E.g. the vector attributes + are guaranteed to hold only 3 float values. This reduces the need for error checking + while working with the loaded skeleton. + + The path to the skeleton definition file + A valid recursive skeleton + + + + Build and "expanded" list of joints + + + The algorithm is based on this description: + + >An "expanded" list of joints, not just a + >linear array of the joints as defined in the skeleton file. + >In particular, any joint that has more than one child will + >be repeated in the list for each of its children. + + The list should only take these joint names in consideration + An "expanded" joints list as a flat list of bone names + + + + Expand one joint + + The parent of the joint we are operating on + The joint we are supposed to expand + Joint list that we will extend upon + The expanded list should only contain these joints + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contains all mesh faces that belong to a prim + + + + List of primitive faces + + + + Decodes mesh asset into FacetedMesh + + Mesh primitive + Asset retrieved from the asset server + Level of detail + Resulting decoded FacetedMesh + True if mesh asset decoding was successful + Sent to the client to indicate a teleport request has completed @@ -33706,21 +33119,6 @@ the DataBlocksExtended map will not be sent from the simulator - - An Array of objects - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - Prim ownership information for a specified owner on a single parcel @@ -33743,6 +33141,21 @@ The date the most recent prim was rezzed + + An Array of objects + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + The details of a single parcel in a region, also contains some regionwide globals @@ -34171,26 +33584,6 @@ The Agent receiving the message - - An array containing information - for each the agent is a member of - - - An array containing information - for each the agent is a member of - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - Group Details specific to the agent @@ -34220,6 +33613,26 @@ true of the agent allows this group to be listed in their profile + + An array containing information + for each the agent is a member of + + + An array containing information + for each the agent is a member of + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + A message sent from the viewer to the simulator which @@ -34253,6 +33666,15 @@ leaves a group + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + An Array containing the AgentID and GroupID @@ -34270,15 +33692,6 @@ An containing the data - - An object containing the Agents UUID, and the Groups UUID - - - The ID of the Agent leaving the group - - - The GroupID the Agent is leaving - Base class for Asset uploads/results via Capabilities @@ -34738,21 +34151,6 @@ A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - - An array containing LayerData items - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - An object containing map location details @@ -34773,6 +34171,21 @@ The grid location of the northern border of the map tile + + An array containing LayerData items + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + Object containing request or response @@ -35147,10 +34560,54 @@ - Deseializes the message + Deserializes the message Incoming data to deserialize + + + Deserializes the message + + Incoming data to deserialize + + + + Serializes the message + + Serialized OSD + + + + + Deserializes the message + + Incoming data to deserialize + + + + Serializes the message + + Serialized OSD + + + + Deserializes the message + + Incoming data to deserialize + + + + Serializes the message + + Serialized OSD + + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message + A message sent from the viewer to the simulator which @@ -35630,6 +35087,941 @@ Serialized OSD data Deserialized object + + + Particle system specific enumerators, flags and methods. + + + + + Current version of the media data for the prim + + + + + Array of media entries indexed by face number + + + + + Complete structure for the particle system + + + + + Particle source pattern + + + + None + + + Drop particles from source position with no force + + + "Explode" particles in all directions + + + Particles shoot across a 2D area + + + Particles shoot across a 3D Cone + + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + + + Particle Data Flags + + + + None + + + Interpolate color and alpha from start to end + + + Interpolate scale from start to end + + + Bounce particles off particle sources Z height + + + velocity of particles is dampened toward the simulators wind + + + Particles follow the source + + + Particles point towards the direction of source's velocity + + + Target of the particles + + + Particles are sent in a straight line + + + Particles emit a glow + + + used for point/grab/touch + + + continuous ribbon particle + + + particle data contains glow + + + particle data contains blend functions + + + + Particle Flags Enum + + + + None + + + Acceleration and velocity for particles are + relative to the object rotation + + + Particles use new 'correct' angle parameters + + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer + + + pattern of particles + + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds + + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted + + + A in radians that specifies where particles will not be created + + + A in radians that specifies where particles will be created + + + A representing the number of seconds between burts. + + + A representing the number of meters + around the center of the source where particles will be created. + + + A representing in seconds, the minimum speed between bursts of new particles + being emitted + + + A representing in seconds the maximum speed of new particles being emitted. + + + A representing the maximum number of particles emitted per burst + + + A which represents the velocity (speed) from the source which particles are emitted + + + A which represents the Acceleration from the source which particles are emitted + + + The Key of the texture displayed on the particle + + + The Key of the specified target object or avatar particles will follow + + + Flags of particle from + + + Max Age particle system will emit particles for + + + The the particle has at the beginning of its lifecycle + + + The the particle has at the ending of its lifecycle + + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the start glow value + Minimum value is 0, maximum value is 1 + + + A that represents the end glow value + Minimum value is 0, maximum value is 1 + + + OpenGL blend function to use at particle source + + + OpenGL blend function to use at particle destination + + + + Can this particle system be packed in a legacy compatible way + + True if the particle system doesn't use new particle system features + + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker + + + + Generate byte[] array from particle data + + Byte array + + + + + + + Parameters used to construct a visual representation of a primitive + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Attachment point to an avatar + + + + + + + + + + + + + + + + Calculdates hash code for prim construction data + + The has + + + + Information on the flexible properties of a primitive + + + + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + + + + + + + + + + + + + + + + + + + + Information on the light properties of a primitive + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + + + + + + + + + + + + + + + + + + + + Information on the light properties of a primitive as texture map + + + + + + + + + + + Default constructor + + + + + + + + + + + + + + + + + + + + + + + + Information on the sculpt properties of a sculpted primitive + + + + + Render inside out (inverts the normals). + + + + + Render an X axis mirror of the sculpty. + + + + + Default constructor + + + + + + + + + + + + Extended properties to describe an object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + Set the properties that are set in an ObjectPropertiesFamily packet + + that has + been partially filled by an ObjectPropertiesFamily packet + + + + Describes physics attributes of the prim + + + + Primitive's local ID + + + Density (1000 for normal density) + + + Friction + + + Gravity multiplier (1 for normal gravity) + + + Type of physics representation of this primitive in the simulator + + + Restitution + + + + Creates PhysicsProperties from OSD + + OSDMap with incoming data + Deserialized PhysicsProperties object + + + + Serializes PhysicsProperties to OSD + + OSDMap with serialized PhysicsProperties data + + + + + + + + + + + + + + + + + + + + + Foliage type for this primitive. Only applicable if this + primitive is foliage + + + Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifies the owner if audio or a particle system is + active + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Objects physics engine propertis + + + Extra data about primitive + + + Indicates if prim is attached to an avatar + + + Number of clients referencing this prim + + + Uses basic heuristics to estimate the primitive shape + + + + Default constructor + + + + + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + + Floating point parameter to pack + Signed eight bit value containing the packed parameter + + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value + + + + Texture animation mode + + + + Disable texture animation + + + Enable texture animation + + + Loop when animating textures + + + Animate in reverse direction + + + Animate forward then reverse + + + Slide texture smoothly instead of frame-stepping + + + Rotate texture instead of using frames + + + Scale texture instead of using frames + + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + In the future this will specify whether a webpage is + attached to this face + + + + + + + + + + Contains the definition for individual faces + + + + + + + + + + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces + + + + + + + + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture + + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face + + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes + + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Controls the texture animation of a particular prim + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of bump-mapping applied to a face @@ -35768,29 +36160,6 @@ - - - Level of Detail mesh - - - - - Contains all mesh faces that belong to a prim - - - - List of primitive faces - - - - Decodes mesh asset into FacetedMesh - - Mesh primitive - Asset retrieved from the asset server - Level of detail - Resulting decoded FacetedMesh - True if mesh asset decoding was successful - This is used to login a specific user account(s). It may only be called after @@ -35930,6 +36299,16 @@ The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume + + + List of audio input devices + + + + + List of audio output devices + + Start up the Voice service. @@ -36003,6 +36382,11 @@ Handle response to audio input device query + + + Set audio test mode + + Set voice channel for new parcel @@ -36035,6 +36419,60 @@ + + Enable logging + + + The folder where any logs will be created + + + This will be prepended to beginning of each log file + + + The suffix or extension to be appended to each log file + + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + + + + + Constructor for default logging settings + + + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + + + Event for most mundane request reposnses. + + + + Response to Connector.Create request + + + Response to Aux.GetCaptureDevices request + + + Response to Aux.GetRenderDevices request + + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter + + + Response to Account.Login request + + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another + Starts a thread that keeps the daemon running @@ -36128,75 +36566,6 @@ The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - - - List of audio input devices - - - - - List of audio output devices - - - - - Set audio test mode - - - - - Event for most mundane request reposnses. - - - - Response to Connector.Create request - - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request - - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter - - - Response to Account.Login request - - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another - - - Enable logging - - - The folder where any logs will be created - - - This will be prepended to beginning of each log file - - - The suffix or extension to be appended to each log file - - - - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - - - - - Constructor for default logging settings - - - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - Positional vector of the users position @@ -36236,5 +36605,52 @@ + + + + + + + + Delegate to wrap another delegate and its arguments + + + + + + + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate + + + + + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper + + + + + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + + + + + + Invokes the wrapped delegate synchronously + + + + + + + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + + + diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 7a1bc0b42535c2e50c7588fd85e5755ceb66d3dc..5c576a7a6f5e3b46285b8078abf1aa12abdcb82d 100755 GIT binary patch literal 2199552 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

;@;MF|} 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%0ADT* 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%0Dt?CER1T@yA!-~2z=(#^ooi52_T_<@K1pHJ- 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%0DDIO}8OnhbYn_}a#$0-$yHWtnv9dFQ1>IyDDQ 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

VYzK}-D-c*~i>|E+mdL#3u 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 phCZAJd0|}GQtJ$b=$?jWq=hY&J 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
  • C%Rt6FOB=ar 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ℜ}QRjE^2NQzeJZb{lx#E%bMH8uh11ufAMSd4f+;c)!ZR| zhrZVg5C!d>VuIEyUZ?emU682tixScxtu`R)kX{=UuSZ?AA@K&(Oh)T3I;$3KvcC1*6 z%Cr%2Fe*nw&`|9-ahP_zSfQODR-!6xtvFnJzc>Qjt(_>2ME7Xx#8K#8G#dQ`Rcq_T z`%qZhAdW#b+D36KifAW^#M$TxGzUG2=4u}opF;Drv&ElkpAhG3=ZH_E1==UYpP_}?x#Bb0r^H3*S?xS= zF?vq>Q*nuQzW8&rRQt5}3$#qTKztr8M=xl9Cayp)Y8Q$t(J!^nh^x>`+C}1O^egSN z;u`d_cCok?{aX8+xDLIdT_UbWuWElTZa}}$E)_ST-=a<0Ux=@v&Dv$+>u8JidGU8> zt9H5g2HK{5L3|T!*RBxX(!MC}K)**jwJXIxpk3NuihtCu5_h9NXIQ;x8f=EPwgi0H2N5w(Y_}B3!T+&7C%Afw6BYwqVw7< z;%Ddr`ds@v@eA~C?N;$3`cnIbcnSSSyG^`|zCu^DZ;D@|Z?xORZ_!olTjF=WVXcR;)qCFyC>K z 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�*tVMDds**Zk#Leq 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 BET#Ye literal 2195456 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 +?uUDgQ$-ThGg&Rq!q04P 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%0A_&L=8Oi#68aas+}=TvZ0vf#0m;?C#nV^i{M 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�Gk^~0Bm6(0kEZk1i)4X5&&BpNC0eO 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

  • - Collection of textures and parameters that can be - worn by an avatar + Collection of textures and parameters that can be worn by an avatar Primitive that can contain textures, sounds, @@ -263,10 +262,7 @@ Notecard asset - Holds a collection of inventory items - - - Root inventory folder + Holds a collection of inventory items. "Category" in the Linden viewer Linden scripting language script @@ -278,17 +274,7 @@ Uncompressed TGA texture - Collection of textures and shape parameters that can - be worn - - - Trash folder - - - Snapshot folder - - - Lost and found folder + Collection of textures and shape parameters that can be worn Uncompressed sound @@ -310,44 +296,109 @@ Simstate file - - Contains landmarks for favorites - Asset is a link to another inventory item Asset is a link to another inventory folder - - Beginning of the range reserved for ensembles - - - End of the range reserved for ensembles - - - Folder containing inventory links to wearables and attachments - that are part of the current outfit - - - Folder containing inventory items or links to - inventory items of wearables and attachments - together make a full outfit - - - Root folder for the folders of type OutfitFolder + + Marketplace Folder. Same as an Category but different display methods. Linden mesh format - + + + The different types of folder. + + + + None folder type + + + Texture folder type + + + Sound folder type + + + Calling card folder type + + + Landmark folder type + + + Clothing folder type + + + Object folder type + + + Notecard folder type + + + The root folder type + + + LSLText folder + + + Bodyparts folder + + + Trash folder + + + Snapshot folder + + + Lost And Found folder + + + Animation folder + + + Gesture folder + + + Favorites folder + + + Ensemble beginning range + + + Ensemble ending range + + + Current outfit folder + + + Outfit folder + + + My outfits folder + + + Mesh folder + + Marketplace direct delivery inbox ("Received Items") - + Marketplace direct delivery outbox - - + + Basic root folder + + + Marketplace listings folder + + + Marketplace stock folder + + + Hypergrid Suitcase folder @@ -1071,38 +1122,6 @@ multiple writers - - Queue head - - - Queue tail - - - Queue item count - - - - Constructor - - - - - Enqueue an item - - Item to enqeue - - - - Try to dequeue an item - - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - Provides a node container for data in a singly linked list @@ -1124,6 +1143,38 @@ Constructor + + Queue head + + + Queue tail + + + Queue item count + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + + + Constructor + + + + + Enqueue an item + + Item to enqeue + + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false + Convert this matrix to euler rotations @@ -1334,6 +1385,37 @@ Time of the last drip, in system ticks + + + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets + + + + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time + + + + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) + + + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + Default constructor @@ -1371,36 +1453,36 @@ True if tokens were added to the bucket, otherwise false - + - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets + Operating system - + + Unknown + + + Microsoft Windows + + + Microsoft Windows CE + + + Linux + + + Apple OSX + + - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time + Runtime platform - - - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) + + .NET runtime - - - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket - + + Mono runtime: http://www.mono-project.com/ Used for converting degrees to radians @@ -1842,6 +1924,20 @@ A string containing the AssetType name The AssetType which matches the string name, or AssetType.Unknown if no match was found + + + Takes a FolderType and returns the string representation + + The source + The string version of the FolderType + + + + Translate a string name of an FolderType into the proper Type + + A string containing the FolderType name + The FolderType which matches the string name, or FolderType. None if no match was found + Convert an InventoryType to a string @@ -1972,37 +2068,6 @@ Converted IP address object, or null if the conversion failed - - - Operating system - - - - Unknown - - - Microsoft Windows - - - Microsoft Windows CE - - - Linux - - - Apple OSX - - - - Runtime platform - - - - .NET runtime - - - Mono runtime: http://www.mono-project.com/ - A 128-bit Universally Unique Identifier, used throughout the Second diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index dd1ea6c6539acfe1aecd705e7b2eaed3db2e6e9e..a07cc1daa01e7c46f90c83f8a2242858edbcc767 100755 GIT binary patch delta 16680 zcmb`O2Xs`$-oR((ZtiY2n{2nlGa_KzLGFCe9nJU2uOS>bS@|)1`$c) z=b8uAI7NRsl+mlIF)2aamH0$MmH7{-l!D55!vbjIQQZsGc}ZSerZ#GpmAnX=>$~PI z2LL73PxoT#MC%^Q>{yfRo~^#!tjtPnxL6Fst*U*JJ^yE4|4CLK;cJn)CPmTG7%)}p zhbhIq9ubfBEkUCMT<#>f9yQxy6!HVJEyHXtXg(wLzxit+`Q_2O@wX0ow&*Zm2`Eg{ zD9NVWt^`fU9Rfw(YqU*rSHQ*5+>~2N1#PLo%akSeQnKhH{NNy71L@X*(n0i)+y5psE` z!0*z(Xx8Sf0uXoCy&CH7HBcB55-r5F7HWb1?l<8gyVgOO7^QWuhpWGP1C*r}i0$48 zHPC$vE=eaY2U*BHr6q0e{w%ay)VeppCGjP0=Y|JGZ`C9`Zqc~jhU$9i!Rp6T#O&v$ zvu>3I$}EUmg|;}JaAujO6j*OjCqFjYvlV3V%SaJCje2L2Bd+LOsN9p^gEDU$ZJSOd zuI*67uOvm4wCTRu4nUzsC6a3=)r%vNgV%D2D-c>Vi2)>!Rtk4PL8QVesuq?)kmm)M zzzBrQOQtQjMhpg?; zc#-5&rFeu*boq%y@#)A$Z(JnF$9vVQtwKC|sS}d74=zr9;fHXM3qN8uu<%IeB~Xrn zPI3jQuo^^=4pc8do4+3}22R?RwYo$TDWDRq&h;@|;u6ksSpn6v$*eK)W1+**KaLd8 zF1QY;Gg{kw(a3t4`3-4rjKi&|{84a=WpBYmv_!ITHp=J1!%Abek zYw#&`%!r#%KL31<-zf++O)YyqRK50mbOUPgLPL7#g=hoQ%zfSumWosA;upq%gHG8| zYD9Jnt92IqW_HX2s+Fg+<1tLY-4`!IdGVzj&!-SFX>^on!Q=2^(@Ppzi88rd&?qaR zt{Qp`71u~{jWX~Gkrmfxpir2Dk%q{j97ZyTdsl!4P|pm=yOHL#MBHKCae3?)sZ zKxQgwq6~tWanYyhjhyh|v|BpSEuH8V(KYOiu3>L<4SJK1@K6UH6<-}UvKLIxo{`B| zR%=J51s#WgWAt)kc%V>+Rcf12{nYuRl3KI5YbR;=e84rcz7{EJ@wwG-i(qApg=g4( z8r--(SL;TV;4|vv(Iu8+)bAjTZmj=U7meXMrW(g|gR~wv=1C~mjp+{M4`W(GXBv;q z!e6LGW4{r}Me|V|J#KM2O+7uKT}#X2IT|3<6O|c!MDsUL(@bpP*PKKvrJ4a zpz#G`MjC6Z+?YFwc+P^W+;kaDD1rq_@1`ib&p{cWT{tSFWvW(L=Kd0}=vBxU*LkRE z9e-&Fez+wM-Y|0f|H8JhUi%kgZO8-eD)&w5gaf~V$WHeKC_~&A)qu&zotK~<-yzq9FK-|F-EPlCd>{1f#(oLS(sQa8)`Hy&RbX6g_d>gkea2iu)(EaZzvljp{C{7*eSjAzm{&<0aU{RAimEwtaC+xw#lObD|`Y&7tGHEZ0=lTL=( z2s$zeoH=Lq@BU~nbO?b7PSB!500*%5^Me}q5-0=86o+wFME!7Pco4lSGHfTGhb!E~ zYcqRj+3j{~)z-6$u}=M9);cJM7k9+|>dN8{NqTUR1W6VESLGg#SK|8-mq9cJ`WoR; zAM83)DbMyJBnYcd+e6gxbM$J;oS6Ft{VQ9S{GnU5e^pJIK zCx0{n0)q>e4RqtFmwpd>Y0z`#K_%gUuDHelssVa4lIlN(#+PhQ)?RYS^pE ze%2HX8mK<~s!h##HBY_x>InR)`uP0N#x?XN^OrrSvdsgG#}B1IFdfVaY!ar;4>bw3 zFo;3b!YbFzKaGvyfchf#;+ADsggSeHvt{IiZ9p=cXp9u$lDO{cBr>~83p)7U_tI#g zQ$4jnZqTx4K^P;hJ#}FW{#<=y;qVYP$FTfFvzQgIWF`?gUUoH7l`@y75wym$j|K%0 zxhD)JuQ63r0upkxiT-kw-W>xRr*Xx?CCLUySSMvUcPq>%uPcUx=2~5*l-xu|Euy)F zoLdPR1O(-!u!vyS=kyU_#w<0XOf8OU)qQ39)-*}tPZJg)Q7(dSAh2o6-B10;(V&4G zSRR>BeY&f6%Yw(!PWepSO@LT_8WcGBMG<)JUCBeO-!WDSQLVrs>>H8_{Z}$SAzQKqDC>yD8-*!C@BHC zhoI|uP8iiR5-kxp1t+T3@(Hj5D=zN^Wleb(4}Hl?t|agiKa50ggt=#%5BBnxT+Ku~ zHE!6ROxx)bDWMKv(wnaE?i6U`J3V)EsMcs<(T(ysory0j+hTwS~0Soz}`|tw*J{0@nFhHD!ezr>ospq=wvo z5|ikY2&zO;6ge+LUB1Gp^aO@`0yiZHO@nJ+xGC^8?#mV9{d<9^&zxn{7Gv{6qdYE`7Pn@(iDq|YiSd;*k%r> zsXwh;g!`zTRXyUKq@CzV@~Kyel`ht_nKuh)E@__XS`+HIr_a5wKMZQ;>` z_rt8!9}Z%xOKRl(b6Mmgk7d47*fI#_JB2L=xPR1QB6>V=eWrTXBq@-C?1$u2iK_|R zCck!)lu>LRH6#g7r*dIES`etEu!&z9vK%D;8J}@Ork537VzL071!>8)M zIa$f}%@9@e%~0RXEu+{Bg+DYy;DcJj@vm~-W(@tU-0=2Tda-VO1OLCz)3gwJ95cwS ztFVv;>S9D^)3V^)wdma>e5CTjceBZZ2bjv_?U@qHOuRy;lfF0$-x4#(U=suQJiusk{e0e6WD|H_6;AJ_Ojnq?dsm7Fj(Y5eojD2jp@+F__Ib-K;t-{l32VL>|`{TH$AvO;w@xZ)+Mw9YcOxmC>*^^co^nUCA{oU&iRu7(3S<3^5&Hifn2RDKT z&>j@9LDT98QozCvP?zn^e(0_R>>Eemu1)=D@Bhb_n)hIgzBOVS1MzfhXHfs8rV{A> z^1-a6Sl^ctX2|X}`~1U9#g`iO%jy)R#CNZ$rSIX1-rqBcJv>eR_TgbS6h8Uz&nRl6 zlaXrG{%vsMMt$5%(jEu#m@K_I{6K8wl|z%H=l);UA8`KgXMoCMPyA&yI(~@A1L3Ak ze^)*JNd&G|uYKZbmzIT4Oc6p`;A)G5djE;JqsHgt(TS*@fzSjqv<>W!QdERY&=%8U zU`J>hwlDxw6OS4vfnypF5L>wZmik2MwD3l6wA& zK7k{g&p`cJFfE@|Tb}I%+lxtOKhj=|9Stqb)DGuj0uQqK3s&0lojT^+;E+t#a??ax zj2_$*y8y7mkI#sn0c$Yn2w%W&4e#;5{W{PI9{Es4r1P@N;+*bH@TM(Hr}nvTlN(P~B|s6C_W zLe@J1ljg`jnQDHAdq>PRwm=RK!^7xX-67Nxr8BC~EpyH{wnW8(HUPCkiv)ddSB-7Z zbwOUBb|^iCI<3$JJ5^%`w1!c6urYL$Uq^I>QAzOK5E(uX{KN^}G^{XoM7HK0YFGle z#`rku*PIeJ?1aWM;)b1&*GCw2LI*jaEP0c$Gs1_~=UxJocbf*633?QZT7Kdp7 zn$nIDo3?>yzK=|3AX?8!x7Kh=GYD-Jv?cZ|8iaNV3bM;&5ZWi`r=UirLFf=C@Of7n zgubEVL3D!sG?_@(o`?UJETbW)Eu-&ngd@&01dZh~)|o6+Cp5Fz>DXu=cRO-0aAJQ^jYak^=!G>%1AeH5q}kG6EGmnoW;(a6r6nmAgRCZg$G zD9!MoT>n$jE9eZ{Etcs1lw~pnUFO8bI|cc{*#Wu+l&zhDl6=(1Zz^izqfEbPXaFbO z%%HQV0G$y;v#S7I^l8dK2Kcf;=fdL-`WA4y!0e!Qrb2XuQ91fS^Oj!`y3S>~o8f7u z8OW~(Gt}XT?m!8G3=wIjnW(Fv5RlD8qXk_ByIE+KpdZ4!18w0HeAg4w$5f13r!%K8 z!V#t=DBVXROoCfJAN_3Q_2$I6wrln|NA7N*kYFduA zJjE%?-~p<8noFW`!0EGy^`^C`cp#@@+dHQ9D3~5*z_58# zm1zSC&*T*Aci6NE)d@-i+Kdhk=CUzBZ=Stj#HiEs%a-GfDe4sF3eeG+KteQ^>o(sK4QO? z1eqrAN7G(Z_Y#+tMU|QMp|p{lHd$|)JRhO(F&xJkel+bzcLc>tKbk&9uCZL!73ct( zFK8KP9z?qZl{EU%bO?pRshM`>bO?c8DNbQ@7|}KV7+S=LuK9uH<7mlvs>zr96CO0& z&5^!3PN2~fDA6~7&3pn)6tn^86Es86_x3W=r|4BdU)X*$eTEhb@`CI%S}rIUX66i9 z=cBWxvuLZJ?Y1)0m&mirhi6S+p=w4Yy4#jW^F=iBW!jk%9kDvim(cKBPPZ*d<|}9s z+jdY{OY_&LW+IjGH^;ZA^CYGT>D^zIZ8{g`G+t#6 z#IdlWqv4ksa?D2jo}k|xo6IJ>V5b3S2HZ43N0 zqhgRX*FJ`SV8ora#&>+0GHQ*3=F$RU^ zdC=DkCko+ZFl>uYzRFcEo9oQ&@I^s&pxGYB&F8W*Mk#_y!LB{7^HH6-1HLEdEznHG zjY_HAclbpErFcdqI!~EaCaJiUz_pCh1ij3tm!O028coGR1ubQy3Odhdy`X@`RI^IZ zyG-_xpkEjr5ftNLs-H51m#c;L?V6yGHcD{|XuoG5Gm|BA((PhhOBJ$aa8gOddj*9w zx@k_ub%Gvi^r!i8+;t)KQjT(C{4Jeu0izkHe}u5OkMq?sV2uGm;cRViVh6i%=T zti#>#6hU++)B{%wq8qAotXstF*bXWk+c_b+nN7zrg6N(p13xCnVs>~ez3>hnHnQ}_ zDdo%!Dh+CG>4OgnT4G7HJc%El=atf}V;w zgr3Ha3mO`Ofu0m}&~ONO`r)AhKZD;$^}}-o{S0ADw}~S9Woh=-(*yQc00yc8d9!hXam_)%X1$5zEEwh3zMJ6#|0$@4%WSZ zulQ(~E*t+Us6v;DU&QD&8n6Pz22Qu+;MG2wXBmsrD!8l;!oS>raxD{aZy{4bHW_;g ze3)yQhW84(5qd!`#3uy35^+H;!WRXdl@?n(IM&NUj6jPm)A3kA!6w;%20kfB(k!;j z#I~heGYMp~@I*mpCE33iU-Sr!0pV<%`Z`xV>HoT=1Q!dcw!Q&$RM4OLH-WAQx+!e} zy5^&IEpsqh#=R_z-esAGoBC*Lm`_P{jFsQJ}PLT^u6UZ9KM`~FN}I$uE3ds&ih}`EyYU&oerzB zEW`}SX=9dIF=H;|In4N zUv>L&x)825{;K;Jj}~+#EX{fV=Lc&By~^Fv3P#KgV@K_+!`v>lwUmH8m_peWNE^&*Jlf`UDkN z&tYi|l~tflK{Kph;--RLj+$$|fV=vr+r!-{3_)T5A0cpXB60*Q8a}TKsPz zT%g}zy^i&3d5C@fTdhCg#)5F{4r?7w6|_I*1M9!>EJ349`>ns=QbET8j#z)i9}0TL z^ojL1d{oeefX}Tr@f|^)0@Hcx?^yFD4_Fs)#d-_37S!GJPwQ=*Ca8D757s+)qM-4O zZdm_=-xAa-e6i&ZTq8&}|8BjDzY=sJ@~-tyd|lAgXxTohh1!eq^plc8iUAiAN91E$RZy-WiykNjOa&-K{gB7!DX=R9%;0a z)U7N8qT6me87hcwyX~Y}&_K4LN1agZJozm^L1QNcD&kUW?L^4+poziCHEkSfjn~__B=;gws6DoR zWT~J{)*$-;a%-oD8;-C9*$0uHyD0H9PbSG>M3W}eKA21rGWwx*2q_mtQ)mb|$cUeL zh7fBN^9lLX$UcO$6tn?oX#M2Fk!O!>7#$#uU!nWL_M2^ZeNS~>5RM>6`CPy^-95G! z>SqS%vhBtCTcO(ylbAy?MTqUT%eGNuE+d|nW5`8DG%ZJ%#*klpw9+=7=y$XC9~CCp z-6R2!FA6Q~FOva28fnZWB|hqInn<>ALNwVXkwb!LvP~lA1kq%hM6L_!9?{-Di3IPV z5omIEwofMQDZ%$oL^FR1$!0=&Y9DEwLT(A7xju~qzfTQI5Y6>zWG*9`!5Q`fQY~n= zW1zi=1b;v^E6}3I4EqfBx9yZFblLV=FG6aM%Mah zyxmKVaq_?ys#5#w~E6rYOcA-y2ieqR0|qmS!3Tw`s}B&!^lGy$W3H4Lz?Sb?VHIIA*8wfHd!Z# z=K9;DjuFrGw@IImSqRAW9rm|LzMu_2TkCHVzt}Il)u0Uphg?3i?>4R3wN#6(`6NLER(1^4L$1YKHW&_{RPT`9=uoQ*nwI4zqyl zsW?T}38GI$4LK-?J{2{j^$|8+cq(e`r^#4ByB)vT&ya(H7Dd+D&yglaxn_k!{F4cT35zgIs9$Zn^CB+(gI$ZPFb5~GK7uC+^&7(Gys;wLTj z@Ck+tuC;5W;UdI#Tae-}trT<%?plDfQBZvJQ%a!p9wWZW2T7ez(T>uz>}U*~T5l!a_N`!Pu$Y?r8N}3uLfu(b#R9(Z~e4LV)i`eUxn~?%w**;srMOfm}Hx*w3gNh3Uf|Y+DbQlv_fewHT{BXY62^j zR4H3fys=X0DBTjILWIYq0cW{pS=3~ulk^rPdj8vF-K%twx}M|0P1d7IH!1kbdOD-@ zkaXuc6&bE78PXC#`G$WfJ*65(JlA_mKQf}ZUZ?btntny?_@4MlX{aEY>Q73$8Nu)W z=$G0jg(2Mq|E@eK#av(kVHfuCccn%y#bPI`yYEclOa zXB$u>Mh|N4^x1t2nj2o5fgQN~wbyYBl>2Ze>zr8nU)~Nx!2hI0>00`y{Byi!jAQ;z z;P4K^cn2=`S_w`LsRnC|>PrHib_TH)Zx+F=JX8QphI%D}f{e7@I^=!}HIR@e^x>9R z`@=2&P3L|mxE1Tl5Z)KwiHGWcA94-Tk76U!Lq`ef%sOrLr>@61Sy?qo!t-&LK1^#S zrdqENDxt$6s1xfvm;Sespx?Z0{BQ@-C)PXN4=di`e%Rox@WU1lH6v(1Fm?J{Onq5D z!L)^-LfidzT9?H1zszi+!qeU+GGxje?-Mef zhx=3=lW`V~DrbWichxtczPa~y(cz}J+B;5%JH_2)5&3jvv%Wp5rRt0hk0;i62rZ!@ ztYgE&X(!{o0|RiYz~5NJyMDCCDOKJ8{5jT&o_k*oge;!p9bv}FZhT-M%*5&s$@H*}WNrgA@KbdY-tvzjV$paTA*@^_Kuc-xp^wjS(%75I(D9Ur!-zkm08Cy6`CTln4OBbeiju>Q5b zFfYZS4^Bz_5c%{3LGq<(v7u_X4UdLDX!4%00eGijfHVNIA>V=f;6U#&2kxPvrrywC zd^Z-i=|n1OC$ck1+fkUgqr*j(Y?aJMH=qDLE!wzYTK08;(0f=f|%1-;cAk1NHmy zGUo^=e|C=1ZzB9ECS} zbDH9&hWYqAzbkl_b}OmUSFLP{ug6p^?t_TA9zn>Q`Rn`R_Z5siL_4wffliFRTywj+{N^Q7U49oqN(jmq3 zKl{3wqNG0Ui?uxL)z<}WhPhOBq)zYpw9#8M*hG~abRko6{n70Z!%{zXJJfJH-e^2E z{m=Y0kpc?n?fQ=n+BIp_cOfWDQOPN${PqNm$sYtoK_zXI++Mgi8k_RVsh|ZFEMm%% zdof&_nDQ@D0X5?S;#vajAXQE@>FQhxbzNeZ1-YuAR-TGbc#s4+^)`^ok!>O%S*B#B z^$uJPEy*~+HBG5Xi|o7tNZeNUN~pV6L7`7fvJlrhP%{L&SHnf^S_5TLw8s4|Tm#*I zg|gfNeYn>`4RqHjxTzy_Jym*zE4kkTu&NT*1L^^p^HNQ<}HS^(Sw}U4V zG_gzq{f&yd>8l=i4s{7jNXcfnI+GpoCGaTf?yI*zS+JG1l~ReT8j6Hvq+}aydZ@M? zP^eLfgi{rkvm|9=3Jz;H!#&e`_xAIA|5YI;d3D#5>oyO203uz=eHR~q` zZYjmItD0n!bl*bSl#U|0?LN~08-c=>cc6R16+rdTj@@GSP5%A8y`{LZM_uA zc5P-sd8|zdl-=5Hz(q~}I>PJlagSeT1lqr^2@&nrYN zyH0{aaV|_aQHOEJV-Uq*1cPWjr&oaz;O+B>m81&Ge#A~vMG0h<7D*MY7Y)p~q)xe- z8}Tv?M=Qe8im-_G(P*@fMx%Wsn#9EaE&yf2@TN*to(-mBOI`}rDVOpxf{#GIBXw%} zFrrrPC@CX)6L{-S9g*Ck4kXE~=nI|C4IP)S7A0y4`L%Fg$bC5ub`$O|z`}J(xjdo_ zf2oXowamhDxxY#~DsYsGb_BUAjqCuqn>F%zC>M?F2<5jUn?pqMs2qG+$shHd$RL_@ z%8=IGBQ(B@9G-|ll8>lN?Vf`*nC0 z3dg*GQ%{5KNCViGwuM+(y60F`fviC_aFA#+s|E!HswgR``8g)07F7SNF)M>LRxiyT zPdsP9ReonR8dCx*md;I4?fweNAkEwnp=s$Fd5QaLz>-;zJFah_rg1#g67pnA!Fq($ z3IBy{eVyhhV@>E|?y9$p&%}na(6iHh4$4sXdF8=`!_Es(PpD5M*SE9+FAkOKqQ7>D z)>^v0Q+}D4(eiHqQ%K=t7(ueeR&bf3>+evK!hC2;3(8*s6Hox7R!_&kQ=;+Tm5eF-peI#fyQkgvFMJ*p))XG`buyvIX{DVsB65Nwp(7s#c-mBy zh_5K$6eY-4L7E85!;f$!MQ$2^?7E_a6?elwDY?b5P|jxM=HfWr&!D7B)W`+bl=H>) z@Gr`PVj2HKkxRPazbP-5R1Ud8y|C9YDflPUi*G`aFh#tWACXE0FndA_uNim`Cc+G0 z_DZ5^Iyp#f!7eLQNg;J2sob}f0iKkQKbE@hD9b#ljz1K-e^vhOiT6-1?z>PVG#4)2 zzfo%G@8EZeG#Y{iKs2rYb2RRMQD^^#LZ4`aUDG|N8Kgk>eYgTXfJ^d~3n3O*LfX*H zRY!!BIaBpYWoc6CAIAt|7rrpms4oIn@Fgk#EbW&5$3~AtAwLp@3M`WX0ow5+aBd%t#*i3pk=SV91!`8gnJ29pYD4MBBybk`dLPdpd!a)x zBsxKh4gnm%22c$(?!}-6)KDD4T}e<+K6xS7BHfoW#3bp?$<~0xFn&kW<^cCgpzFQ^ zMZ7t{k!=ky2dLdIDnGs6Lc@~6tyL1HO~--C=4q>;>^r?Rtp5w9w@MD8&LI``aFy@l z1UaEMoXb~T?Hmk(Yee}61PQ}IU~tpg?hZ! zk*(Llde`Kn+Wm#{>5PWVAkFZ&dg{!ircbNGARxJ{sTwpGk_$4z933P2v59`>%}h#v z!Z1HG5RHM(z}jU8HP~ZnQ12%l_yPq7e-vo*H(f-=N-w)rDR?ugg9H4yL!byvBOwVc zKf(s0kxm^`3f>zLM?!uUbnOZSy(AKr5SlP3{|(v@1`Re>xN`c<1mk)#cZ3v{odU}X zk>CYun3bZTV^pC5O6DvZedqR@Re+IlaMnw(QAwB`*6jq0L~KXEhV3X|OaTZEI!FtX zQo>%)^`hp$gM(ooua=`+E@l(OH#f2?0wSQc5!Lf%pTx#UKpi(zt6fpb*f~yP^b>8F zbHf9v<0Pi>*_>94k{KE1I*l<;>DwP^<5t7x#^O`Tn{)pX%BCAuqMNwe)xSQpCcq>FpduJk7Z_7PELD_)5_2_4f$C_TI}SKr<#NI$*#;-nc*^ShjWEBw zF6$E;YqZ%?N&_vmh;hd$r4@G1DHsA*V3`a+pv$-sf-kqP;-8zhjIEM7PbqOK6Hlr-`QFK!p86%3?#u9x937)@YJXb5Bo zbPdEvout(U@==-LkV^Ocgqbusqh+~kf_)Tq5%NNknaI5E80b!bCMHr|n-_``lo|69 z0~2|hD@plqUcFdmlp4q_=COF*NcWpt}iF>ma*{D-CM0 zyD608+QY)7Q_oG-aHRybyrfVmSEK}BLTT|<41QJ__*R49meBTyVD4KPeQ3uz*mJakYm!}36Nf7us%ttx z6jN#8NT{P17NM&(h+wTxOwnkU7y?PSyA3sqlpd-Cy4ouB7IuoxpaRHX;>v`YyPYt! zGDG)s%8Z2#EOcL0O80g#TVWC$j)L||?Lu302hc5@1I+~;X>Bg8b)vNjTI*bWbD>M^ zpn0BTAVpqiyKip+4>ml$1zAdys`St&o>b5zvMj3$x+pWMoFQF-d3FY~r>Q5+PWl0F zZ`EjBHxL$6p9xBBZAjcS$U`-|g8^tD+(EjU@IGDLK@+wRU^n6IF0dSZ^7cI3UFo@O z2!8|{5}74)bYU9YZJKh?@o6?ui)-Y7nsR#CJp8%P3vC_qw*7K&4 zo*-u}@C+`d(TRb}bl~vXxVGGFq&jfJ@B7+DuK1X)k1NAkvGq}$nEdCqCE&(?Zd=NH z`VMDI#1ChRXJzuR&Mm&n*8@K#bq z?N-4Q!s-hd3?5Ex~Z;jVjUhTRFH_xDr6#-}Dz;SQP=45=RdfDb-(T-Hl ztNux)E?qI;oPC1lI{{KiefwIYvVE|p@qv<{1(b8^xHKs+!lyKUJifCWX z9#Y|2<+++`a5oz7?1Pn$cO@wkb_K`wff#tl67QZj&_1O?)^nfgOS{_s_qVSvIDGts z%vv5h>+UYMQ#c`0U=8u6t_*;bnx zGRuFXspTV2&+oNelGxMJ@K2r|7%_7O50Wx^&q=stnR~lJ+E&jwuv~ia|8+@%uAcnb zF#EH%_~}{CRx4u;cdU**GMU7|=S^Md`!v0x_@Ou<%q1a|2uDtSMuxAwO6@V%vz>Dg ziY-BC8(bseq26a){)o}J1$1`mrXn=P3~l}TpbP~e6ST#4>X!vO57bksclkwY*d?#9mEY8X(HJT7Y<%3!I zn)*g{_=y~h`zsSq{uO(wqrY%qytw+AQw3O)7uP4af9Yst%a`2^Bb)=EekFvK!MvVq%P-1vX9kA;g|*x<(Uy~}ZiuJ#Zp!vESMlKL zv?pD3=>pfT#7{3lAh06G|nfQ=Wb2c{A9=8#Wio-$=L%A&&mL+7-IN>;(uiQL4 zO?Ae(Em%pt5Qfhv3(pP2nbrR|cM#+8)ioD>#h!AybwFjPK}4RhA-W}KK(O1Gh+^Qa zMrC6o)bQ=$I-^Qt2`B*B^<*lmMAsdK#zv@HBTAnluj!DwFfgrsd#GU<;7Vf~G^jBp zZkUNCFye-pXt|#-%0x#wp&a!(V>>je3HMSLTy5-tYW=hfcS1AMe6kOXol(!GoMJ=N zC<|3JMYR7i?c90?0M`lO?zm+*3)T4PLt__oNKj?)9%ENzYR27E1|K$dN7;fb<}Zvr z&?!HiH}*u`nsZHy`I@m8+ApX)_@1#h>iG5mQw`X#uYsXsc#34Gp@`lBByc@Ul8 z097_JwdCFZpjN~0mopfBk0TxNra@>Nm$6`S&|RUKqc*5=P*p2#m!p+j?-y(R+aI z_M%h?kFTe~v&xjx1r2uAmH{_2}q8E*lB-9$GO-cnLga+JMHvJB)V!z3rICv=Mb4%<;IU#>)23>)`bAFH9T!d8(RBFWNZrIbD@;3)cDRpDn?69=S2(E**G#+7T|pJm z6{e3+XSN})MC+_~OrB3r+(@qan*N$;4rrh3PBg z`Ph%AP2ZqHjLNjXS)$D6(3r6_m@+M~I?d-%UOuPaEXn3?(IU3F@#i4NY{z7}k9L?HxS1dogdK{<2ud*Kn#1s2AQ*ooD$&=P!||av zxM89Gpg97o$|&&+j>7dA(G0FLN8=ZSjBZ+D@H{~@fn)H`jLOh5@(RKBbIR&5elNvR~-!Sq}p$YJBeqlpR6MT))bdWXHG{wI%;!c}m^-MY@ zYNtlcaTq7G&rB&!P_6kVb8{R3f3QWftJZwo{0z1UIsuw3Z~-R|y2P+l2rqzP3;Y#3 z^pv3sVE8P)BIr73w!}?lbEg%I(gl@+T}%9LKV3Js!n$&5u@dTzGk#VP*8oUxlhn$COabNCZjI|#d?_P zS%yklALZ=5Ia1pFebH-1adFEIyDA6&%=<|4<^2mYRhcRw@oCv$&%*-yhP1919VR5le= zJJe(#-pr^H?R1Q^JWBbN!H>u$TVC|wPlak@ZMga+d|FVFVW9S9{F9%CXoq36kakfC zD@HmVj`f1#45gM_yunXzT1Me+m0a^WbU*eH%D0Te*+Qm(Y$Eo|^kcqd3O*$0M%Y<( zF+L+`LgZO>3BDrew6wtD!Kq%}#Za`sQi>-D3Nfhzr{b>!NvZ{w*Ky1uu9*z7X}DC- zX-OS89bfSXj0NEvxbtGJdNgpcr3}v#RBL@3=#-!bx_5wn5_Cse2XxC%n=Lc2ehK$7 zH)e$eU@_EZ3%n-RiY~CGs_&jSqQ(8>MRxbpr6iI=KGz#9&_HZ z0M`lG>oJ!tZ{c%-=1M-^uVh zmZg5-iSYZDWmE`1mFPsc%DNn17F1zWS>gL@6_@EF^wu>vUC>se-uf<{Gcim|?jlin8Zzb(cX>n5BBNITpg{+)IUp5-T(bt|qCv@iS@?RH!%sKoe- zb_f2>FH5!7;G2F~s`Ue`TE>0e53h$m!ts7;Vf`4lpakzf^lkVp?H)W>2v-=%#cy&`v>x`cbwJ(qc2!tVD4^<85K2NYG&GR9gg@ z$%r4TB1n}WdH{kL~Yxgcb8!|I6=Li*8dt}TiLzR$YQZUTxSA%dik@wWQD z(6r5ChTG!EU?$^J>Llfi=#(z9IZ2hDmf0GR4SssZ<|2nU!Leq&t)Yk95SV08lSBeX zUihI?y499QnldV5Q<_9p2%=Nkh|~(AQ`(5wwoitr^)ZXsh~^?HO`g&>8J6+p{F1ns!K!E*EUANEbo5 z^-tMalUza99an5^$pS$*ZkMec`A|@@ZI`V*x$F@b>)d7QNCLNUr?Jipw$3C@kjik| z)`heelwiDV>q^!ND$(D!bt7@xxm}??z}}q<6Qn@*JxGP1is)Uo-ejAgb=F{eUt-%K z-hV?a!S?>-l^xU#Kl5ahX^d#ngxLp@`9em|JcGzaK{SO1k&BG@nP(75sbRrDKGm}i zB0U6c0vha_d^qy#vJIgFr2SWFzqH-9{lyol)(gU+Esut*~gMG ze#$fElU07|Xc|Wjabn3fo?H?{lWjb?DTpT9c%t3KI)q$rX&+CTGNQ@d&OVX!rv%?W z5zYKbq*SQVkTzX4z+u_6#YFw!cYA1m)HrW}i*g3A*l>WS>L6 z7u4SPhJ79h`G|LjzR|v(ED}PR>+g~Mf@rS4N8qCv{P0|VkG#f+uASTL z?~$c~HUVw)-6qKOEc<5Pcp=rx?OS|-YP}v1ZuLzRWOtT*n{T3kM%#CgwZdtP^JDu? za&aH+p8lp|rTqhO4=dq0$g=MyKMUDb+i3g8Bz`~FybGC7OHu?ik2!4LOWHG{&xmJ4 zz&=vTkUj@r*!Ph$emWq1O0N4U&v=l;AD~XDW=GR!q=%oi@It*L%JT~nw46W?D?7u7PwWdlFyReg3f5K+Ru|) zehQYqB~3o#hPm}s@+I-l8<`?xG`W8#o)rRVcK=R(X2i4mcan9CIfd-*ApcG#3fctpZ{Ku7 zc3-vM_YDHF+bJVS1Op5CRXdi%=pkjV+9gSh9w=B2kam0c1VaX2wQHp5qKmDzU^!6Q zE9frVwIJz;poEwnvOzkX-RX|_w>_-UEVA>BO= z>pwTlGlocMpZjR293~Ct#8&xmsYDQ6<-?_Uf@nU6OREKSjLeh6r8-75oyW+L(m#ca zF7i>5tB&=+HZ)PvS}hSr5q_q>Qh8bV}|drGCw+M1N7vl6DI!)c+uN zk?u0$x!z5(e?v8Cu3wkCOT8HJJ@NC>bU`%LpO-E&g5UqqFSXALL%NdxDnBoEJZ0PuaaMoZ0D&V&*vAVy^qmxMl`$C=tb!?qiOKJ@=iZO^%y;_dERe#88jc2{Y9ex zk>Iuk{#!3bix-Z?v3T*qg*ek%5eI+AhW15*0Cm<-r3!B}#*Rvi_5VqD1TXgfgmFsf zAuz_sR}yfvJ(#t4(+FjEb$YceG~8{>Z7V=5f!?8lV_3y`uxL#Y4>q>Kj7+-i!5>zL}&g1QpvJw$r*K=6N!+4T`5NVNj~j z1LonQ`qXMGlo&m!12>pi@mt=@`yc>2aD~^Q#&6<&H7nIP2S+bvqZGH#KXd*`_J(V5 zLwv~FL5nlv1K8l{Z6s(Ii|vnEYBp%`Xku*w$`TsH0{cq@HEH67|CZ3qaF6wPFMvke zqQ)JBzrY$1xi`xI*;?U!&45!#K%BSEjO%-A4S1D-&v<}L{q*y?gYm?~r$@^(lE+8q z2qPy;whAx&lIbbGrDojJTWiKz?|vhm{&Wv7dbgRdh2F-CCT#OAv*57M|I}xN*Jy@$ zdLnXP4|iKXY3I9p4`Y?Y{p2nD-tzHOcyC*tjvi*k;w`b_lCa07hTS1LYM7?DN(+{2 zl5BVa{4JCB9XoF5Oma5Bfdt2;Lz!%&M43nRuIbybR;p=3Or1mDXRKU8K(tU9tM&?fSk_Ur3NX4%{8vy(=BKla88RLchcg zm%Kka@F_6c69ON#^Sup1@ihFK_q|Yj9%p*r41;0q_HGQreLw|=<4D79=RoZivRO3* z%H7_?aPYawJ2@P;!WX^U!|{uFmDe7DI~mHIc3r5H5*wl0f`h#yB5n@;_uyfg ze!4w)m2)VRzdA?iwvb52G94Xq&He~HCJ^thX%>%L6QZ5t9p}PTftz8*5XwNCy`c?p zG~Voewjpj9JO_Uta0yS-Y$i22gla}N#6QQ9=iN1ZyW + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file