OpenMetaverse
=
Number of times we've received an unknown CAPS exception in series.
For exponential backoff on error.
Add a custom decoder callback
The key of the field to decode
The custom decode handler
Remove a custom decoder callback
The key of the field to decode
The custom decode handler
Creates a formatted string containing the values of a Packet
The Packet
A formatted string of values of the nested items in the Packet object
Decode an IMessage object into a beautifully formatted string
The IMessage object
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
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
Sent to the client to indicate a teleport request has completed
Interface requirements for Messaging system
The of the agent
The simulators handle the agent teleported to
A Uri which contains a list of Capabilities the simulator supports
Indicates the level of access required
to access the simulator, or the content rating, or the simulators
map status
The IP Address of the simulator
The UDP Port the simulator will listen for UDP traffic on
Status flags indicating the state of the Agent upon arrival, Flying, etc.
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it.
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent to the client which indicates a teleport request has failed
and contains some information on why it failed
A string key of the reason the teleport failed e.g. CouldntTPCloser
Which could be used to look up a value in a dictionary or enum
The of the Agent
A string human readable message containing the reason
An example: Could not teleport closer to destination
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Contains a list of prim owner information for a specific parcel in a simulator
A Simulator will always return at least 1 entry
If agent does not have proper permission the OwnerID will be UUID.Zero
If agent does not have proper permission OR there are no primitives on parcel
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
The of the prim owner,
UUID.Zero if agent has no permission to view prim owner information
The total number of prims
True if the OwnerID is a
True if the owner is online
This is no longer used by the LL Simulators
The date the most recent prim was rezzed
The details of a single parcel in a region, also contains some regionwide globals
Simulator-local ID of this parcel
Maximum corner of the axis-aligned bounding box for this
parcel
Minimum corner of the axis-aligned bounding box for this
parcel
Total parcel land area
Key of authorized buyer
Bitmap describing land layout in 4x4m squares across the
entire region
Date land was claimed
Appears to always be zero
Parcel Description
Total number of primitives owned by the parcel group on
this parcel
Whether the land is deeded to a group or not
Maximum number of primitives this parcel supports
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 byte, if 0x1 viewer should auto scale media to fit object
URL For Music Stream
Parcel Name
Autoreturn value in minutes for others' objects
Total number of other primitives on this parcel
UUID of the owner of this parcel
Total number of primitives owned by the parcel owner on
this parcel
How long is pass valid for
Price for a temporary pass
True if the region denies access to age unverified users
This field is no longer used
The result of a request for parcel properties
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
Number of primitives your avatar is currently
selecting and sitting on in this parcel
A number which increments by 1, starting at 0 for each ParcelProperties request.
Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent.
a Negative number indicates the action in has occurred.
Maximum primitives across the entire simulator
Total primitives across the entire simulator
Key of parcel snapshot
Parcel ownership status
Total number of primitives on this parcel
A description of the media
An Integer which represents the height of the media
An integer which represents the width of the media
A boolean, if true the viewer should loop the media
A string which contains the mime type of the media
true to obscure (hide) media url
true to obscure (hide) music url
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent from the viewer to the simulator to updated a specific parcels settings
The of the agent authorized to purchase this
parcel of land or a NULL if the sale is authorized to anyone
true to enable auto scaling of the parcel media
The category of this parcel used when search is enabled to restrict
search results
A string containing the description to set
The of the which allows for additional
powers and restrictions.
The which specifies how avatars which teleport
to this parcel are handled
The LocalID of the parcel to update settings on
A string containing the description of the media which can be played
to visitors
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Base class used for the RemoteParcelRequest message
A message sent from the viewer to the simulator to request information
on a remote parcel
Local sim position of the parcel we are looking up
Region handle of the parcel we are looking up
Region of the parcel we are looking up
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent from the simulator to the viewer in response to a
which will contain parcel information
The grid-wide unique parcel ID
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message containing a request for a remote parcel from a viewer, or a response
from the simulator to that request
The request or response details block
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent from the simulator to an agent which contains
the groups the agent is in
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
true of the agent accepts group notices
The agents tier contribution to the group
The Groups
The of the groups insignia
The name of the group
The aggregate permissions the agent has in the group for all roles the agent
is assigned
An optional block containing additional agent specific information
true of the agent allows this group to be
listed in their profile
A message sent from the viewer to the simulator which
specifies the language and permissions for others to detect
the language specified
A string containng the default language
to use for the agent
true of others are allowed to
know the language setting
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
An EventQueue message sent from the simulator to an agent when the agent
leaves a group
An Array containing the AgentID and GroupID
Serialize the object
An containing the objects data
Deserialize the message
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
The request state
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent from the viewer to the simulator to request a temporary upload capability
which allows an asset to be uploaded
The Capability URL sent by the simulator to upload the baked texture to
A message sent from the simulator that will inform the agent the upload is complete,
and the UUID of the uploaded asset
The uploaded texture asset ID
A message sent from the viewer to the simulator to request a temporary
capability URI which is used to upload an agents baked appearance textures
Object containing request or response
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent from the simulator which indicates the minimum version required for
using voice chat
Major Version Required
Minor version required
The name of the region sending the version requrements
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent from the simulator to the viewer containing the
voice server URI
The Parcel ID which the voice server URI applies
The name of the region
A uri containing the server/channel information
which the viewer can utilize to participate in voice conversations
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent by the viewer to the simulator to request a temporary
capability for a script contained with in a Tasks inventory to be updated
Object containing request or response
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent from the simulator to the viewer to indicate
a Tasks scripts status.
The Asset ID of the script
True of the script is compiled/ran using the mono interpreter, false indicates it
uses the older less efficient lsl2 interprter
The Task containing the scripts
true of the script is in a running state
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message containing the request/response used for updating a gesture
contained with an agents inventory
Object containing request or response
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message request/response which is used to update a notecard contained within
a tasks inventory
The of the Task containing the notecard asset to update
The notecard assets contained in the tasks inventory
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability
which is used to update an asset in an agents inventory
The Notecard AssetID to replace
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message containing the request/response used for updating a notecard
contained with an agents inventory
Object containing request or response
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent from the simulator to the viewer which indicates
an error occurred while attempting to update a script in an agents or tasks
inventory
true of the script was successfully compiled by the simulator
A string containing the error which occured while trying
to update the script
A new AssetID assigned to the script
A message sent from the viewer to the simulator
requesting the update of an existing script contained
within a tasks inventory
if true, set the script mode to running
The scripts InventoryItem ItemID to update
A lowercase string containing either "mono" or "lsl2" which
specifies the script is compiled and ran on the mono runtime, or the older
lsl runtime
The tasks which contains the script to update
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message containing either the request or response used in updating a script inside
a tasks inventory
Object containing request or response
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Response from the simulator to notify the viewer the upload is completed, and
the UUID of the script asset and its compiled status
The uploaded texture asset ID
true of the script was compiled successfully
A message sent from a viewer to the simulator requesting a temporary uploader capability
used to update a script contained in an agents inventory
The existing asset if of the script in the agents inventory to replace
The language of the script
Defaults to lsl version 2, "mono" might be another possible option
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message containing either the request or response used in updating a script inside
an agents inventory
Object containing request or response
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Base class for Map Layers via Capabilities
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Sent by an agent to the capabilities server to request map layers
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
The Asset ID of the regions tile overlay
The grid location of the southern border of the map tile
The grid location of the western border of the map tile
The grid location of the eastern border of the map tile
The grid location of the northern border of the map tile
Object containing request or response
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
New as of 1.23 RC1, no details yet.
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A string containing the method used
A request sent from an agent to the Simulator to begin a new conference.
Contains a list of Agents which will be included in the conference
An array containing the of the agents invited to this conference
The conferences Session ID
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A moderation request sent from a conference moderator
Contains an agent and an optional action to take
The Session ID
A list containing Key/Value pairs, known valid values:
key: text value: true/false - allow/disallow specified agents ability to use text in session
key: voice value: true/false - allow/disallow specified agents ability to use voice in session
"text" or "voice"
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
A message sent from the agent to the simulator which tells the
simulator we've accepted a conference invitation
The conference SessionID
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Key of sender
Name of sender
Key of destination avatar
ID of originating estate
Key of originating region
Coordinates in originating region
Instant message type
Group IM session toggle
Key of IM session, for Group Messages, the groups UUID
Timestamp of the instant message
Instant message text
Whether this message is held for offline avatars
Context specific packed data
Is this invitation for voice group/conference chat
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Sent from the simulator to the viewer.
When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including
a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate
this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER"
During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are
excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with
the string "ENTER" or "LEAVE" respectively.
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
An EventQueue message sent when the agent is forcibly removed from a chatterbox session
A string containing the reason the agent was removed
The ChatterBoxSession's SessionID
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
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
specifies that the user has changed current URL
of the specific media on a prim face
New URL
Prim UUID where navigation occured
Face index
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Base class used for the ObjectMedia message
Message used to retrive prim media data
Prim UUID
Requested operation, either GET or UPDATE
Serialize object
Serialized object as OSDMap
Deserialize the message
An containing the data
Message used to update prim media data
Prim UUID
Array of media entries indexed by face number
Media version string
Serialize object
Serialized object as OSDMap
Deserialize the message
An containing the data
Message used to update prim media data
Prim UUID
Array of media entries indexed by face number
Requested operation, either GET or UPDATE
Serialize object
Serialized object as OSDMap
Deserialize the message
An containing the data
Message for setting or getting per face MediaEntry
The request or response details block
Serialize the object
An containing the objects data
Deserialize the message
An containing the data
Details about object resource usage
Object UUID
Object name
Indicates if object is group owned
Locatio of the object
Object owner
Resource usage, keys are resource names, values are resource usage for that specific resource
Deserializes object from OSD
An containing the data
Makes an instance based on deserialized data
serialized data
Instance containg deserialized data
Details about parcel resource usage
Parcel UUID
Parcel local ID
Parcel name
Indicates if parcel is group owned
Parcel owner
Array of containing per object resource usage
Deserializes object from OSD
An containing the data
Makes an instance based on deserialized data
serialized data
Instance containg deserialized data
Resource usage base class, both agent and parcel resource
usage contains summary information
Summary of available resources, keys are resource names,
values are resource usage for that specific resource
Summary resource usage, keys are resource names,
values are resource usage for that specific resource
Serializes object
serialized data
Deserializes object from OSD
An containing the data
Agent resource usage
Per attachment point object resource usage
Deserializes object from OSD
An containing the data
Makes an instance based on deserialized data
serialized data
Instance containg deserialized data
Detects which class handles deserialization of this message
An containing the data
Object capable of decoding this message
Request message for parcel resource usage
UUID of the parel to request resource usage info
Serializes object
serialized data
Deserializes object from OSD
An containing the data
Response message for parcel resource usage
URL where parcel resource usage details can be retrieved
URL where parcel resource usage summary can be retrieved
Serializes object
serialized data
Deserializes object from OSD
An containing the data
Detects which class handles deserialization of this message
An containing the data
Object capable of decoding this message
Parcel resource usage
Array of containing per percal resource usage
Deserializes object from OSD
An containing the data
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
Base class for all Asset types
A byte array containing the raw asset data
True if the asset it only stored on the server temporarily
A unique ID
Construct a new Asset object
Construct a new Asset object
A unique specific to this asset
A byte array containing the raw asset data
Regenerates the AssetData
byte array from the properties
of the derived class.
Decodes the AssetData, placing it in appropriate properties of the derived
class.
True if the asset decoding succeeded, otherwise false
The assets unique ID
The "type" of asset, Notecard, Animation, etc
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
Archives assets
Archive assets
Archive the assets given to this archiver to the given archive.
Write an assets metadata file to the given archive
Write asset data files to the given archive
Constants for the archiving module
The location of the archive control file
Path for the assets held in an archive
Path for the prims file
Path for terrains. Technically these may be assets, but I think it's quite nice to split them out.
Path for region settings.
The character the separates the uuid from extension information in an archived asset filename
Extensions used for asset types in the archive
Capabilities is the name of the bi-directional HTTP REST protocol
used to communicate non real-time transactions such as teleporting or
group messaging
Reference to the simulator this system is connected to
Default constructor
Request the URI of a named capability
Name of the capability to request
The URI of the requested capability, or String.Empty if
the capability does not exist
Process any incoming events, check to see if we have a message created for the event,
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
Throttles the network traffic for various different traffic types.
Access this class through GridClient.Throttle
Default constructor, uses a default high total of 1500 KBps (1536000)
Constructor that decodes an existing AgentThrottle packet in to
individual values
Reference to the throttle data in an AgentThrottle
packet
Offset position to start reading at in the
throttle data
This is generally not needed in clients as the server will
never send a throttle packet to the client
Send an AgentThrottle packet to the current server using the
current values
Send an AgentThrottle packet to the specified server using the
current values
Convert the current throttle values to a byte array that can be put
in an AgentThrottle packet
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
Particle system specific enumerators, flags and methods.
Foliage type for this primitive. Only applicable if this
primitive is foliage
Unknown
Identifies the owner if audio or a particle system is
active
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
Current version of the media data for the prim
Array of media entries indexed by face number
Uses basic heuristics to estimate the primitive shape
Parameters used to construct a visual representation of a primitive
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 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
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
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
Particle Flags Enum
None
Acceleration and velocity for particles are
relative to the object rotation
Particles use new 'correct' angle parameters
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
A Wrapper around openjpeg to encode and decode images to and from byte arrays
TGA Header size
OpenJPEG is not threadsafe, so this object is used to lock
during calls into unmanaged code
Encode a object into a byte array
The object to encode
true to enable lossless conversion, only useful for small images ie: sculptmaps
A byte array containing the encoded Image object
Encode a object into a byte array
The object to encode
a byte array of the encoded image
Decode JPEG2000 data to an and
JPEG2000 encoded data
ManagedImage object to decode to
Image object to decode to
True if the decode succeeds, otherwise false
Encode a object into a byte array
The source object to encode
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
Represents an that represents an avatars body ie: Hair, Etc.
Represents a Wearable Asset, Clothing, Hair, Skin, Etc
A string containing the name of the asset
A string containing a short description of the asset
The Assets WearableType
The For-Sale status of the object
An Integer representing the purchase price of the asset
The of the assets creator
The of the assets current owner
The of the assets prior owner
The of the Group this asset is set to
True if the asset is owned by a
The Permissions mask of the asset
A Dictionary containing Key/Value pairs of the objects parameters
A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures
Initializes a new instance of an AssetWearable object
Initializes a new instance of an AssetWearable object with parameters
A unique specific to this asset
A byte array containing the raw asset data
Decode an assets byte encoded data to a string
true if the asset data was decoded successfully
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
Permission request flags, asked when a script wants to control an Avatar
Placeholder for empty values, shouldn't ever see this
Script wants ability to take money from you
Script wants to take camera controls for you
Script wants to remap avatars controls
Script wants to trigger avatar animations
This function is not implemented on the grid
Script wants to attach or detach the prim or primset to your avatar
Script wants permission to release ownership
This function is not implemented on the grid
The concept of "public" objects does not exist anymore.
Script wants ability to link/delink with other prims
Script wants permission to change joints
This function is not implemented on the grid
Script wants permissions to change permissions
This function is not implemented on the grid
Script wants to track avatars camera position and rotation
Script wants to control your camera
Special commands used in Instant Messages
Indicates a regular IM from another agent
Simple notification box with an OK button
You've been invited to join a group.
Inventory offer
Accepted inventory offer
Declined inventory offer
Group vote
An object is offering its inventory
Accept an inventory offer from an object
Decline an inventory offer from an object
Unknown
Start a session, or add users to a session
Start a session, but don't prune offline users
Start a session with your group
Start a session without a calling card (finder or objects)
Send a message to a session
Leave a session
Indicates that the IM is from an object
Sent an IM to a busy user, this is the auto response
Shows the message in the console and chat history
Send a teleport lure
Response sent to the agent which inititiated a teleport invitation
Response sent to the agent which inititiated a teleport invitation
Only useful if you have Linden permissions
A placeholder type for future expansion, currently not
used
IM to tell the user to go to an URL
IM for help
IM sent automatically on call for help, sends a lure
to each Helper reached
Like an IM but won't go to email
IM from a group officer to all group members
Unknown
Unknown
Accept a group invitation
Decline a group invitation
Unknown
An avatar is offering you friendship
An avatar has accepted your friendship offer
An avatar has declined your friendship offer
Indicates that a user has started typing
Indicates that a user has stopped typing
Flag in Instant Messages, whether the IM should be delivered to
offline avatars as well
Only deliver to online avatars
If the avatar is offline the message will be held until
they login next, and possibly forwarded to their e-mail account
Conversion type to denote Chat Packet types in an easier-to-understand format
Whisper (5m radius)
Normal chat (10/20m radius), what the official viewer typically sends
Shouting! (100m radius)
Event message when an Avatar has begun to type
Event message when an Avatar has stopped typing
Send the message to the debug channel
Event message when an object uses llOwnerSay
Special value to support llRegionSay, never sent to the client
Identifies the source of a chat message
Chat from the grid or simulator
Chat from another avatar
Chat from an object
Effect type used in ViewerEffect packets
Project a beam from a source to a destination, such as
the one used when editing an object
Create a swirl of particles around an object
Cause an avatar to look at an object
Cause an avatar to point at an object
The action an avatar is doing when looking at something, used in
ViewerEffect packets for the LookAt effect
Deprecated
The action an avatar is doing when pointing at something, used in
ViewerEffect packets for the PointAt effect
Money transaction types
Flags sent when a script takes or releases a control
NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement,
No Flags set
Forward (W or up Arrow)
Back (S or down arrow)
Move left (shift+A or left arrow)
Move right (shift+D or right arrow)
Up (E or PgUp)
Down (C or PgDown)
Rotate left (A or left arrow)
Rotate right (D or right arrow)
Left Mouse Button
Left Mouse button in MouseLook
Currently only used to hide your group title
No flags set
Hide your group title
Action state of the avatar, which can currently be typing and
editing
Current teleport status
Unknown status
Teleport initialized
Teleport in progress
Teleport failed
Teleport completed
Teleport cancelled
No flags set, or teleport failed
Set when newbie leaves help island for first time
Via Lure
Via Landmark
Via Location
Via Home
Via Telehub
Via Login
Linden Summoned
Linden Forced me
Agent Teleported Home via Script
forced to new location for example when avatar is banned or ejected
Teleport Finished via a Lure
Finished, Sim Changed
Finished, Same Sim
Instant Message
Key of sender
Name of sender
Key of destination avatar
ID of originating estate
Key of originating region
Coordinates in originating region
Instant message type
Group IM session toggle
Key of IM session, for Group Messages, the groups UUID
Timestamp of the instant message
Instant message text
Whether this message is held for offline avatars
Context specific packed data
Print the struct data as a string
A string containing the field name, and field value
Manager class for our own avatar
The event subscribers. null if no subcribers
Raises the ChatFromSimulator event
A ChatEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the ScriptDialog event
A SctriptDialogEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the ScriptQuestion event
A ScriptQuestionEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the LoadURL event
A LoadUrlEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the MoneyBalance event
A BalanceEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the MoneyBalanceReply event
A MoneyBalanceReplyEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the IM event
A InstantMessageEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the TeleportProgress event
A TeleportEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the AgentDataReply event
A AgentDataReplyEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the AnimationsChanged event
A AnimationsChangedEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the MeanCollision event
A MeanCollisionEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the RegionCrossed event
A RegionCrossedEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the GroupChatJoined event
A GroupChatJoinedEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the AlertMessage event
A AlertMessageEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the ScriptControlChange event
A ScriptControlEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the CameraConstraint event
A CameraConstraintEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the ScriptSensorReply event
A ScriptSensorReplyEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the AvatarSitResponse event
A AvatarSitResponseEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the ChatSessionMemberAdded event
A ChatSessionMemberAddedEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the ChatSessionMemberLeft event
A ChatSessionMemberLeftEventArgs object containing the
data returned from the data server
Thread sync lock object
Reference to the GridClient instance
Used for movement and camera tracking
Currently playing animations for the agent. Can be used to
check the current movement status such as walking, hovering, aiming,
etc. by checking against system animations found in the Animations class
Dictionary containing current Group Chat sessions and members
Constructor, setup callbacks for packets related to our avatar
A reference to the Class
Send a text message from the Agent to the Simulator
A containing the message
The channel to send the message on, 0 is the public channel. Channels above 0
can be used however only scripts listening on the specified channel will see the message
Denotes the type of message being sent, shout, whisper, etc.
Request any instant messages sent while the client was offline to be resent.
Send an Instant Message to another Avatar
The recipients
A containing the message to send
Send an Instant Message to an existing group chat or conference chat
The recipients
A containing the message to send
IM session ID (to differentiate between IM windows)
Send an Instant Message
The name this IM will show up as being from
Key of Avatar
Text message being sent
IM session ID (to differentiate between IM windows)
IDs of sessions for a conference
Send an Instant Message
The name this IM will show up as being from
Key of Avatar
Text message being sent
IM session ID (to differentiate between IM windows)
Type of instant message to send
Whether to IM offline avatars as well
Senders Position
RegionID Sender is In
Packed binary data that is specific to
the dialog type
Send an Instant Message to a group
of the group to send message to
Text Message being sent.
Send an Instant Message to a group the agent is a member of
The name this IM will show up as being from
of the group to send message to
Text message being sent
Send a request to join a group chat session
of Group to leave
Exit a group chat session. This will stop further Group chat messages
from being sent until session is rejoined.
of Group chat session to leave
Reply to script dialog questions.
Channel initial request came on
Index of button you're "clicking"
Label of button you're "clicking"
of Object that sent the dialog request
Accept invite for to a chatterbox session
of session to accept invite to
Start a friends conference
List of UUIDs to start a conference with
the temportary session ID returned in the callback>
Start a particle stream between an agent and an object
Key of the source agent
Key of the target object
The type from the enum
A unique for this effect
Start a particle stream between an agent and an object
Key of the source agent
Key of the target object
A representing the beams offset from the source
A which sets the avatars lookat animation
of the Effect
Create a particle beam between an avatar and an primitive
The ID of source avatar
The ID of the target primitive
global offset
A object containing the combined red, green, blue and alpha
color values of particle beam
a float representing the duration the parcicle beam will last
A Unique ID for the beam
Create a particle swirl around a target position using a packet
global offset
A object containing the combined red, green, blue and alpha
color values of particle beam
a float representing the duration the parcicle beam will last
A Unique ID for the beam
Sends a request to sit on the specified object
of the object to sit on
Sit at offset
Follows a call to to actually sit on the object
Stands up from sitting on a prim or the ground
true of AgentUpdate was sent
Does a "ground sit" at the avatar's current position
Starts or stops flying
True to start flying, false to stop flying
Starts or stops crouching
True to start crouching, false to stop crouching
Starts a jump (begin holding the jump key)
Use the autopilot sim function to move the avatar to a new
position. Uses double precision to get precise movements
The z value is currently not handled properly by the simulator
Global X coordinate to move to
Global Y coordinate to move to
Z coordinate to move to
Use the autopilot sim function to move the avatar to a new position
The z value is currently not handled properly by the simulator
Integer value for the global X coordinate to move to
Integer value for the global Y coordinate to move to
Floating-point value for the Z coordinate to move to
Use the autopilot sim function to move the avatar to a new position
The z value is currently not handled properly by the simulator
Integer value for the local X coordinate to move to
Integer value for the local Y coordinate to move to
Floating-point value for the Z coordinate to move to
Macro to cancel autopilot sim function
Not certain if this is how it is really done
true if control flags were set and AgentUpdate was sent to the simulator
Grabs an object
an unsigned integer of the objects ID within the simulator
Overload: Grab a simulated object
an unsigned integer of the objects ID within the simulator
The texture coordinates to grab
The surface coordinates to grab
The face of the position to grab
The region coordinates of the position to grab
The surface normal of the position to grab (A normal is a vector perpindicular to the surface)
The surface binormal of the position to grab (A binormal is a vector tangen to the surface
pointing along the U direction of the tangent space
Drag an object
of the object to drag
Drag target in region coordinates
Overload: Drag an object
of the object to drag
Drag target in region coordinates
The texture coordinates to grab
The surface coordinates to grab
The face of the position to grab
The region coordinates of the position to grab
The surface normal of the position to grab (A normal is a vector perpindicular to the surface)
The surface binormal of the position to grab (A binormal is a vector tangen to the surface
pointing along the U direction of the tangent space
Release a grabbed object
The Objects Simulator Local ID
Release a grabbed object
The Objects Simulator Local ID
The texture coordinates to grab
The surface coordinates to grab
The face of the position to grab
The region coordinates of the position to grab
The surface normal of the position to grab (A normal is a vector perpindicular to the surface)
The surface binormal of the position to grab (A binormal is a vector tangen to the surface
pointing along the U direction of the tangent space
Touches an object
an unsigned integer of the objects ID within the simulator
Request the current L$ balance
Give Money to destination Avatar
UUID of the Target Avatar
Amount in L$
Give Money to destination Avatar
UUID of the Target Avatar
Amount in L$
Description that will show up in the
recipients transaction history
Give L$ to an object
object to give money to
amount of L$ to give
name of object
Give L$ to a group
group to give money to
amount of L$ to give
Give L$ to a group
group to give money to
amount of L$ to give
description of transaction
Pay texture/animation upload fee
Pay texture/animation upload fee
description of the transaction
Give Money to destination Object or Avatar
UUID of the Target Object/Avatar
Amount in L$
Reason (Optional normally)
The type of transaction
Transaction flags, mostly for identifying group
transactions
Plays a gesture
Asset of the gesture
Mark gesture active
Inventory of the gesture
Asset of the gesture
Mark gesture inactive
Inventory of the gesture
Send an AgentAnimation packet that toggles a single animation on
The of the animation to start playing
Whether to ensure delivery of this packet or not
Send an AgentAnimation packet that toggles a single animation off
The of a
currently playing animation to stop playing
Whether to ensure delivery of this packet or not
Send an AgentAnimation packet that will toggle animations on or off
A list of animation s, and whether to
turn that animation on or off
Whether to ensure delivery of this packet or not
Teleports agent to their stored home location
true on successful teleport to home location
Teleport agent to a landmark
of the landmark to teleport agent to
true on success, false on failure
Attempt to look up a simulator name and teleport to the discovered
destination
Region name to look up
Position to teleport to
True if the lookup and teleport were successful, otherwise
false
Attempt to look up a simulator name and teleport to the discovered
destination
Region name to look up
Position to teleport to
Target to look at
True if the lookup and teleport were successful, otherwise
false
Teleport agent to another region
handle of region to teleport agent to
position in destination sim to teleport to
true on success, false on failure
This call is blocking
Teleport agent to another region
handle of region to teleport agent to
position in destination sim to teleport to
direction in destination sim agent will look at
true on success, false on failure
This call is blocking
Request teleport to a another simulator
handle of region to teleport agent to
position in destination sim to teleport to
Request teleport to a another simulator
handle of region to teleport agent to
position in destination sim to teleport to
direction in destination sim agent will look at
Teleport agent to a landmark
of the landmark to teleport agent to
Send a teleport lure to another avatar with default "Join me in ..." invitation message
target avatars to lure
Send a teleport lure to another avatar with custom invitation message
target avatars to lure
custom message to send with invitation
Respond to a teleport lure by either accepting it and initiating
the teleport, or denying it
of the avatar sending the lure
IM session of the incoming lure request
true to accept the lure, false to decline it
Update agent profile
struct containing updated
profile information
Update agents profile interests
selection of interests from struct
Set the height and the width of the client window. This is used
by the server to build a virtual camera frustum for our avatar
New height of the viewer window
New width of the viewer window
Request the list of muted objects and avatars for this agent
Sets home location to agents current position
will fire an AlertMessage () with
success or failure message
Move an agent in to a simulator. This packet is the last packet
needed to complete the transition in to a new simulator
Object
Reply to script permissions request
Object
of the itemID requesting permissions
of the taskID requesting permissions
list of permissions to allow
Respond to a group invitation by either accepting or denying it
UUID of the group (sent in the AgentID field of the invite message)
IM Session ID from the group invitation message
Accept the group invitation or deny it
Requests script detection of objects and avatars
name of the object/avatar to search for
UUID of the object or avatar to search for
Type of search from ScriptSensorTypeFlags
range of scan (96 max?)
the arc in radians to search within
an user generated ID to correlate replies with
Simulator to perform search in
Create or update profile pick
UUID of the pick to update, or random UUID to create a new pick
Is this a top pick? (typically false)
UUID of the parcel (UUID.Zero for the current parcel)
Name of the pick
Global position of the pick landmark
UUID of the image displayed with the pick
Long description of the pick
Delete profile pick
UUID of the pick to delete
Create or update profile Classified
UUID of the classified to update, or random UUID to create a new classified
Defines what catagory the classified is in
UUID of the image displayed with the classified
Price that the classified will cost to place for a week
Global position of the classified landmark
Name of the classified
Long description of the classified
if true, auto renew classified after expiration
Create or update profile Classified
UUID of the classified to update, or random UUID to create a new classified
Defines what catagory the classified is in
UUID of the image displayed with the classified
Price that the classified will cost to place for a week
Name of the classified
Long description of the classified
if true, auto renew classified after expiration
Delete a classified ad
The classified ads ID
Fetches resource usage by agents attachmetns
Called when the requested information is collected
Take an incoming ImprovedInstantMessage packet, auto-parse, and if
OnInstantMessage is defined call that with the appropriate arguments
The sender
The EventArgs object containing the packet data
Take an incoming Chat packet, auto-parse, and if OnChat is defined call
that with the appropriate arguments.
The sender
The EventArgs object containing the packet data
Used for parsing llDialogs
The sender
The EventArgs object containing the packet data
Used for parsing llRequestPermissions dialogs
The sender
The EventArgs object containing the packet data
Handles Script Control changes when Script with permissions releases or takes a control
The sender
The EventArgs object containing the packet data
Used for parsing llLoadURL Dialogs
The sender
The EventArgs object containing the packet data
Update client's Position, LookAt and region handle from incoming packet
The sender
The EventArgs object containing the packet data
This occurs when after an avatar moves into a new sim
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 TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why.
The Message Key
An IMessage object Deserialized from the recieved message event
The simulator originating the event message
Process TeleportFinish from Event Queue and pass it onto our TeleportHandler
The message system key for this event
IMessage object containing decoded data from OSD
The simulator originating the event message
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
Crossed region handler for message that comes across the EventQueue. Sent to an agent
when the agent crosses a sim border into a new region.
The message key
the IMessage object containing the deserialized data sent from the simulator
The which originated the packet
Process an incoming packet and raise the appropriate events
The sender
The EventArgs object containing the packet data
This packet is now being sent via the EventQueue
Group Chat event handler
The capability Key
IMessage object containing decoded data from OSD
Response from request to join a group chat
IMessage object containing decoded data from OSD
Someone joined or left group chat
IMessage object containing decoded data from OSD
Handle a group chat Invitation
Caps Key
IMessage object containing decoded data from OSD
Originating Simulator
Moderate a chat session
the of the session to moderate, for group chats this will be the groups UUID
the of the avatar to moderate
Either "voice" to moderate users voice, or "text" to moderate users text session
true to moderate (silence user), false to allow avatar to speak
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 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
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 or PG
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)
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
Used to specify movement actions for your agent
Empty flag
Move Forward (SL Keybinding: W/Up Arrow)
Move Backward (SL Keybinding: S/Down Arrow)
Move Left (SL Keybinding: Shift-(A/Left Arrow))
Move Right (SL Keybinding: Shift-(D/Right Arrow))
Not Flying: Jump/Flying: Move Up (SL Keybinding: E)
Not Flying: Croutch/Flying: Move Down (SL Keybinding: C)
Unused
Unused
Unused
Unused
ORed with AGENT_CONTROL_AT_* if the keyboard is being used
ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used
ORed with AGENT_CONTROL_UP_* if the keyboard is being used
Fly
Finish our current animation
Stand up from the ground or a prim seat
Sit on the ground at our current location
Whether mouselook is currently enabled
Legacy, used if a key was pressed for less than a certain amount of time
Legacy, used if a key was pressed for less than a certain amount of time
Legacy, used if a key was pressed for less than a certain amount of time
Legacy, used if a key was pressed for less than a certain amount of time
Legacy, used if a key was pressed for less than a certain amount of time
Legacy, used if a key was pressed for less than a certain amount of time
Set when the avatar is idled or set to away. Note that the away animation is
activated separately from setting this flag
Agent movement and camera control
Agent movement is controlled by setting specific
After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags
This is most easily accomplished by setting one or more of the AgentMovement properties
Movement of an avatar is always based on a compass direction, for example AtPos will move the
agent from West to East or forward on the X Axis, AtNeg will of course move agent from
East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis
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
Send new AgentUpdate packet to update our current camera
position and rotation
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
Move agent positive along the X axis
Move agent negative along the X axis
Move agent positive along the Y axis
Move agent negative along the Y axis
Move agent positive along the Z axis
Move agent negative along the Z axis
Causes simulator to make agent fly
Stop movement
Finish animation
Stand up from a sit
Tells simulator to sit agent on ground
Place agent into mouselook mode
Nudge agent positive along the X axis
Nudge agent negative along the X axis
Nudge agent positive along the Y axis
Nudge agent negative along the Y axis
Nudge agent positive along the Z axis
Nudge agent negative along the Z axis
Tell simulator to mark agent as away
Returns "always run" value, or changes it by sending a SetAlwaysRunPacket
The current value of the agent control flags
Gets or sets the interval in milliseconds at which
AgentUpdate packets are sent to the current simulator. Setting
this to a non-zero value will also enable the packet sending if
it was previously off, and setting it to zero will disable
Gets or sets whether AgentUpdate packets are sent to
the current simulator
Reset movement controls every time we send an update
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
The camera is a local frame of reference inside of
the larger grid space. This is where the math happens
Default constructor
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
Get the message sent
Get the audible level of the message
Get the type of message sent: whisper, shout, etc
Get the source type of the message sender
Get the name of the agent or object sending the message
Get the ID of the agent or object sending the message
Get the ID of the object owner, or the agent ID sending the message
Get 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
Get the dialog message
Get the name of the object that sent the dialog request
Get the ID of the image to be displayed
Get the ID of the primitive sending the dialog
Get the first name of the senders owner
Get the last name of the senders owner
Get the communication channel the dialog was sent on, responses
should also send responses on this same channel
Get the string labels containing the options presented in this dialog
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
Get the ID of the script making the request
Get the ID of the primitive containing the script making the request
Get the name of the primitive making the request
Get the name of the owner of the object making the request
Get 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
Get the ID of the object sending the request
Get the ID of the owner of the object sending the request
True if the object is owned by a group
Get the message sent with the request
Get the URL the object sent
The date received from an ImprovedInstantMessage
Construct a new instance of the InstantMessageEventArgs object
the InstantMessage object
the simulator where the InstantMessage origniated
Get the InstantMessage object
Get the simulator where the InstantMessage origniated
Contains the currency 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
Get the ID of the transaction
True of the transaction was successful
Get the remaining currency balance
Get the meters credited
Get the meters comitted
Get the description of the transaction
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
Get the agents last name
Get the active group ID of your agent
Get the active groups title of your agent
Get the combined group powers of your agent
Get the active group name of your agent
Data sent by the simulator to indicate the active/changed animations
applied to your agent
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
Get the ID of the agent or object that collided with your agent
Get the ID of the agent that was attacked
A value indicating the strength of the collision
Get the time the collision occurred
Data sent to your agent when it crosses region boundaries
Construct a new instance of the RegionCrossedEventArgs class
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
Get the name of the session
Get the temporary session ID used for establishing new sessions
True if your agent successfully joined the session
Data sent by the simulator containing urgent messages
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
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
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
Get the ID of the group associated with the primitive
Get the name of the primitive sending the sensor
Get the ID of the primitive sending the sensor
Get the ID of the owner of the primitive sending the sensor
Get the position of the primitive sending the sensor
Get the range the primitive specified to scan
Get the rotation of the primitive sending the sensor
Get the type of sensor the primitive sent
Get 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
True if the simulator Autopilot functions were involved
Get the camera offset of the agent when seated
Get the camera eye offset of the agent when seated
True of the agent will be in mouselook mode when seated
Get the position of the agent when seated
Get the rotation of the agent when seated
Data sent when an agent joins a chat session your agent is currently participating in
Construct a new instance of the ChatSessionMemberAddedEventArgs object
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
Construct a new instance of the ChatSessionMemberLeftEventArgs object
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
Return a decoded capabilities message as a strongly typed object
A string containing the name of the capabilities message key
An to decode
A strongly typed object containing the decoded information from the capabilities message, or null
if no existing Message object exists for the specified event
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
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 maximum size of the sequence number archive, used to
check for resent and/or duplicate packets
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
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
Maximum number of queued ACKs to be sent before SendAcks()
is forced
Network stats queue length (seconds)
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
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
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.
Login Routines
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
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
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
Client application 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
Client application 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
Starting location URI that can be built with
StartLocation()
Client application 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
Handles response from XML-RPC login replies
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
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
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
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 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
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
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
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
Can send group notices
Can receive group notices
Can create group proposals
Can vote on group proposals
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
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
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
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
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
Avatar profile flags
Represents an avatar (other than your own)
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
Default constructor
First name
Last name
Full name
Active group
Positive and negative ratings
Positive ratings for Behavior
Negative ratings for Behavior
Positive ratings for Appearance
Negative ratings for Appearance
Positive ratings for Building
Negative ratings for Building
Positive ratings given by this avatar
Negative ratings given by this avatar
Avatar properties including about text, profile URL, image IDs and
publishing settings
First Life about text
First Life image ID
Profile image ID
Flags of the profile
Web URL for this profile
Should this profile be published on the web
Avatar Online Status
Is this a mature profile
Avatar interests including spoken languages, skills, and "want to"
choices
Languages profile field
Extract the avatar UUID encoded in a SIP URI
Permissions for control of object media
Style of cotrols that shold be displayed to the user
Class representing media data for a single face
Is display of the alternative image enabled
Should media auto loop
Shoule media be auto played
Auto scale media to prim face
Should viewer automatically zoom in on the face when clicked
Should viewer interpret first click as interaction with the media
or when false should the first click be treated as zoom in commadn
Style of controls viewer should display when
viewer media on this face
Starting URL for the media
Currently navigated URL
Media height in pixes
Media width in pixels
Who can controls the media
Who can interact with the media
Is URL whitelist enabled
Array of URLs that are whitelisted
Serialize to OSD
OSDMap with the serialized data
Deserialize from OSD data
Serialized OSD data
Deserialized object
Operation to apply when applying color to texture
Information needed to translate visual param value to RGBA color
Construct VisualColorParam
Operation to apply when applying color to texture
Colors
Represents alpha blending and bump infor for a visual parameter
such as sleive length
Stregth of the alpha to apply
File containing the alpha channel
Skip blending if parameter value is 0
Use miltiply insted of alpha blending
Create new alhpa information for a visual param
Stregth of the alpha to apply
File containing the alpha channel
Skip blending if parameter value is 0
Use miltiply insted of alpha blending
A single visual characteristic of an avatar mesh, such as eyebrow height
Index of this visual param
Internal name
Group ID this parameter belongs to
Name of the wearable this parameter belongs to
Displayable label of this characteristic
Displayable label for the minimum value of this characteristic
Displayable label for the maximum value of this characteristic
Default value
Minimum value
Maximum value
Is this param used for creation of bump layer?
Alpha blending/bump info
Color information
Array of param IDs that are drivers for this parameter
Set all the values through the constructor
Index of this visual param
Internal name
Displayable label of this characteristic
Displayable label for the minimum value of this characteristic
Displayable label for the maximum value of this characteristic
Default value
Minimum value
Maximum value
Is this param used for creation of bump layer?
Array of param IDs that are drivers for this parameter
Alpha blending/bump info
Color information
Holds the Params array of all the avatar appearance parameters
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
This is used to initialize and stop the Connector as a whole. The Connector
Create call must be completed successfully before any other requests are made
(typically during application initialization). The shutdown should be called
when the application is shutting down to gracefully release resources
A string value indicting the Application name
URL for the management server
LoggingSettings
Shutdown Connector -- Should be called when the application is shutting down
to gracefully release resources
Handle returned from successful Connector ‘create’ request
Mute or unmute the microphone
Handle returned from successful Connector ‘create’ request
true (mute) or false (unmute)
Mute or unmute the speaker
Handle returned from successful Connector ‘create’ request
true (mute) or false (unmute)
Set microphone volume
Handle returned from successful Connector ‘create’ request
The level of the audio, a number between -100 and 100 where
0 represents ‘normal’ speaking volume
Set local speaker volume
Handle returned from successful Connector ‘create’ request
The level of the audio, a number between -100 and 100 where
0 represents ‘normal’ speaking volume
Starts a thread that keeps the daemon running
Stops the daemon and the thread keeping it running
This is used to get a list of audio devices that can be used for capture (input) of voice.
This is used to get a list of audio devices that can be used for render (playback) of voice.
This command is used to select the render device.
The name of the device as returned by the Aux.GetRenderDevices command.
This command is used to select the capture device.
The name of the device as returned by the Aux.GetCaptureDevices command.
This command is used to start the audio capture process which will cause
AuxAudioProperty Events to be raised. These events can be used to display a
microphone VU meter for the currently selected capture device. This command
should not be issued if the user is on a call.
(unused but required)
This command is used to stop the audio capture process.
This command is used to set the mic volume while in the audio tuning process.
Once an acceptable mic level is attained, the application must issue a
connector set mic volume command to have that level be used while on voice
calls.
the microphone volume (-100 to 100 inclusive)
This command is used to set the speaker volume while in the audio tuning
process. Once an acceptable speaker level is attained, the application must
issue a connector set speaker volume command to have that level be used while
on voice calls.
the speaker volume (-100 to 100 inclusive)
Create a Session
Sessions typically represent a connection to a media session with one or more
participants. This is used to generate an ‘outbound’ call to another user or
channel. The specifics depend on the media types involved. A session handle is
required to control the local user functions within the session (or remote
users if the current account has rights to do so). Currently creating a
session automatically connects to the audio media, there is no need to call
Session.Connect at this time, this is reserved for future use.
Handle returned from successful Connector ‘create’ request
This is the URI of the terminating point of the session (ie who/what is being called)
This is the display name of the entity being called (user or channel)
Only needs to be supplied when the target URI is password protected
This indicates the format of the password as passed in. This can either be
“ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is
“SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together,
then base64 encoded, with the final “=” character stripped off.
Used to accept a call
SessionHandle such as received from SessionNewEvent
"default"
This command is used to start the audio render process, which will then play
the passed in file through the selected audio render device. This command
should not be issued if the user is on a call.
The fully qualified path to the sound file.
True if the file is to be played continuously and false if it is should be played once.
This command is used to stop the audio render process.
The fully qualified path to the sound file issued in the start render command.
This is used to ‘end’ an established session (i.e. hang-up or disconnect).
Handle returned from successful Session ‘create’ request or a SessionNewEvent
Set the combined speaking and listening position in 3D space.
Handle returned from successful Session ‘create’ request or a SessionNewEvent
Speaking position
Listening position
Set User Volume for a particular user. Does not affect how other users hear that user.
Handle returned from successful Session ‘create’ request or a SessionNewEvent
The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume
Start up the Voice service.
Handle miscellaneous request status
///If something goes wrong, we log it.
Cleanup oject resources
Request voice cap when changing regions
Handle a change in session state
Close a voice session
Locate a Session context from its handle
Creates the session context if it does not exist.
Handle completion of main voice cap request.
Daemon has started so connect to it.
The daemon TCP connection is open.
Handle creation of the Connector.
Handle response to audio output device query
Handle response to audio input device query
Set voice channel for new parcel
Request info from a parcel capability Uri.
Receive parcel voice cap
Tell Vivox where we are standing
This has to be called when we move or turn.
Start and stop updating out position.
This is used to login a specific user account(s). It may only be called after
Connector initialization has completed successfully
Handle returned from successful Connector ‘create’ request
User's account name
User's account password
Values may be “AutoAnswer” or “VerifyAnswer”
""
This is an integer that specifies how often
the daemon will send participant property events while in a channel. If this is not set
the default will be “on state change”, which means that the events will be sent when
the participant starts talking, stops talking, is muted, is unmuted.
The valid values are:
0 – Never
5 – 10 times per second
10 – 5 times per second
50 – 1 time per second
100 – on participant state change (this is the default)
false
This is used to logout a user session. It should only be called with a valid AccountHandle.
Handle returned from successful Connector ‘login’ request
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
List of audio input devices
List of audio output devices
Set audio test mode
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
Abstract base for rendering plugins
Generates a basic mesh structure from a primitive
Primitive to generate the mesh from
Level of detail to generate the mesh at
The generated mesh
Generates a basic mesh structure from a sculpted primitive and
texture
Sculpted primitive to generate the mesh from
Sculpt texture
Level of detail to generate the mesh at
The generated mesh
Generates a series of faces, each face containing a mesh and
metadata
Primitive to generate the mesh from
Level of detail to generate the mesh at
The generated mesh
Generates a series of faces for a sculpted prim, each face
containing a mesh and metadata
Sculpted primitive to generate the mesh from
Sculpt texture
Level of detail to generate the mesh at
The generated mesh
Apply texture coordinate modifications from a
to a list of vertices
Vertex list to modify texture coordinates for
Center-point of the face
Face texture parameters
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
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.
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
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
Checks simulator parcel map to make sure it has downloaded all data successfully
true if map is full (contains no 0's)
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
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 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
Checks the instance back into the object pool
Returns an instance of the class that has been checked out of 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.
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
.
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
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
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 HTPP download
Maximum number of parallel downloads from a single endpoint
Client certificate
Positional vector of the users position
Velocity vector of the position
At Orientation (X axis) of the position
Up Orientation (Y axis) of the position
Left Orientation (Z axis) of the position
Represents Mesh asset
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 a scripts contents into a LSO Bytecode file
TODO: Decode LSO Bytecode into a string
true
Override the base classes AssetType
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.
A set of textures that are layered on texture of each other and "baked"
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
Default constructor
Bake type
Adds layer for baking
TexturaData struct that contains texture and its params
Converts avatar texture index (face) to Bake type
Face number (AvatarTextureIndex)
BakeType, layer to which this texture belongs to
Make sure images exist, resize source if needed to match the destination
Destination image
Source image
Sanitization was succefull
Fills a baked layer as a solid *appearing* color. The colors are
subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from
compressing it too far since it seems to cause upload failures if
the image is a pure solid color
Color of the base of this layer
Fills a baked layer as a solid *appearing* color. The colors are
subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from
compressing it too far since it seems to cause upload failures if
the image is a pure solid color
Red value
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
Represents an Animation
Default Constructor
Construct an Asset object of type Animation
A unique specific to this asset
A byte array containing the raw asset data
Override the base classes AssetType
Index of TextureEntry slots for avatar appearances
Bake layers for avatar appearance
Maximum number of concurrent downloads for wearable assets and textures
Maximum number of concurrent uploads for baked textures
Timeout for fetching inventory listings
Timeout for fetching a single wearable, or receiving a single packet response
Timeout for fetching a single texture
Timeout for uploading a single baked texture
Number of times to retry bake upload
When changing outfit, kick off rebake after
20 seconds has passed since the last change
Total number of wearables for each avatar
Total number of baked textures on each avatar
Total number of wearables per bake layer
Mapping between BakeType and AvatarTextureIndex
Map of what wearables are included in each bake
Magic values to finalize the cache check hashes for each
bake
Default avatar texture, used to detect when a custom
texture is not set for a face
The event subscribers. null if no subcribers
Raises the AgentWearablesReply event
An AgentWearablesReplyEventArgs object containing the
data returned from the data server
Thread sync lock object
The event subscribers. null if no subcribers
Raises the CachedBakesReply event
An AgentCachedBakesReplyEventArgs object containing the
data returned from the data server AgentCachedTextureResponse
Thread sync lock object
The event subscribers. null if no subcribers
Raises the AppearanceSet event
An AppearanceSetEventArgs object indicating if the operatin was successfull
Thread sync lock object
The event subscribers. null if no subcribers
Raises the RebakeAvatarRequested event
An RebakeAvatarTexturesEventArgs object containing the
data returned from the data server
Thread sync lock object
A cache of wearables currently being worn
A cache of textures currently being worn
Incrementing serial number for AgentCachedTexture packets
Incrementing serial number for AgentSetAppearance packets
Indicates whether or not the appearance thread is currently
running, to prevent multiple appearance threads from running
simultaneously
Reference to our agent
Timer used for delaying rebake on changing outfit
Main appearance thread
Default constructor
A reference to our agent
Obsolete method for setting appearance. This function no longer does anything.
Use RequestSetAppearance() to manually start the appearance thread
Obsolete method for setting appearance. This function no longer does anything.
Use RequestSetAppearance() to manually start the appearance thread
Unused parameter
Starts the appearance setting thread
Starts the appearance setting thread
True to force rebaking, otherwise false
Ask the server what textures our agent is currently wearing
Build hashes out of the texture assetIDs for each baking layer to
ask the simulator whether it has cached copies of each baked texture
Returns the AssetID of the asset that is currently being worn in a
given WearableType slot
WearableType slot to get the AssetID for
The UUID of the asset being worn in the given slot, or
UUID.Zero if no wearable is attached to the given slot or wearables
have not been downloaded yet
Add a wearable to the current outfit and set appearance
Wearable to be added to the outfit
Add a list of wearables to the current outfit and set appearance
List of wearable inventory items to
be added to the outfit
Remove a wearable from the current outfit and set appearance
Wearable to be removed from the outfit
Removes a list of wearables from the current outfit and set appearance
List of wearable inventory items to
be removed from the outfit
Replace the current outfit with a list of wearables and set appearance
List of wearable inventory items that
define a new outfit
Checks if an inventory item is currently being worn
The inventory item to check against the agent
wearables
The WearableType slot that the item is being worn in,
or WearbleType.Invalid if it is not currently being worn
Returns a copy of the agents currently worn wearables
A copy of the agents currently worn wearables
Avoid calling this function multiple times as it will make
a copy of all of the wearable data each time
Calls either or
depending on the value of
replaceItems
List of wearable inventory items to add
to the outfit or become a new outfit
True to replace existing items with the
new list of items, false to add these items to the existing outfit
Adds a list of attachments to our agent
A List containing the attachments to add
If true, tells simulator to remove existing attachment
first
Attach an item to our agent at a specific attach point
A to attach
the on the avatar
to attach the item to
Attach an item to our agent specifying attachment details
The of the item to attach
The attachments owner
The name of the attachment
The description of the attahment
The to apply when attached
The of the attachment
The on the agent
to attach the item to
Detach an item from our agent using an object
An object
Detach an item from our agent
The inventory itemID of the item to detach
Inform the sim which wearables are part of our current outfit
Replaces the Wearables collection with a list of new wearable items
Wearable items to replace the Wearables collection with
Calculates base color/tint for a specific wearable
based on its params
All the color info gathered from wearable's VisualParams
passed as list of ColorParamInfo tuples
Base color/tint for the wearable
Blocking method to populate the Wearables dictionary
True on success, otherwise false
Blocking method to populate the Textures array with cached bakes
True on success, otherwise false
Populates textures and visual params from a decoded asset
Wearable to decode
Blocking method to download and parse currently worn wearable assets
True on success, otherwise false
Get a list of all of the textures that need to be downloaded for a
single bake layer
Bake layer to get texture AssetIDs for
A list of texture AssetIDs to download
Helper method to lookup the TextureID for a single layer and add it
to a list if it is not already present
Blocking method to download all of the textures needed for baking
the given bake layers
A list of layers that need baking
No return value is given because the baking will happen
whether or not all textures are successfully downloaded
Blocking method to create and upload baked textures for all of the
missing bakes
True on success, otherwise false
Blocking method to create and upload a baked texture for a single
bake layer
Layer to bake
True on success, otherwise false
Blocking method to upload a baked texture
Five channel JPEG2000 texture data to upload
UUID of the newly created asset on success, otherwise UUID.Zero
Creates a dictionary of visual param values from the downloaded wearables
A dictionary of visual param indices mapping to visual param
values for our agent that can be fed to the Baker class
Create an AgentSetAppearance packet from Wearables data and the
Textures array and send it
Converts a WearableType to a bodypart or clothing WearableType
A WearableType
AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown
Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex
A BakeType
The AvatarTextureIndex slot that holds the given BakeType
Gives the layer number that is used for morph mask
>A BakeType
Which layer number as defined in BakeTypeToTextures is used for morph mask
Converts a BakeType to a list of the texture slots that make up that bake
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
Construct a new instance of the AgentWearablesReplyEventArgs class
Contains the Event data returned from the data server from an AgentCachedTextureResponse
Construct a new instance of the AgentCachedBakesReplyEventArgs class
Contains the Event data returned from an AppearanceSetRequest
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
Triggered when the simulator sends a request for this agent to rebake
its appearance
The ID of the Texture Layer to bake
The ID of the Texture Layer to bake
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.
Wrapper around a byte array that allows bit to be packed and unpacked
one at a time or by a variable amount. Useful for very tightly packed
data like LayerData packets
Default constructor, initialize the bit packer / bit unpacker
with a byte array and starting position
Byte array to pack bits in to or unpack from
Starting position in the byte array
Pack a floating point value in to the data
Floating point value to pack
Pack part or all of an integer in to the data
Integer containing the data to pack
Number of bits of the integer to pack
Pack part or all of an unsigned integer in to the data
Unsigned integer containing the data to pack
Number of bits of the integer to pack
Pack a single bit in to the data
Bit to pack
Unpacking a floating point value from the data
Unpacked floating point value
Unpack a variable number of bits from the data in to integer format
Number of bits to unpack
An integer containing the unpacked bits
This function is only useful up to 32 bits
Unpack a variable number of bits from the data in to unsigned
integer format
Number of bits to unpack
An unsigned integer containing the unpacked bits
This function is only useful up to 32 bits
Unpack a 16-bit signed integer
16-bit signed integer
Unpack a 16-bit unsigned integer
16-bit unsigned integer
Unpack a 32-bit signed integer
32-bit signed integer
Unpack a 32-bit unsigned integer
32-bit unsigned integer
Class that handles the local asset cache
Default constructor
A reference to the GridClient object
Disposes cleanup timer
Only create timer when needed
Return bytes read from the local asset cache, null if it does not exist
UUID of the asset we want to get
Raw bytes of the asset, or null on failure
Returns ImageDownload object of the
image from the local image cache, null if it does not exist
UUID of the image we want to get
ImageDownload object containing the image, or null on failure
Constructs a file name of the cached asset
UUID of the asset
String with the file name of the cahced asset
Saves an asset to the local cache
UUID of the asset
Raw bytes the asset consists of
Weather the operation was successfull
Get the file name of the asset stored with gived UUID
UUID of the asset
Null if we don't have that UUID cached on disk, file name if found in the cache folder
Checks if the asset exists in the local cache
UUID of the asset
True is the asset is stored in the cache, otherwise false
Wipes out entire cache
Brings cache size to the 90% of the max size
Asynchronously brings cache size to the 90% of the max size
Adds up file sizes passes in a FileInfo array
Checks whether caching is enabled
Periodically prune the cache
Nicely formats file sizes
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
Capability to load TGAs to Bitmap
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 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 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 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
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
Attempts to convert an LLSD structure to a known Packet type
Event name, this must match an actual
packet name for a Packet to be successfully built
LLSD to convert to a Packet
A Packet on success, otherwise null
Image width
Image height
Image channel flags
Red channel data
Green channel data
Blue channel data
Alpha channel data
Bump channel data
Create a new blank image
width
height
channel flags
Convert the channels in the image. Channels are created or destroyed as required.
new channel flags
Resize or stretch the image using nearest neighbor (ugly) resampling
new width
new height
Create a byte array containing 32-bit RGBA data with a bottom-left
origin, suitable for feeding directly into OpenGL
A byte array containing raw texture data
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
Temporary code to do the bare minimum required to read a tar archive for our purposes
Binary reader for the underlying stream
Used to trim off null chars
Used to trim off space chars
Generate a tar reader which reads from the given stream.
Read the next entry in the tar file.
the data for the entry. Returns null if there are no more entries
Read the next 512 byte chunk of data as a tar header.
A tar header struct. null if we have reached the end of the archive.
Read data following a header
Convert octal bytes to a decimal representation
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
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 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
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
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
The new Permissions mark to set
TODO: What does this do?
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 sends us data containing
updated sit information for our
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
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 simulator the object is located
Get the primitive details
Get 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 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
De-serialization constructor for the InventoryNode Class
Serialization handler for the InventoryNode Class
De-serialization handler for the InventoryNode Class
For inventory folder nodes specifies weather the folder needs to be
refreshed from the server
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
Reads in a byte array of an Animation Asset created by the SecondLife(tm) client.
Rotation Keyframe count (used internally)
Position Keyframe count (used internally)
Animation Priority
The animation length in seconds.
Expression set in the client. Null if [None] is selected
The time in seconds to start the animation
The time in seconds to end the animation
Loop the animation
Meta data. Ease in Seconds.
Meta data. Ease out seconds.
Meta Data for the Hand Pose
Number of joints defined in the animation
Contains an array of joints
Searialize an animation asset into it's joints/keyframes/meta data
Variable length strings seem to be null terminated in the animation asset.. but..
use with caution, home grown.
advances the index.
The animation asset byte array
The offset to start reading
a string
Read in a Joint from an animation asset byte array
Variable length Joint fields, yay!
Advances the index
animation asset byte array
Byte Offset of the start of the joint
The Joint data serialized into the binBVHJoint structure
Read Keyframes of a certain type
advance i
Animation Byte array
Offset in the Byte Array. Will be advanced
Number of Keyframes
Scaling Min to pass to the Uint16ToFloat method
Scaling Max to pass to the Uint16ToFloat method
A Joint and it's associated meta data and keyframes
Name of the Joint. Matches the avatar_skeleton.xml in client distros
Joint Animation Override? Was the same as the Priority in testing..
Array of Rotation Keyframes in order from earliest to latest
Array of Position Keyframes in order from earliest to latest
This seems to only be for the Pelvis?
A Joint Keyframe. This is either a position or a rotation.
Either a Vector3 position or a Vector3 Euler rotation
Poses set in the animation metadata for the hands.
The type of bump-mapping applied to a face
The level of shininess applied to a face
The texture mapping style used for a face
Flags in the TextureEntry block that describe which properties are
set
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
Temporary code to produce a tar archive in tar v7 format
Binary writer for the underlying stream
Write a directory entry to the tar archive. We can only handle one path level right now!
Write a file to the tar archive
Write a file to the tar archive
Finish writing the raw tar archive data to a stream. The stream will be closed on completion.
Write a particular entry
Thrown when a packet could not be successfully deserialized
Default constructor
Constructor that takes an additional error message
An error message to attach to this exception
The header of a message template packet. Holds packet flags, sequence
number, packet ID, and any ACKs that will be appended at the end of
the packet
Convert the AckList to a byte array, used for packet serializing
Reference to the target byte array
Beginning position to start writing to in the byte
array, will be updated with the ending position of the ACK list
A block of data in a packet. Packets are composed of one or more blocks,
each block containing one or more fields
Create a block from a byte array
Byte array containing the serialized block
Starting position of the block in the byte array.
This will point to the data after the end of the block when the
call returns
Serialize this block into a byte array
Byte array to serialize this block into
Starting position in the byte array to serialize to.
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
Represents a single Voice Session to the Vivox service.
Close this session.
Look up an existing Participants in this session
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
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
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
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
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
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
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
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
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
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
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.
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
Current world time
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
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
OK
Transfer completed
Unknown error occurred
Equivalent to a 404 error
Client does not have permission for that resource
Unknown status
Unknown
Virtually all asset transfers use this channel
Asset from the asset server
Inventory item
Estate asset, such as an estate covenant
Image file format
Number of milliseconds passed since the last transfer
packet was received
Number of milliseconds to wait for a transfer header packet if out of order data was received
The event subscribers. null if no subcribers
Raises the XferReceived event
A XferReceivedEventArgs object containing the
data returned from the simulator
Thread sync lock object
The event subscribers. null if no subcribers
Raises the AssetUploaded event
A AssetUploadedEventArgs object containing the
data returned from the simulator
Thread sync lock object
The event subscribers. null if no subcribers
Raises the UploadProgress event
A UploadProgressEventArgs object containing the
data returned from the simulator
Thread sync lock object
The event subscribers. null if no subcribers
Raises the InitiateDownload event
A InitiateDownloadEventArgs object containing the
data returned from the simulator
Thread sync lock object
The event subscribers. null if no subcribers
Raises the ImageReceiveProgress event
A ImageReceiveProgressEventArgs object containing the
data returned from the simulator
Thread sync lock object
Texture download cache
Default constructor
A reference to the GridClient object
Request an asset download
Asset UUID
Asset type, must be correct for the transfer to succeed
Whether to give this transfer an elevated priority
The callback to fire when the simulator responds with the asset data
Request an asset download
Asset UUID
Asset type, must be correct for the transfer to succeed
Whether to give this transfer an elevated priority
Source location of the requested asset
The callback to fire when the simulator responds with the asset data
Request an asset download
Asset UUID
Asset type, must be correct for the transfer to succeed
Whether to give this transfer an elevated priority
Source location of the requested asset
UUID of the transaction
The callback to fire when the simulator responds with the asset data
Request an asset download through the almost deprecated Xfer system
Filename of the asset to request
Whether or not to delete the asset
off the server after it is retrieved
Use large transfer packets or not
UUID of the file to request, if filename is
left empty
Asset type of vFileID
, or
AssetType.Unknown
if filename is not empty
Sets the FilePath in the request to Cache
(4) if true, otherwise Unknown (0) is used
Use UUID.Zero if you do not have the
asset ID but have all the necessary permissions
The item ID of this asset in the inventory
Use UUID.Zero if you are not requesting an
asset from an object inventory
The owner of this asset
Asset type
Whether to prioritize this asset download or not
Used to force asset data into the PendingUpload property, ie: for raw terrain uploads
An AssetUpload object containing the data to upload to the simulator
Request an asset be uploaded to the simulator
The Object containing the asset data
If True, the asset once uploaded will be stored on the simulator
in which the client was connected in addition to being stored on the asset server
The of the transfer, can be used to correlate the upload with
events being fired
Request an asset be uploaded to the simulator
The of the asset being uploaded
A byte array containing the encoded asset data
If True, the asset once uploaded will be stored on the simulator
in which the client was connected in addition to being stored on the asset server
The of the transfer, can be used to correlate the upload with
events being fired
Request an asset be uploaded to the simulator
Asset type to upload this data as
A byte array containing the encoded asset data
If True, the asset once uploaded will be stored on the simulator
in which the client was connected in addition to being stored on the asset server
The of the transfer, can be used to correlate the upload with
events being fired
Initiate an asset upload
The ID this asset will have if the
upload succeeds
Asset type to upload this data as
Raw asset data to upload
Whether to store this asset on the local
simulator or the grid-wide asset server
The tranaction id for the upload
The transaction ID of this transfer
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. Sending with value -1 combined with priority of 0 cancels an in-progress
transfer.
A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority
indicating an off-by-one error.
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
Request an image and fire a callback when the request is complete
Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished);
private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset)
{
if(state == TextureRequestState.Finished)
{
Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded",
asset.AssetID,
asset.AssetData.Length);
}
}
Request an image and use an inline anonymous method to handle the downloaded texture data
Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset)
{
if(state == TextureRequestState.Finished)
{
Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded",
asset.AssetID,
asset.AssetData.Length);
}
}
);
Request a texture, decode the texture to a bitmap image and apply it to a imagebox
Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished);
private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset)
{
if(state == TextureRequestState.Finished)
{
ManagedImage imgData;
Image bitmap;
if (state == TextureRequestState.Finished)
{
OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap);
picInsignia.Image = bitmap;
}
}
}
Overload: 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 callback to fire when the image is retrieved. The callback
will contain the result of the request and the texture asset data
Overload: 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
The callback to fire when the image is retrieved. The callback
will contain the result of the request and the texture asset data
Overload: 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
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
Cancel a texture request
The texture assets
Requests download of a mesh asset
UUID of the mesh asset
Callback when the request completes
Lets TexturePipeline class fire the progress event
The texture ID currently being downloaded
the number of bytes transferred
the total number of bytes expected
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 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
Upload data
Filename used on the simulator
Filename used by the client
UUID of the image that is in progress
Number of bytes received so far
Image size in bytes
Static pre-defined animations available to all agents
Agent with afraid expression on face
Agent aiming a bazooka (right handed)
Agent aiming a bow (left handed)
Agent aiming a hand gun (right handed)
Agent aiming a rifle (right handed)
Agent with angry expression on face
Agent hunched over (away)
Agent doing a backflip
Agent laughing while holding belly
Agent blowing a kiss
Agent with bored expression on face
Agent bowing to audience
Agent brushing himself/herself off
Agent in busy mode
Agent clapping hands
Agent doing a curtsey bow
Agent crouching
Agent crouching while walking
Agent crying
Agent unanimated with arms out (e.g. setting appearance)
Agent re-animated after set appearance finished
Agent dancing
Agent dancing
Agent dancing
Agent dancing
Agent dancing
Agent dancing
Agent dancing
Agent dancing
Agent on ground unanimated
Agent boozing it up
Agent with embarassed expression on face
Agent with afraid expression on face
Agent with angry expression on face
Agent with bored expression on face
Agent crying
Agent showing disdain (dislike) for something
Agent with embarassed expression on face
Agent with frowning expression on face
Agent with kissy face
Agent expressing laughgter
Agent with open mouth
Agent with repulsed expression on face
Agent expressing sadness
Agent shrugging shoulders
Agent with a smile
Agent expressing surprise
Agent sticking tongue out
Agent with big toothy smile
Agent winking
Agent expressing worry
Agent falling down
Agent walking (feminine version)
Agent wagging finger (disapproval)
I'm not sure I want to know
Agent in superman position
Agent in superman position
Agent greeting another
Agent holding bazooka (right handed)
Agent holding a bow (left handed)
Agent holding a handgun (right handed)
Agent holding a rifle (right handed)
Agent throwing an object (right handed)
Agent in static hover
Agent hovering downward
Agent hovering upward
Agent being impatient
Agent jumping
Agent jumping with fervor
Agent point to lips then rear end
Agent landing from jump, finished flight, etc
Agent laughing
Agent landing from jump, finished flight, etc
Agent sitting on a motorcycle
Agent moving head side to side
Agent moving head side to side with unhappy expression
Agent taunting another
Agent giving peace sign
Agent pointing at self
Agent pointing at another
Agent preparing for jump (bending knees)
Agent punching with left hand
Agent punching with right hand
Agent acting repulsed
Agent trying to be Chuck Norris
Rocks, Paper, Scissors 1, 2, 3
Agent with hand flat over other hand
Agent with fist over other hand
Agent with two fingers spread over other hand
Agent running
Agent appearing sad
Agent saluting
Agent shooting bow (left handed)
Agent cupping mouth as if shouting
Agent shrugging shoulders
Agent in sit position
Agent in sit position (feminine)
Agent in sit position (generic)
Agent sitting on ground
Agent sitting on ground
Agent sleeping on side
Agent smoking
Agent inhaling smoke
Agent taking a picture
Agent standing
Agent standing up
Agent standing
Agent standing
Agent standing
Agent standing
Agent stretching
Agent in stride (fast walk)
Agent surfing
Agent acting surprised
Agent striking with a sword
Agent talking (lips moving)
Agent throwing a tantrum
Agent throwing an object (right handed)
Agent trying on a shirt
Agent turning to the left
Agent turning to the right
Agent typing
Agent walking
Agent whispering
Agent whispering with fingers in mouth
Agent winking
Agent winking
Agent worried
Agent nodding yes
Agent nodding yes with happy face
Agent floating with legs and arms crossed
A dictionary containing all pre-defined animations
A dictionary containing the pre-defined animations,
where the key is the animations ID, and the value is a string
containing a name to identify the purpose of the animation
Level of Detail mesh
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
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
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
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
Holds group information for Avatars such as those you might find in a profile
true of Avatar accepts group notices
Groups Key
Texture Key for groups insignia
Name of the group
Powers avatar has in the group
Avatars Currently selected title
true of Avatar has chosen to list this in their profile
Contains an animation currently being played by an agent
The ID of the animation asset
A number to indicate start order of currently playing animations
On Linden Grids this number is unique per region, with OpenSim it is per client
Holds group information on an individual profile pick
Retrieve friend status notifications, and retrieve avatar names and
profiles
The event subscribers, null of no subscribers
Raises the AvatarAnimation Event
An AvatarAnimationEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the AvatarAppearance Event
A AvatarAppearanceEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the UUIDNameReply Event
A UUIDNameReplyEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the AvatarInterestsReply Event
A AvatarInterestsReplyEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the AvatarPropertiesReply Event
A AvatarPropertiesReplyEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the AvatarGroupsReply Event
A AvatarGroupsReplyEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the AvatarPickerReply Event
A AvatarPickerReplyEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the ViewerEffectPointAt Event
A ViewerEffectPointAtEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the ViewerEffectLookAt Event
A ViewerEffectLookAtEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the ViewerEffect Event
A ViewerEffectEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the AvatarPicksReply Event
A AvatarPicksReplyEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the PickInfoReply Event
A PickInfoReplyEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the AvatarClassifiedReply Event
A AvatarClassifiedReplyEventArgs object containing
the data sent from the simulator
Thread sync lock object
The event subscribers, null of no subscribers
Raises the ClassifiedInfoReply Event
A ClassifiedInfoReplyEventArgs object containing
the data sent from the simulator
Thread sync lock object
Represents other avatars
Tracks the specified avatar on your map
Avatar ID to track
Request a single avatar name
The avatar key to retrieve a name for
Request a list of avatar names
The avatar keys to retrieve names for
Start a request for Avatar Properties
Search for an avatar (first name, last name)
The name to search for
An ID to associate with this query
Start a request for Avatar Picks
UUID of the avatar
Start a request for Avatar Classifieds
UUID of the avatar
Start a request for details of a specific profile pick
UUID of the avatar
UUID of the profile pick
Start a request for details of a specific profile classified
UUID of the avatar
UUID of the profile classified
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
Crossed region handler for message that comes across the EventQueue. Sent to an agent
when the agent crosses a sim border into a new region.
The message key
the IMessage object containing the deserialized data sent from the simulator
The which originated the packet
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
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
Provides data for the event
The event occurs when the simulator sends
the animation playlist for an agent
The following code example uses the and
properties to display the animation playlist of an avatar on the window.
// subscribe to the event
Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation;
private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e)
{
// create a dictionary of "known" animations from the Animations class using System.Reflection
Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>();
Type type = typeof(Animations);
System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
foreach (System.Reflection.FieldInfo field in fields)
{
systemAnimations.Add((UUID)field.GetValue(type), field.Name);
}
// find out which animations being played are known animations and which are assets
foreach (Animation animation in e.Animations)
{
if (systemAnimations.ContainsKey(animation.AnimationID))
{
Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID,
systemAnimations[animation.AnimationID], animation.AnimationSequence);
}
else
{
Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID,
animation.AnimationID, animation.AnimationSequence);
}
}
}
Construct a new instance of the AvatarAnimationEventArgs class
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
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 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
Get the ID of the agent
true if the agent is a trial account
Get the default agent texture
Get the agents appearance layer textures
Get the for the agent
Represents the interests from the profile of an agent
Get the ID of the agent
The properties of an agent
Get the ID of the agent
Get the ID of the agent
Get the ID of the agent
Get the ID of the avatar