API Reference - .NET

This API reference is still in early developmental stages. As such, some information may be missing or out of date. Feel free to refer to this documentation as a low-level index of Engine classes and functions. However, please reference the latest code for a complete understanding of functionality and performance.

CAVRNUS TYPES

CavrnusSpaceConnection

This is the most important object in Cavrnus. It represents a user’s connection to a Space. As such it is used to access Properties, hook Users, etc.

CavrnusAuthentication

This contains the Token received from the server upon a successful login. You can only ever have one active login at a time. At the moment, outside of just existing, this class doesn’t really “do” anything.

CavrnusSpaceInfo

This is the live info about a given Space. It can be used to create a Spaces List, like the one provided in Cavrnus by default.

CavrnusUser

This represents an individual user, and can be used to fetch their properties at runtime.

CavrnusLivePropertyUpdate

This is used to post Transient Updates.

CavrnusSpawnedObject

This represents an object that was spawned in a synchronized way at runtime using Cavrnus. It is used to manage that objects properties and, if desired, to delete it.

CAVRNUS FUNCTIONS

Core

InitializeCavrnus

Sets up all static helpers and systems required for Cavrnus to run

Authentication

AuthenticateWithPassword

Gets user credentials, allowing you to join valid spaces and make other requests

AuthenticateAsGuest

Creates a guest user account with a given name and joins as that user

Space Functions

FetchJoinableSpaces

Gets a list of all current spaces which can be joined

BindJoinableSpaces

Triggers when spaces become available to you that you can join, or when their metadata changes

IsConnectedToAnySpace

Checks if there is any active connection to a space

JoinSpace

Connects to a Space; joining voice & video and recieving/processing the journal

ExitSpace

Disconnects you from a given space.  You will stop recieving property updates, and lose user & voice connections

Color Property Functions

DefineColorPropertyDefaultValue

Defines what the application will show if a new prop value has not been assigned

GetColorPropertyValue

Gets the current property value, whether the default or the one currently set

BindColorPropertyValue

Triggers an Event when the property changes, plus an inital event when first bound

BeginTransientColorPropertyUpdate

Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish().

PostColorPropertyUpdate

Updates the property value at the given path and synchronizes the data to the server

Bool Property Functions

DefineBoolPropertyDefaultValue

Defines what the application will show if a new prop value has not been assigned

GetBoolPropertyValue

Gets the current property value, whether the default or the one currently set

BindBooleanPropertyValue

Triggers an Event when the property changes, plus an inital event when first bound

BeginTransientBoolPropertyUpdate

Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish().

PostBoolPropertyUpdate

Updates the property value at the given path and synchronizes the data to the server

Float Property Functions

DefineFloatPropertyDefaultValue

Defines what the application will show if a new prop value has not been assigned

GetFloatPropertyValue

Gets the current property value, whether the default or the one currently set

BindFloatPropertyValue

Triggers an Event when the property changes, plus an inital event when first bound

BeginTransientFloatPropertyUpdate

Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish().

PostFloatPropertyUpdate

Updates the property value at the given path and synchronizes the data to the server

String Property Functions

DefineStringPropertyDefaultValue

Defines what the application will show if a new prop value has not been assigned

GetStringPropertyValue

Gets the current property value, whether the default or the one currently set

BindStringPropertyValue

Triggers an Event when the property changes, plus an inital event when first bound

BeginTransientStringPropertyUpdate

Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish().

PostStringPropertyUpdate

Updates the property value at the given path and synchronizes the data to the server

Vector Property Functions

DefineVectorPropertyDefaultValue

Defines what the application will show if a new prop value has not been assigned

GetVectorPropertyValue

Gets the current property value, whether the default or the one currently set

BindVectorPropertyValue

Triggers an Event when the property changes, plus an inital event when first bound

BeginTransientVectorPropertyUpdate

Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish().

PostVectorPropertyUpdate

Updates the property value at the given path and synchronizes the data to the server

Transform Property Functions

DefineTransformPropertyDefaultValue

Defines what the application will show if a new prop value has not been assigned

GetTransformPropertyValue

Gets the current property value, whether the default or the one currently set

BindTransformPropertyValue

Triggers an Event when the property changes, plus an inital event when first bound

BeginTransientTransformPropertyUpdate

Begins a temporary property update. This can be updated with UpdateWithNewData() This will show for everyone in the space, but will not be saved unless you call Finish().

PostTransformPropertyUpdate

Updates the property value at the given path and synchronizes the data to the server

User Property Functions

GetUserSpeaking

Synchronously returns a boolean denoting if the user is speaking.

BindUserSpeaking

Binds an event to throw when the user starts/stops speaking.

GetUserMuted

Synchronously returns a boolean denoting if the user is muted.

BindUserMuted

Binds an event to throw when the user mutes/un-mutes.

GetUserStreaming

Synchronously returns a boolean denoting if the user is sharing a camera/video stream.

BindUserStreaming

Binds an event to throw when the user starts/stops sharing a camera/video stream.

GetUserName

Synchronously returns a string of the user’s name.

BindUserName

Binds an event to throw when the user’s name changes.

BindProfilePic

Binds an event to throw when the user’s profile pic changes.

Permissions

BindGlobalPolicy

Binds an event to throw when a policy is/isn't allowed for the user (returns false until policies are fetched & resolved)

BindSpacePolicy

Binds an event to throw when a policy is/isn't allowed for the user in a given space (returns false until policies are fetched & resolved)

Spawned Objects

SpawnObject

Instantiates the given object with no set properties (note you will need to pull the Container ID out of the Spawned Object and assign property values to it).

DestroyObject

Destroys the given object.

Space Users

AwaitLocalUser

Throws an event when the local CavrnusUser arrives in the space

GetCurrentSpaceUsers

Gives the list of current users in a space

BindSpaceUsers

Triggers whenever users join or leave a given space