You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

14953 lines
738 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>Duality</name>
</assembly>
<members>
<member name="T:Duality.Audio.AudioDataElementType">
<summary>
Describes the type of an audio samples individual elements (L, R, ...)
</summary>
</member>
<member name="T:Duality.Audio.AudioDataLayout">
<summary>
Describes the layout and purpose of audio data values.
</summary>
</member>
<member name="T:Duality.Audio.SoundType">
<summary>
Describes the type of a sound. This is used for determining which specific
volume settings affect each sound.
</summary>
</member>
<member name="F:Duality.Audio.SoundType.World">
<summary>
A sound effect taking place in the game world.
</summary>
</member>
<member name="F:Duality.Audio.SoundType.UserInterface">
<summary>
A User Interface sound effect.
</summary>
</member>
<member name="F:Duality.Audio.SoundType.Music">
<summary>
A sound that is considered being game music.
</summary>
</member>
<member name="F:Duality.Audio.SoundType.Speech">
<summary>
A sound that is considered being spoken language.
</summary>
</member>
<member name="M:Duality.Backend.INativeAudioSource.Play(Duality.Backend.INativeAudioBuffer)">
<summary>
Plays the audio source using a single, static buffer.
</summary>
</member>
<member name="M:Duality.Backend.INativeAudioSource.Play(Duality.Backend.IAudioStreamProvider)">
<summary>
Plays the audio source using a streaming input.
</summary>
</member>
<member name="M:Duality.Backend.INativeAudioSource.Stop">
<summary>
Stops the audio source, if it was playing.
</summary>
</member>
<member name="M:Duality.Backend.INativeAudioSource.Reset">
<summary>
Resets the entire state of the source, so it can be reused as if it was just created.
</summary>
</member>
<member name="M:Duality.Backend.INativeAudioSource.ApplyState(Duality.Backend.AudioSourceState@)">
<summary>
Updates the audio sources settings according to the specified data struct. It may modify
the struct in order to reflect the actual settings, as supported by the backend.
</summary>
<param name="state"></param>
</member>
<member name="P:Duality.Backend.INativeAudioSource.IsInitial">
<summary>
[GET] Whether the audio source is in its initial state, i.e. ready to be used by a new sound instance.
</summary>
</member>
<member name="P:Duality.Backend.INativeAudioSource.IsFinished">
<summary>
[GET] Whether the audio source is completely finished with playing audio.
</summary>
</member>
<member name="T:Duality.IO.IFileSystem">
<summary>
A file system allows to perform read / write operations on a virtual or actual storage device.
All paths are expected to match <see cref="T:Duality.IO.PathOp">Duality's path format</see>.
</summary>
</member>
<member name="M:Duality.IO.IFileSystem.GetFullPath(System.String)">
<summary>
Returns a rooted version of the specified path, which uniquely identifies the referenced file system entity.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.IFileSystem.GetFiles(System.String,System.Boolean)">
<summary>
Enumerates all files that are located within the specified path.
</summary>
<param name="path"></param>
<param name="recursive">If true, the specified path will be searched recursively and yield all descendant file paths.</param>
<returns></returns>
</member>
<member name="M:Duality.IO.IFileSystem.GetDirectories(System.String,System.Boolean)">
<summary>
Enumerates all directories that are located within the specified path.
</summary>
<param name="path"></param>
<param name="recursive">If true, the specified path will be searched recursively and yield all descendant directory paths.</param>
<returns></returns>
</member>
<member name="M:Duality.IO.IFileSystem.FileExists(System.String)">
<summary>
Returns whether the specified path refers to an existing file.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.IFileSystem.DirectoryExists(System.String)">
<summary>
Returns whether the specified path refers to an existing directory.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.IFileSystem.CreateFile(System.String)">
<summary>
Creates or overwrites a file at the specified path and returns a <see cref="T:System.IO.Stream"/> to it.
The returned stream has implicit read / write access.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.IFileSystem.OpenFile(System.String,Duality.IO.FileAccessMode)">
<summary>
Opens an existing file at the specified path and returns a <see cref="T:System.IO.Stream"/> to it.
</summary>
<param name="path"></param>
<param name="mode"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.IFileSystem.DeleteFile(System.String)">
<summary>
Deletes the file that is referred to by the specified path.
</summary>
<param name="path"></param>
</member>
<member name="M:Duality.IO.IFileSystem.CreateDirectory(System.String)">
<summary>
Creates a directory tree matching the specified directory path.
</summary>
<param name="path"></param>
</member>
<member name="M:Duality.IO.IFileSystem.DeleteDirectory(System.String)">
<summary>
Deletes the directory that is referred to by the specified path.
</summary>
<param name="path"></param>
</member>
<member name="M:Duality.Backend.ISystemBackend.GetNamedPath(Duality.IO.NamedDirectory)">
<summary>
Retrieves the path of a named / special directory.
</summary>
<param name="dir"></param>
<returns></returns>
</member>
<member name="P:Duality.Backend.ISystemBackend.FileSystem">
<summary>
[GET] An interface that provides file system access on the current platform.
</summary>
</member>
<member name="M:Duality.Backend.INativeShaderProgram.LoadProgram(Duality.Backend.INativeShaderPart,Duality.Backend.INativeShaderPart)">
<summary>
Loads the specified shader parts and compiles them into a single shader program.
</summary>
<param name="vertex"></param>
<param name="fragment"></param>
</member>
<member name="M:Duality.Backend.INativeShaderProgram.GetFields">
<summary>
Retrieves reflection data on the shaders fields.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Backend.INativeShaderPart.LoadSource(System.String,Duality.Resources.ShaderType)">
<summary>
Loads the specified source code and prepares the shader part for being used.
</summary>
<param name="sourceCode"></param>
<param name="type"></param>
</member>
<member name="M:Duality.Backend.INativeRenderTarget.Setup(System.Collections.Generic.IReadOnlyList{Duality.Backend.INativeTexture},Duality.AAQuality)">
<summary>
Initializes the rendering target and configures it. This method needs to be called before any
oprations are performed using the target.
</summary>
<param name="targets"></param>
<param name="multisample"></param>
</member>
<member name="M:Duality.Backend.INativeRenderTarget.GetData``1(``0[],Duality.Drawing.ColorDataLayout,Duality.Drawing.ColorDataElementType,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Retrieves the rendering targets pixel data from video memory in the Rgba8 format.
As a storage array type, either byte or <see cref="T:Duality.Drawing.ColorRgba"/> is recommended.
</summary>
<typeparam name="T"></typeparam>
<param name="target">The target buffer to store transferred pixel data in.</param>
<param name="dataLayout">The desired color layout of the specified buffer.</param>
<param name="dataElementType">The desired color element type of the specified buffer.</param>
<param name="targetIndex">The target texture lists index to read from.</param>
<param name="x">The x position of the rectangular area to read.</param>
<param name="y">The y position of the rectangular area to read.</param>
<param name="width">The width of the rectangular area to read. Defaults to the rendering targets width.</param>
<param name="height">The height of the rectangular area to read. Defaults to the rendering targets height.</param>
</member>
<member name="M:Duality.Backend.INativeTexture.SetupEmpty(Duality.Drawing.TexturePixelFormat,System.Int32,System.Int32,Duality.Drawing.TextureMinFilter,Duality.Drawing.TextureMagFilter,Duality.Drawing.TextureWrapMode,Duality.Drawing.TextureWrapMode,System.Int32,System.Boolean)">
<summary>
Initializes the texture without data and configures it.
</summary>
<param name="format"></param>
<param name="width"></param>
<param name="height"></param>
<param name="minFilter"></param>
<param name="magFilter"></param>
<param name="wrapX"></param>
<param name="wrapY"></param>
<param name="anisoLevel"></param>
<param name="mipmaps"></param>
</member>
<member name="M:Duality.Backend.INativeTexture.LoadData``1(Duality.Drawing.TexturePixelFormat,System.Int32,System.Int32,``0[],Duality.Drawing.ColorDataLayout,Duality.Drawing.ColorDataElementType)">
<summary>
Uploads the specified pixel data in RGBA format to video memory. A call to <see cref="M:Duality.Backend.INativeTexture.SetupEmpty(Duality.Drawing.TexturePixelFormat,System.Int32,System.Int32,Duality.Drawing.TextureMinFilter,Duality.Drawing.TextureMagFilter,Duality.Drawing.TextureWrapMode,Duality.Drawing.TextureWrapMode,System.Int32,System.Boolean)"/>
is to be considered required for this.
</summary>
<param name="format">The textures internal format.</param>
<param name="width"></param>
<param name="height"></param>
<param name="data">The block of pixel data to transfer.</param>
<param name="dataLayout">The color layout of the specified data block.</param>
<param name="dataElementType">The color element type of the specified data block.</param>
</member>
<member name="M:Duality.Backend.INativeTexture.GetData``1(``0[],Duality.Drawing.ColorDataLayout,Duality.Drawing.ColorDataElementType)">
<summary>
Retrieves the textures pixel data from video memory in the Rgba8 format.
As a storage array type, either byte or <see cref="T:Duality.Drawing.ColorRgba"/> is recommended.
</summary>
<typeparam name="T"></typeparam>
<param name="target">The buffer to store pixel values into.</param>
<param name="dataLayout">The desired color layout of the specified buffer.</param>
<param name="dataElementType">The desired color element type of the specified buffer.</param>
</member>
<member name="M:Duality.Backend.IGraphicsBackend.GetOutputPixelData``1(``0[],Duality.Drawing.ColorDataLayout,Duality.Drawing.ColorDataElementType,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Retrieves the main rendering buffer's pixel data from video memory in the Rgba8 format.
As a storage array type, either byte or <see cref="T:Duality.Drawing.ColorRgba"/> is recommended.
</summary>
<typeparam name="T"></typeparam>
<param name="target">The target buffer to store transferred pixel data in.</param>
<param name="dataLayout">The desired color layout of the specified buffer.</param>
<param name="dataElementType">The desired color element type of the specified buffer.</param>
<param name="x">The x position of the rectangular area to read.</param>
<param name="y">The y position of the rectangular area to read.</param>
<param name="width">The width of the rectangular area to read. Defaults to the rendering targets width.</param>
<param name="height">The height of the rectangular area to read. Defaults to the rendering targets height.</param>
</member>
<member name="T:Duality.Backend.AssemblyLoadedEventArgs">
<summary>
Event arguments for notifications about the runtime loading an <see cref="T:System.Reflection.Assembly"/>.
</summary>
</member>
<member name="P:Duality.Backend.AssemblyLoadedEventArgs.LoadedAssembly">
<summary>
[GET] The <see cref="T:System.Reflection.Assembly"/> that was loaded by the runtime.
</summary>
</member>
<member name="T:Duality.Backend.AssemblyResolveEventArgs">
<summary>
Event arguments for handling an <see cref="T:System.Reflection.Assembly"/> resolve operation.
</summary>
</member>
<member name="M:Duality.Backend.AssemblyResolveEventArgs.Resolve(System.Reflection.Assembly)">
<summary>
Resolves the queried <see cref="P:Duality.Backend.AssemblyResolveEventArgs.AssemblyName"/> with the specified <see cref="T:System.Reflection.Assembly"/>.
</summary>
<param name="assembly"></param>
</member>
<member name="P:Duality.Backend.AssemblyResolveEventArgs.FullAssemblyName">
<summary>
[GET] The full name of the <see cref="T:System.Reflection.Assembly"/> to resolve.
</summary>
</member>
<member name="P:Duality.Backend.AssemblyResolveEventArgs.AssemblyName">
<summary>
[GET] The short name of the <see cref="T:System.Reflection.Assembly"/> to resolve.
</summary>
</member>
<member name="P:Duality.Backend.AssemblyResolveEventArgs.ResolvedAssembly">
<summary>
[GET] The <see cref="T:System.Reflection.Assembly"/> to which the name was resolved.
</summary>
</member>
<member name="P:Duality.Backend.AssemblyResolveEventArgs.IsResolved">
<summary>
[GET] Whether the <see cref="T:System.Reflection.Assembly"/> was resolved successfully.
</summary>
</member>
<member name="T:Duality.Cloning.CloneSurrogate`1">
<summary>
Default base class for <see cref="T:Duality.Cloning.ICloneSurrogate">Serialization Surrogates</see>. It implements both
<see cref="T:Duality.Cloning.ICloneSurrogate"/> and <see cref="T:Duality.Cloning.ICloneExplicit"/>, thus being able to fully perform de/serialization
of a designated object type.
</summary>
<typeparam name="T">
The base <see cref="T:System.Type"/> of objects this surrogate can replace.
</typeparam>
</member>
<member name="T:Duality.Cloning.ICloneSurrogate">
<summary>
Clones an object instead of letting it clone itsself or using a Reflection-driven approach.
</summary>
<seealso cref="T:Duality.Cloning.CloneSurrogate`1"/>
</member>
<member name="M:Duality.Cloning.ICloneSurrogate.MatchesType(System.Reflection.TypeInfo)">
<summary>
Checks whether this surrogate is able to clone the specified object type.
</summary>
<param name="t">The <see cref="T:System.Reflection.TypeInfo"/> of the object in question.</param>
<returns>True, if this surrogate is able to clone such object, false if not.</returns>
</member>
<member name="M:Duality.Cloning.ICloneSurrogate.SetupCloneTargets(System.Object,System.Object,System.Boolean@,Duality.Cloning.ICloneTargetSetup)">
<summary>
Performs the cloning setup step, in which all reference-type instances from the target object
graph are generated.
The purpose of this method is to help the cloning system walk the entire (relevant) object graph
in order to determine which objects are referenced and which are owned / deep-cloned, as well as
creating instances or re-using existing instances from the target graph.
Walking the specified object's part of the source object graph and mapping instances to their target object
graph correspondents is done by using the <see cref="T:Duality.Cloning.ICloneTargetSetup"/> interface methods for
handling object instances and struct values.
</summary>
<param name="source">
The object instance from the source graph that is being investigated right now.
</param>
<param name="target">
The object instance from the target graph that corresponds to the object's instance in the source graph.
When invoking this method, the target object will either have existed already, or been created by the
cloning system.
</param>
<param name="requireLateSetup">
Specified whether this kind of object requires a late setup step, allowing to create its instance only
the entire other target object graph has already been created.
</param>
<param name="setup">The setup environment for the cloning operation.</param>
</member>
<member name="M:Duality.Cloning.ICloneSurrogate.LateSetup(System.Object,System.Object@,Duality.Cloning.ICloneOperation)">
<summary>
Performs a late setup for the source object. This is similar to the <see cref="M:Duality.Cloning.ICloneSurrogate.SetupCloneTargets(System.Object,System.Object,System.Boolean@,Duality.Cloning.ICloneTargetSetup)"/> step,
except that all other objects from the target graph have already been created and a full source-target
mapping is available.
A late-setup step is usually not required and should be avoided as long as it's not a necessity.
</summary>
<param name="source">
The object instance from the source graph that is being set up right now.
</param>
<param name="target">
The object instance from the target graph that corresponds to the object's instance in the source graph.
In the late-setup step, there already is a preliminary target object instance, but it can be replaced
by re-assigning the target reference.
</param>
<param name="operation"></param>
</member>
<member name="M:Duality.Cloning.ICloneSurrogate.CopyDataTo(System.Object,System.Object,Duality.Cloning.ICloneOperation)">
<summary>
Performs the cloning copy step, in which all data is copied from source instances to
target instances. No new object instances should be created in this step, as object creation
should be part of the setup step instead.
</summary>
<param name="source">
The object instance from the source graph that is being copied.
</param>
<param name="target">
The object instance from the target graph that corresponds to this object's instance in the source graph.
When invoking this method, the target object will either have existed already, or been created by the
cloning system.
</param>
<param name="operation"></param>
</member>
<member name="P:Duality.Cloning.ICloneSurrogate.Priority">
<summary>
[GET] If more than one registered ISurrogate is capable of cloning a given object type, the one
with the highest priority is picked.
</summary>
</member>
<member name="P:Duality.Cloning.ICloneSurrogate.RequireMerge">
<summary>
[GET] Specifies whether the surrogates client object requires a manual merge between source and target
objects, e.g. whether its manual object handling methods will be called even when the source object is null.
</summary>
</member>
<member name="M:Duality.Cloning.CloneSurrogate`1.MatchesType(System.Reflection.TypeInfo)">
<summary>
Checks whether this surrogate is able to clone the specified object type.
</summary>
<param name="t">The <see cref="T:System.Reflection.TypeInfo"/> of the object in question.</param>
<returns>True, if this surrogate is able to clone such object, false if not.</returns>
</member>
<member name="M:Duality.Cloning.CloneSurrogate`1.CreateTargetObject(`0,`0@,Duality.Cloning.ICloneTargetSetup)">
<summary>
In case there is no pre-existing correspondent object in the target graph, this method
is invoked in order to create one based on the source object. The default implementation
creates a target object of matching type using <see cref="M:Duality.ObjectCreator.CreateInstanceOf(System.Reflection.TypeInfo)"/>.
</summary>
<param name="source"></param>
<param name="target"></param>
<param name="setup"></param>
</member>
<member name="M:Duality.Cloning.CloneSurrogate`1.CreateTargetObjectLate(`0,`0@,Duality.Cloning.ICloneOperation)">
<summary>
If no object was created in <see cref="M:Duality.Cloning.CloneSurrogate`1.CreateTargetObject(`0,`0@,Duality.Cloning.ICloneTargetSetup)"/>, the surrogate implementation
will assume a late-setup step for this object and invoke this method as soon as the entire
target graph has been created. Otherwise, this method matches <see cref="M:Duality.Cloning.CloneSurrogate`1.CreateTargetObject(`0,`0@,Duality.Cloning.ICloneTargetSetup)"/>-
</summary>
<param name="source"></param>
<param name="target"></param>
<param name="operation"></param>
</member>
<member name="M:Duality.Cloning.CloneSurrogate`1.SetupCloneTargets(`0,`0,Duality.Cloning.ICloneTargetSetup)">
<inheritdoc cref="M:Duality.Cloning.ICloneSurrogate.SetupCloneTargets(System.Object,System.Object,System.Boolean@,Duality.Cloning.ICloneTargetSetup)"/>
</member>
<member name="M:Duality.Cloning.CloneSurrogate`1.CopyDataTo(`0,`0,Duality.Cloning.ICloneOperation)">
<inheritdoc cref="M:Duality.Cloning.ICloneSurrogate.CopyDataTo(System.Object,System.Object,Duality.Cloning.ICloneOperation)"/>
</member>
<member name="P:Duality.Cloning.CloneSurrogate`1.Priority">
<summary>
[GET] If more than one registered ISurrogate is capable of cloning a given object type, the one
with the highest priority is picked.
</summary>
</member>
<member name="P:Duality.Cloning.CloneSurrogate`1.IsImmutableTarget">
<summary>
[GET] Returns whether the surrogates client object is considered to be immutable, e.g. whether
it will always be required to create a target object, even if an existing one is provided by the
target object graph.
</summary>
</member>
<member name="P:Duality.Cloning.CloneSurrogate`1.RequireMerge">
<summary>
[GET] Specifies whether the surrogates client object requires a manual merge between source and target
objects, e.g. whether its manual object handling methods will be called even when the source object is null.
</summary>
</member>
<member name="T:Duality.ComponentExecutionOrder">
<summary>
Retrieves, processes and caches type information about the order in which initialization,
shutdown and update of different <see cref="T:Duality.Component"/> types are executed.
</summary>
</member>
<member name="M:Duality.ComponentExecutionOrder.SortTypes(System.Collections.Generic.IList{System.Type},System.Boolean)">
<summary>
Sorts a list of <see cref="T:Duality.Component"/> types according to their execution order.
</summary>
<param name="types"></param>
<param name="reverse"></param>
</member>
<member name="M:Duality.ComponentExecutionOrder.SortTypedItems``1(System.Collections.Generic.IList{``0},System.Func{``0,System.Type},System.Boolean)">
<summary>
Sorts a list of items according to the execution order of each items
associated <see cref="T:Duality.Component"/> type.
</summary>
<typeparam name="T"></typeparam>
<param name="items"></param>
<param name="typeOfItem"></param>
<param name="reverse"></param>
</member>
<member name="M:Duality.ComponentExecutionOrder.GetSortIndex(System.Type)">
<summary>
Retrieves the sorting index of the specified <see cref="T:Duality.Component"/> type.
</summary>
<param name="componentType"></param>
<returns></returns>
</member>
<member name="M:Duality.ComponentExecutionOrder.ClearTypeCache">
<summary>
Clears the internal type data that this class has been storing internally.
</summary>
</member>
<member name="M:Duality.ComponentExecutionOrder.GatherComponentTypes(System.Collections.Generic.HashSet{System.Type})">
<summary>
Gathers all currently available <see cref="T:Duality.Component"/> types and stores them inside
the provided collection. This will iterate over all relevant core and core plugin types
that are currently known, but since users can load plugins at any time, this list
should never assumed to be final.
</summary>
<param name="typeSet"></param>
</member>
<member name="M:Duality.ComponentExecutionOrder.GatherConstraints(System.Collections.Generic.IEnumerable{System.Type})">
<summary>
Generates a list of normalized execution order constraints from a set of <see cref="T:Duality.Component"/>
types.
</summary>
<param name="types"></param>
<returns></returns>
</member>
<member name="M:Duality.ComponentExecutionOrder.CreateConstraintGraph(System.Collections.Generic.IEnumerable{System.Type},System.Collections.Generic.List{Duality.ComponentExecutionOrder.OrderConstraint})">
<summary>
Generates a graph-like data structure that organizes a list of execution order constraints
in a way that allows to swiftly access them per-type. There's room for optimization, but
since the number of <see cref="T:Duality.Component"/> types will likely stay below a few thousands
this is probably not necessary and can be skipped for convenience and maintenance reasons.
</summary>
<param name="constraints"></param>
<returns></returns>
</member>
<member name="M:Duality.ComponentExecutionOrder.ResolveConstraintLoops(System.Collections.Generic.Dictionary{System.Type,System.Collections.Generic.List{Duality.ComponentExecutionOrder.OrderConstraint}})">
<summary>
Clears the specified constraint graph of all loops.
</summary>
<param name="graph"></param>
</member>
<member name="M:Duality.ComponentExecutionOrder.FindConstraintLoop(System.Collections.Generic.Dictionary{System.Type,System.Collections.Generic.List{Duality.ComponentExecutionOrder.OrderConstraint}})">
<summary>
Searches for constraint loops in the specified constraint graph and returns the first one.
The result is not necessarily the smallest loop. Returns null if no loop was found.
</summary>
<param name="graph"></param>
<returns></returns>
</member>
<member name="M:Duality.ComponentExecutionOrder.ScoreGraphNodes(System.Collections.Generic.Dictionary{System.Type,System.Collections.Generic.List{Duality.ComponentExecutionOrder.OrderConstraint}},System.Collections.Generic.IEnumerable{System.Type})">
<summary>
Assigns every node in the constraint graph a score that corresponds to its absolute position
in the desired execution order. Score collisions are possible but unlikely.
</summary>
<param name="graph"></param>
<returns></returns>
</member>
<member name="M:Duality.ComponentExecutionOrder.ExtractSortIndices(System.Collections.Generic.Dictionary{System.Type,System.Int32})">
<summary>
Extracts a unique sorting index for each type in a previously scored constraint graph.
</summary>
<param name="graphScores"></param>
<returns></returns>
</member>
<member name="T:Duality.ComponentRequirementMap">
<summary>
Retrieves, processes and caches type information about how different <see cref="T:Duality.Component"/>
types are interconnected using the <see cref="T:Duality.RequiredComponentAttribute"/>.
</summary>
</member>
<member name="M:Duality.ComponentRequirementMap.IsRequired(System.Type,System.Type)">
<summary>
Returns whether the first <see cref="T:Duality.Component"/> requires the second one.
In cases where a requirement can be satisfied by multiple different <see cref="T:Duality.Component"/>
types, this method will return true for all of them.
</summary>
<param name="componentType"></param>
<param name="requiredType"></param>
<returns></returns>
</member>
<member name="M:Duality.ComponentRequirementMap.IsRequirementMet(Duality.GameObject,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
<summary>
Returns whether the <see cref="T:Duality.Component"/> requirements for a given <see cref="T:Duality.Component"/> type are met on
the specified <see cref="T:Duality.GameObject"/>, and whether they would be met if a specified set <see cref="T:Duality.Component"/>
types would be added prior.
</summary>
<param name="targetObj"></param>
<param name="targetComponentType"></param>
<param name="whenAddingThose"></param>
<returns></returns>
</member>
<member name="M:Duality.ComponentRequirementMap.GetRequirements(System.Type)">
<summary>
Enumerates all requirements of the specified <see cref="T:Duality.Component"/> type.
These may include abstract classes or interface definitions.
</summary>
<param name="componentType"></param>
<returns></returns>
</member>
<member name="M:Duality.ComponentRequirementMap.GetRequirementsToCreate(Duality.GameObject,System.Type)">
<summary>
Given the specified target <see cref="T:Duality.GameObject"/> and <see cref="T:Duality.Component"/> type,
this method enumerates all <see cref="T:Duality.Component"/> types that will have to be created
on the target object in order to satisfy its requirements. The result will be sorted
in order of creation.
</summary>
<param name="targetObj"></param>
<param name="targetComponentType"></param>
<returns></returns>
</member>
<member name="M:Duality.ComponentRequirementMap.ClearTypeCache">
<summary>
Clears the internal type data that this map has been storing internally.
</summary>
</member>
<member name="T:Duality.ExecutionOrderAttribute">
<summary>
This attribute allows the decorated <see cref="T:Duality.Component"/> class to restrict its
relative position in an execution order that involves multiple <see cref="T:Duality.Component"/>
types. Typical examples are update, initialization or (reversed) shutdown order.
</summary>
</member>
<member name="P:Duality.ExecutionOrderAttribute.Anchor">
<summary>
[GET] The class relative to which this class is placed in execution order.
</summary>
</member>
<member name="P:Duality.ExecutionOrderAttribute.Relation">
<summary>
[GET] When this class will be executed relative to the one that is referred in <see cref="P:Duality.ExecutionOrderAttribute.Anchor"/>.
</summary>
</member>
<member name="T:Duality.RequiredComponentAttribute">
<summary>
This attribute indicates a <see cref="T:Duality.Component">Components</see> requirement for another Component
of a specific Type, that is attached to the same <see cref="T:Duality.GameObject"/>.
</summary>
</member>
<member name="P:Duality.RequiredComponentAttribute.RequiredComponentType">
<summary>
The component type that is required by this component.
</summary>
</member>
<member name="P:Duality.RequiredComponentAttribute.CreateDefaultType">
<summary>
The type that will be instantiated when automatically creating dependency components
for this component. Defaults to <see cref="P:Duality.RequiredComponentAttribute.RequiredComponentType"/>.
</summary>
</member>
<member name="T:Duality.Components.Physics.ChainShapeInfo">
<summary>
Describes a double-sided edge chain in a <see cref="T:Duality.Components.Physics.RigidBody"/> shape.
</summary>
</member>
<member name="T:Duality.Components.Physics.ShapeInfo">
<summary>
Describes a <see cref="T:Duality.Components.Physics.RigidBody">Colliders</see> primitive shape. A Colliders overall shape may be combined of any number of primitive shapes.
</summary>
</member>
<member name="M:Duality.Components.Physics.ShapeInfo.UpdateShape">
<summary>
Updates the internal <see cref="T:Duality.Components.Physics.RigidBody"/> Shape according to its properties.
</summary>
</member>
<member name="P:Duality.Components.Physics.ShapeInfo.Parent">
<summary>
[GET] The shape's parent <see cref="T:Duality.Components.Physics.RigidBody"/>.
</summary>
</member>
<member name="P:Duality.Components.Physics.ShapeInfo.Density">
<summary>
[GET / SET] The shapes density.
</summary>
</member>
<member name="P:Duality.Components.Physics.ShapeInfo.IsSensor">
<summary>
[GET / SET] Whether or not the shape acts as sensor i.e. is not part of a rigid body.
</summary>
</member>
<member name="P:Duality.Components.Physics.ShapeInfo.Friction">
<summary>
[GET / SET] The shapes friction value. Usually a value between 0.0 and 1.0, but higher values can be used to indicate unusually strong friction.
</summary>
</member>
<member name="P:Duality.Components.Physics.ShapeInfo.Restitution">
<summary>
[GET / SET] The shapes restitution value. Should be a value between 0.0 and 1.0.
</summary>
</member>
<member name="P:Duality.Components.Physics.ShapeInfo.IsValid">
<summary>
[GET] Whether or not the shape is a valid part of the physical simulation
</summary>
</member>
<member name="P:Duality.Components.Physics.ShapeInfo.AABB">
<summary>
[GET] Returns the Shapes axis-aligned bounding box
</summary>
</member>
<member name="P:Duality.Components.Physics.ChainShapeInfo.Vertices">
<summary>
[GET / SET] The edge chains vertices. While assinging the array will cause an automatic update, simply modifying it will require you to call <see cref="M:Duality.Components.Physics.ShapeInfo.UpdateShape"/> manually.
</summary>
</member>
<member name="M:Duality.DualityPlugin.OnDisposePlugin">
<summary>
Called when unloading / disposing the plugin.
</summary>
</member>
<member name="M:Duality.PluginManager`1.Init(Duality.Backend.IPluginLoader)">
<summary>
Initializes the <see cref="T:Duality.PluginManager`1"/> with the specified <see cref="T:Duality.Backend.IPluginLoader"/>.
This method needs to be called once after instantiation (or previous termination) before plugins
can be loaded.
</summary>
<param name="pluginLoader"></param>
</member>
<member name="M:Duality.PluginManager`1.Terminate">
<summary>
Terminates the <see cref="T:Duality.PluginManager`1"/>. This will dispose all Duality plugins and plugin data.
</summary>
</member>
<member name="M:Duality.PluginManager`1.DiscardPluginData">
<summary>
Requests the disposal of all content / data that is dependent on any of the currently active
plugins. This functioanlity is invoked automatically as part of reloading or removing plugins.
</summary>
</member>
<member name="M:Duality.PluginManager`1.GetAssemblies">
<summary>
Enumerates all currently loaded assemblies that are considered part of the
managed subset of this <see cref="T:Duality.PluginManager`1"/>.
</summary>
<returns></returns>
</member>
<member name="M:Duality.PluginManager`1.GetTypes(System.Type)">
<summary>
Enumerates all locally available <see cref="T:System.Type">Types</see> that are assignable
to the specified Type.
</summary>
<param name="baseType">The base type to use for matching the result types.</param>
<returns>An enumeration of all Duality types deriving from the specified type.</returns>
</member>
<member name="M:Duality.PluginManager`1.LoadPlugins">
<summary>
Loads all available plugins, as well as their potentially required auxilliary libraries.
</summary>
</member>
<member name="M:Duality.PluginManager`1.InitPlugins">
<summary>
Initializes all previously loaded plugins.
</summary>
</member>
<member name="M:Duality.PluginManager`1.ClearPlugins">
<summary>
Disposes all loaded plugins and discards all related content / data.
</summary>
</member>
<member name="M:Duality.PluginManager`1.LoadPlugin(System.Reflection.Assembly,System.String)">
<summary>
Adds an already loaded plugin Assembly to the internal Duality T registry.
You shouldn't need to call this method in general, since Duality manages its plugins
automatically.
</summary>
<remarks>
This method can be useful in certain cases when it is necessary to treat an Assembly as a
Duality plugin, even though it isn't located in the Plugins folder, or is not available
as a file at all. A typical case for this is Unit Testing where the testing Assembly may
specify additional Duality types such as Components, Resources, etc.
</remarks>
<param name="pluginAssembly"></param>
<param name="pluginFilePath"></param>
<returns></returns>
</member>
<member name="M:Duality.PluginManager`1.ReloadPlugin(System.String)">
<summary>
Reloads the specified plugin. Does not initialize it.
</summary>
<param name="pluginFilePath"></param>
</member>
<member name="M:Duality.PluginManager`1.InitPlugin(`0)">
<summary>
Initializes the specified plugin. This concludes a manual plugin load or reload operation
using API like <see cref="M:Duality.PluginManager`1.LoadPlugin(System.Reflection.Assembly,System.String)"/> and <see cref="M:Duality.PluginManager`1.ReloadPlugin(System.String)"/>.
</summary>
<param name="plugin"></param>
</member>
<member name="M:Duality.PluginManager`1.LockPlugin(System.Reflection.Assembly)">
<summary>
Locks the specified plugin assembly, so any reload attempts are blocked.
</summary>
<param name="pluginAssembly"></param>
</member>
<member name="M:Duality.PluginManager`1.UnlockPlugin(System.Reflection.Assembly)">
<summary>
Unlocks the specified plugin assembly, so future attempts at reloading will
no longer be blocked.
</summary>
<param name="pluginAssembly"></param>
</member>
<member name="E:Duality.PluginManager`1.PluginsRemoving">
<summary>
Called right before removing a plugin. This allows other systems to get rid of
data and content that still depends on those plugins. Note that it is possible
for some plugin termination / disposal code to be run after this event.
</summary>
</member>
<member name="E:Duality.PluginManager`1.PluginsRemoved">
<summary>
Called right after removing a plugin. This allows other system to clear their
internal caches and clean up everything that might have been left by the removed
plugin. No plugin code is run after this event has been called.
</summary>
</member>
<member name="E:Duality.PluginManager`1.PluginsReady">
<summary>
Fired whenever a Duality plugin has been initialized. This is the case after loading or reloading one.
</summary>
</member>
<member name="P:Duality.PluginManager`1.PluginLoader">
<summary>
[GET] The plugin loader which is used by the <see cref="T:Duality.PluginManager`1"/> to discover
and load available plugin assemblies.
</summary>
</member>
<member name="P:Duality.PluginManager`1.LoadedPlugins">
<summary>
[GET] Enumerates all currently loaded plugins.
</summary>
</member>
<member name="P:Duality.PluginManager`1.DisposedPlugins">
<summary>
[GET] Enumerates all plugin assemblies that have been loaded before, but have been discarded due to a runtime plugin reload operation.
This is usually only the case when being executed from withing the editor or manually triggering a plugin reload. However,
this is normally unnecessary.
</summary>
</member>
<member name="P:Duality.PluginManager`1.PluginRegistry">
<summary>
[GET] Maps assembly names to currently loaded plugins.
</summary>
</member>
<member name="P:Duality.PluginManager`1.PluginLog">
<summary>
[GET / SET] An optional <see cref="T:Duality.Log"/> which is used for logging plugin
loading states and issues.
</summary>
</member>
<member name="T:Duality.CorePluginManager">
<summary>
Manages loading, reloading, initialization and disposal of Duality core plugins.
Since all assemblies are owned by the .Net runtime that only exposes a very limited
degree of control, this class should only be used statically: Disposing it would
only get rid of management data, not of the actual plugin assemblies, which would
then cause problems.
A static instance of this class is available through <see cref="P:Duality.DualityApp.PluginManager"/>.
</summary>
</member>
<member name="M:Duality.CorePluginManager.#ctor">
<summary>
<see cref="T:Duality.CorePluginManager"/> should usually not be instantiated by users due to
its forced singleton-like usage. Use <see cref="P:Duality.DualityApp.PluginManager"/> instead.
</summary>
</member>
<member name="M:Duality.CorePluginManager.GetAssemblies">
<summary>
Enumerates all currently loaded assemblies that are part of Duality, i.e. Duality itsself and all loaded plugins.
</summary>
<returns></returns>
</member>
<member name="M:Duality.CorePluginManager.LoadPlugins">
<summary>
Loads all available core plugins, as well as auxilliary libraries.
</summary>
</member>
<member name="M:Duality.CorePluginManager.InitPlugins">
<summary>
Initializes all previously loaded plugins.
</summary>
</member>
<member name="M:Duality.CorePluginManager.InvokeBeforeUpdate">
<summary>
Invokes each plugin's <see cref="M:Duality.CorePlugin.OnBeforeUpdate"/> event handler.
</summary>
</member>
<member name="M:Duality.CorePluginManager.InvokeAfterUpdate">
<summary>
Invokes each plugin's <see cref="M:Duality.CorePlugin.OnAfterUpdate"/> event handler.
</summary>
</member>
<member name="M:Duality.CorePluginManager.InvokeExecContextChanged(Duality.DualityApp.ExecutionContext)">
<summary>
Invokes each plugin's <see cref="M:Duality.CorePlugin.OnExecContextChanged(Duality.DualityApp.ExecutionContext)"/> event handler.
</summary>
</member>
<member name="M:Duality.CorePluginManager.LoadAuxilliaryLibrary(System.String,System.Boolean)">
<summary>
Loads a managed non-plugin <see cref="T:System.Reflection.Assembly"/> and returns it. Each
<see cref="T:System.Reflection.Assembly"/> is only loaded once, all subsequent calls will return
the cached instance.
</summary>
<param name="dllPath">The path to load the <see cref="T:System.Reflection.Assembly"/> file from.</param>
<param name="tryAndFailSilently">
If true, any exceptions caused by attempting to load the library itself
(such as <see cref="T:System.BadImageFormatException"/>) are catched and ignored
without reporting an error.
</param>
<returns></returns>
</member>
<member name="T:Duality.IO.NamedDirectory">
<summary>
Enumerates special directories on the current system.
</summary>
</member>
<member name="F:Duality.IO.NamedDirectory.Current">
<summary>
The directory in which the running Duality application is located.
</summary>
</member>
<member name="F:Duality.IO.NamedDirectory.ApplicationData">
<summary>
The directory where applications store their data.
</summary>
</member>
<member name="F:Duality.IO.NamedDirectory.MyDocuments">
<summary>
The current users "My Documents" folder.
</summary>
</member>
<member name="F:Duality.IO.NamedDirectory.MyPictures">
<summary>
The current users "My Pictures" folder.
</summary>
</member>
<member name="F:Duality.IO.NamedDirectory.MyMusic">
<summary>
The current users "My Music" folder.
</summary>
</member>
<member name="T:Duality.Cloning.CloneBehaviorAttribute">
<summary>
Specifies the cloning behavior of a certain class, struct or field.
</summary>
</member>
<member name="F:Duality.Cloning.CloneBehavior.Default">
<summary>
The object will be handled automatically according to its Type properties and Attributes.
</summary>
</member>
<member name="F:Duality.Cloning.CloneBehavior.Reference">
<summary>
The object will be assigned by-reference, because external ownership is assumed.
</summary>
</member>
<member name="F:Duality.Cloning.CloneBehavior.ChildObject">
<summary>
The object will be cloned deeply, because local ownership is assumed.
</summary>
</member>
<member name="F:Duality.Cloning.CloneBehavior.WeakReference">
<summary>
If the referenced object is part of the cloned object graph, it will be assigned by-reference
similar to the <see cref="F:Duality.Cloning.CloneBehavior.Reference"/> setting. Otherwise, it will be skipped without assigning
any value. A typical example are "parent"-backreferences from child objects.
</summary>
</member>
<member name="T:Duality.Cloning.ICloneOperation">
<summary>
Cloning system interface that allows an <see cref="T:Duality.Cloning.ICloneExplicit"/> or <see cref="T:Duality.Cloning.ICloneSurrogate"/>
to take part in the copy step of a cloning operation. The purpose of the copy step is to synchronously
walk source and target object graphs while copying all data from source to target.
</summary>
</member>
<member name="M:Duality.Cloning.ICloneOperation.GetTarget``1(``0,``0@)">
<summary>
Retrieves the target object that is mapped to the specified source object.
</summary>
<typeparam name="T"></typeparam>
<param name="source"></param>
<param name="target"></param>
<returns></returns>
</member>
<member name="M:Duality.Cloning.ICloneOperation.IsTarget``1(``0)">
<summary>
Returns true if the specified object is part of the target object graph.
</summary>
<typeparam name="T"></typeparam>
<param name="target"></param>
<returns></returns>
</member>
<member name="M:Duality.Cloning.ICloneOperation.HandleObject``1(``0,``0@)">
<summary>
Walks the object graph of the specified instance from the source graph, while copying its data to the graph that
is spanned by its target object. May re-assign the target object in the process.
</summary>
<typeparam name="T"></typeparam>
<param name="source">An object from the source graph that will be copied by the cloning system.</param>
<param name="target">The object's equivalent from the target graph to which data will be copied.</param>
</member>
<member name="M:Duality.Cloning.ICloneOperation.HandleValue``1(``0@,``0@)">
<summary>
Walks the object graph of the specified data structure from the source graph, while copying its data to the graph that
is spanned by its target struct. May re-assign the target struct in the process.
</summary>
<typeparam name="T"></typeparam>
<param name="source">A struct from the source graph that will be copied by the cloning system.</param>
<param name="target">The struct's equivalent from the target graph to which data will be copied.</param>
</member>
<member name="P:Duality.Cloning.ICloneOperation.Context">
<summary>
[GET] The context of this cloning operation, which can provide additional settings.
</summary>
</member>
<member name="M:Duality.Cloning.ExtMethodsICloneOperation.HandleObject``1(Duality.Cloning.ICloneOperation,``0,``0)">
<summary>
Special version of <see cref="M:Duality.Cloning.ICloneOperation.HandleObject``1(``0,``0@)"/> for cases where the target object is stored
in a data structure that does not allow by-ref access or re-assignment of the target object. When possible,
prefer the by-ref base version.
</summary>
<typeparam name="T"></typeparam>
<param name="operation"></param>
<param name="source"></param>
<param name="target"></param>
<returns></returns>
</member>
<member name="M:Duality.Cloning.ExtMethodsICloneOperation.HandleObject``1(Duality.Cloning.ICloneOperation,``0,``0@,System.Boolean)">
<summary>
Special version of <see cref="M:Duality.Cloning.ICloneOperation.HandleObject``1(``0,``0@)"/> for cases where the target object graph alreay
exists and it is undesireable for a source value of null to overwrite a non-null target value.
</summary>
<typeparam name="T"></typeparam>
<param name="operation"></param>
<param name="source"></param>
<param name="target"></param>
<param name="dontNullifyExternal"></param>
<returns></returns>
</member>
<member name="F:Duality.Cloning.CloneFieldFlags.None">
<summary>
No flags are set at all.
</summary>
</member>
<member name="F:Duality.Cloning.CloneFieldFlags.IdentityRelevant">
<summary>
States that the Field or Object in question is relevant to its parents identity
and thus should not be cloned in an identity-preserving context.
</summary>
</member>
<member name="F:Duality.Cloning.CloneFieldFlags.Skip">
<summary>
The Field or Object in question will always be skipped during cloning. No value
will be assigned at all.
</summary>
</member>
<member name="F:Duality.Cloning.CloneFieldFlags.DontSkip">
<summary>
The Field or Object in question won't be skipped during cloning due to secondary
hints such as a <see cref="T:Duality.DontSerializeAttribute"/> attribute on the same field.
</summary>
</member>
<member name="T:Duality.Cloning.ICloneTargetSetup">
<summary>
Cloning system interface that allows an <see cref="T:Duality.Cloning.ICloneExplicit"/> or <see cref="T:Duality.Cloning.ICloneSurrogate"/>
to take part in the setup step of a cloning operation. The purpose of the setup step is to walk the
source object graph and create the required instances of the target graph where they do not exist yet.
</summary>
</member>
<member name="M:Duality.Cloning.ICloneTargetSetup.AddTarget``1(``0,``0)">
<summary>
Specifies an existing mapping between source and target object graph, in which references to a source
object are re-mapped to the specified target object. Does not investigate the specified source object
for further references or walks its object graph.
</summary>
<typeparam name="T"></typeparam>
<param name="source">A reference from the source graph that will be re-mapped in the target graph.</param>
<param name="target">The target graph object that this reference will be re-mapped to.</param>
</member>
<member name="M:Duality.Cloning.ICloneTargetSetup.HandleObject``1(``0,``0,Duality.Cloning.CloneBehavior,System.Reflection.TypeInfo)">
<summary>
Walks the object graph of the specified instance from the source graph, while mapping it to the graph that
is spanned by the specified target object. When specified, the default <see cref="T:Duality.Cloning.CloneBehavior"/> of the
source object or a certain type of its child objects can be overridden locally.
</summary>
<typeparam name="T"></typeparam>
<param name="source">An object from the source graph that will be investigated by the cloning system.</param>
<param name="target">The object's already existing equivalent from the target graph to which it will be mapped.</param>
<param name="behavior">An optional override for the cloning behavior of this object.</param>
<param name="behaviorTarget">
When specified, the optional <see cref="T:Duality.Cloning.CloneBehavior"/> override will only be active for the first level of
referenced objects of this type.
</param>
</member>
<member name="M:Duality.Cloning.ICloneTargetSetup.HandleValue``1(``0@,``0@,Duality.Cloning.CloneBehavior,System.Reflection.TypeInfo)">
<summary>
Walks the object graph of the specified data struct from the source graph, while mapping it to the graph that
is spanned by the specified target struct. When specified, the default <see cref="T:Duality.Cloning.CloneBehavior"/> of the
source object or a certain type of its child objects can be overridden locally.
Note that this only makes sense if the struct contains object references and is not just plain-old data.
</summary>
<typeparam name="T"></typeparam>
<param name="source">A struct from the source graph that will be investigated by the cloning system.</param>
<param name="target">The struct's already existing equivalent from the target graph to which it will be mapped.</param>
<param name="behavior">An optional override for the cloning behavior of this struct.</param>
<param name="behaviorTarget">
When specified, the optional <see cref="T:Duality.Cloning.CloneBehavior"/> override will only be active for the first level of
referenced objects of this type.
</param>
</member>
<member name="P:Duality.Cloning.ICloneTargetSetup.Context">
<summary>
[GET] The context of this cloning operation, which can provide additional settings.
</summary>
</member>
<member name="T:Duality.Cloning.CloneType">
<summary>
The CloneType class provides cached cloning-relevant information
that has been generated basing on a <see cref="T:System.Type"/>.
</summary>
</member>
<member name="M:Duality.Cloning.CloneType.#ctor(System.Type)">
<summary>
Creates a new CloneType based on a <see cref="T:System.Type"/>, gathering all the information that is necessary for cloning.
</summary>
<param name="type"></param>
</member>
<member name="P:Duality.Cloning.CloneType.Type">
<summary>
[GET] The <see cref="T:System.Type"/> that is described.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.FieldData">
<summary>
[GET] An array of <see cref="T:System.Reflection.FieldInfo">fields</see> which are cloned.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.IsPlainOldData">
<summary>
[GET] Specifies whether this Type can be considered plain old data, i.e. can be cloned by assignment.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.IsArray">
<summary>
[GET] Returns whether the encapsulated Type is an array.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.ElementType">
<summary>
[GET] Returns the elements <see cref="T:Duality.Cloning.CloneType"/>, if this one is an array.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.CouldBeDerived">
<summary>
[GET] Returns whether the cached Type could be derived by others.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.InvestigateOwnership">
<summary>
[GET] Specifies whether this Type requires any ownership handling, i.e. contains children or weak references.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.IsMergeSurrogate">
<summary>
[GET] Returns whether the cached type is handled by a <see cref="P:Duality.Cloning.ICloneSurrogate.RequireMerge">merge surrogate</see>.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.DefaultCloneBehavior">
<summary>
[GET] Returns the default <see cref="T:Duality.Cloning.CloneBehavior"/> exposed by this type.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.Surrogate">
<summary>
[GET] The surrogate that will handle this types cloning operations.
</summary>
</member>
<member name="P:Duality.Cloning.CloneType.PrecompiledAssignmentFunc">
<summary>
[GET] When available, this property returns a compiled lambda function that assigns all plain old data fields of this Type
</summary>
</member>
<member name="T:Duality.Cloning.ManuallyClonedAttribute">
<summary>
Flags a field or class to be skipped by automatic cloning, because it has been handled by an <see cref="T:Duality.Cloning.ICloneExplicit"/> implementation.
Applying this attribute to a class has the same effect as applying it to all locally declared fields (without inheritance).
</summary>
</member>
<member name="T:Duality.ICmpEditorUpdatable">
<summary>
Implement this interface in <see cref="T:Duality.Component">Components</see> that require per-frame updates in the editor.
</summary>
</member>
<member name="M:Duality.ICmpEditorUpdatable.OnUpdate">
<summary>
Called once per frame in order to update the Component in the editor.
</summary>
</member>
<member name="T:Duality.ICmpInitializable">
<summary>
Implement this interface in <see cref="T:Duality.Component">Components</see> that require specific init and shutdown logic.
</summary>
</member>
<member name="M:Duality.ICmpInitializable.OnInit(Duality.Component.InitContext)">
<summary>
Called in order to initialize the Component in a specific way.
</summary>
<param name="context">The kind of initialization that is intended.</param>
</member>
<member name="M:Duality.ICmpInitializable.OnShutdown(Duality.Component.ShutdownContext)">
<summary>
Called in order to shutdown the Component in a specific way.
</summary>
<param name="context">The kind of shutdown that is intended.</param>
</member>
<member name="T:Duality.ICmpCollisionListener">
<summary>
Implement this interface in <see cref="T:Duality.Component">Components</see> that require notification of
collision events that occur to the <see cref="T:Duality.GameObject"/> they belong to.
</summary>
</member>
<member name="M:Duality.ICmpCollisionListener.OnCollisionBegin(Duality.Component,Duality.CollisionEventArgs)">
<summary>
Called whenever the GameObject starts to collide with something.
</summary>
<param name="sender"></param>
<param name="args"></param>
</member>
<member name="M:Duality.ICmpCollisionListener.OnCollisionEnd(Duality.Component,Duality.CollisionEventArgs)">
<summary>
Called whenever the GameObject stops to collide with something.
</summary>
<param name="sender"></param>
<param name="args"></param>
</member>
<member name="M:Duality.ICmpCollisionListener.OnCollisionSolve(Duality.Component,Duality.CollisionEventArgs)">
<summary>
Called each frame after solving a collision with the GameObject.
</summary>
<param name="sender"></param>
<param name="args"></param>
</member>
<member name="T:Duality.ICmpRenderer">
<summary>
Implement this interface in <see cref="T:Duality.Component">Components</see> that are considered renderable.
</summary>
</member>
<member name="M:Duality.ICmpRenderer.IsVisible(Duality.Drawing.IDrawDevice)">
<summary>
Determines whether or not this renderer is visible to the specified <see cref="T:Duality.Drawing.IDrawDevice"/>.
</summary>
<param name="device">The <see cref="T:Duality.Drawing.IDrawDevice"/> to which visibility is determined.</param>
<returns>True, if this renderer is visible to the <see cref="T:Duality.Drawing.IDrawDevice"/>. False, if not.</returns>
</member>
<member name="M:Duality.ICmpRenderer.Draw(Duality.Drawing.IDrawDevice)">
<summary>
Draws the object.
</summary>
<param name="device">The <see cref="T:Duality.Drawing.IDrawDevice"/> to which the object is drawn.</param>
</member>
<member name="P:Duality.ICmpRenderer.BoundRadius">
<summary>
[GET] The Renderers bounding radius.
</summary>
</member>
<member name="T:Duality.ICmpUpdatable">
<summary>
Implement this interface in <see cref="T:Duality.Component">Components</see> that require per-frame updates.
</summary>
</member>
<member name="M:Duality.ICmpUpdatable.OnUpdate">
<summary>
Called once per frame in order to update the Component.
</summary>
</member>
<member name="T:Duality.Components.Physics.CollisionFilter">
<summary>
Determines whether a collision is allowed to occur.
</summary>
<param name="collision">The collision that is about to occur.</param>
<returns>True, if the collision is valid. False, if the collision should be ignored.</returns>
</member>
<member name="T:Duality.Components.Physics.RayCastCallback">
<summary>
Called for each shape found in the query. You control how the ray cast proceeds by returning a float.
</summary>
<returns>-1 to ignore the curret shape, 0 to terminate the raycast, data.Fraction to clip the ray for current hit, or 1 to continue.</returns>
</member>
<member name="T:Duality.Components.Physics.BodyType">
<summary>
The type of a <see cref="T:Duality.Components.Physics.RigidBody">Colliders</see> physical body.
</summary>
</member>
<member name="F:Duality.Components.Physics.BodyType.Static">
<summary>
A static body will never move due to physical forces.
</summary>
</member>
<member name="F:Duality.Components.Physics.BodyType.Dynamic">
<summary>
A dynamic body's movement is determined by physical effects.
</summary>
</member>
<member name="F:Duality.Components.Physics.BodyType.Kinematic">
<summary>
A kinematic body can push around dynamic bodies, but is itself unaffected by
physical influences due to collisions. It can't collide with static bodies.
Use with caution.
</summary>
</member>
<member name="T:Duality.Components.Physics.RayCastData">
<summary>
Provides data about a <see cref="T:Duality.Components.Physics.RigidBody"/> RayCast.
</summary>
</member>
<member name="P:Duality.Components.Physics.RayCastData.Shape">
<summary>
[GET] The shape that was hit.
</summary>
</member>
<member name="P:Duality.Components.Physics.RayCastData.Body">
<summary>
[GET] The RigidBody that was hit.
</summary>
</member>
<member name="P:Duality.Components.Physics.RayCastData.GameObj">
<summary>
[GET] The GameObject that was hit.
</summary>
</member>
<member name="P:Duality.Components.Physics.RayCastData.Pos">
<summary>
[GET] The world position at which the shape was hit.
</summary>
</member>
<member name="P:Duality.Components.Physics.RayCastData.Normal">
<summary>
[GET] The normal of the ray / shape collision.
</summary>
</member>
<member name="P:Duality.Components.Physics.RayCastData.Fraction">
<summary>
[GET] The fraction (0.0f - 1.0f) of the ray at which the hit occurred.
</summary>
</member>
<member name="T:Duality.Drawing.FontStyle">
<summary>
Specifies the style of a text.
</summary>
</member>
<member name="F:Duality.Drawing.FontStyle.Regular">
<summary>
Regular text.
</summary>
</member>
<member name="F:Duality.Drawing.FontStyle.Bold">
<summary>
Bold text.
</summary>
</member>
<member name="F:Duality.Drawing.FontStyle.Italic">
<summary>
Italic text.
</summary>
</member>
<member name="T:Duality.Drawing.FitTextMode">
<summary>
Specifies how a text fitting algorithm works.
</summary>
</member>
<member name="F:Duality.Drawing.FitTextMode.ByChar">
<summary>
Text is fit by character, i.e. can be separated anywhere.
</summary>
</member>
<member name="F:Duality.Drawing.FitTextMode.ByWordLeadingSpace">
<summary>
Text is fit <see cref="F:Duality.Drawing.FitTextMode.ByWord">by word</see>, preferring leading whitespaces.
</summary>
</member>
<member name="F:Duality.Drawing.FitTextMode.ByWordTrailingSpace">
<summary>
Text is fit <see cref="F:Duality.Drawing.FitTextMode.ByWord">by word</see>, preferring trailing whitespaces.
</summary>
</member>
<member name="F:Duality.Drawing.FitTextMode.ByWord">
<summary>
Text is fit by word boundaries, i.e. can only be separated between words.
</summary>
</member>
<member name="T:Duality.Drawing.BlendMode">
<summary>
Enumerates different behviours on how to blend color data onto existing background color.
</summary>
<seealso cref="T:Duality.Resources.DrawTechnique"/>
</member>
<member name="F:Duality.Drawing.BlendMode.Reset">
<summary>
When passing this to a method, this value can be used to indicate "Restore to default settings".
</summary>
</member>
<member name="F:Duality.Drawing.BlendMode.Solid">
<summary>
Incoming color overwrites background color completely. Doesn't need Z-Sorting.
</summary>
</member>
<member name="F:Duality.Drawing.BlendMode.Mask">
<summary>
Incoming color overwrites background color but leaves out areas with low alpha. Doesn't need Z-Sorting.
</summary>
</member>
<member name="F:Duality.Drawing.BlendMode.Add">
<summary>
Incoming color is multiplied by its alpha value and then added to background color. Needs Z-Sorting.
</summary>
</member>
<member name="F:Duality.Drawing.BlendMode.Alpha">
<summary>
Incoming color overwrites background color, weighted by its alpha value. Needs Z-Sorting.
</summary>
</member>
<member name="F:Duality.Drawing.BlendMode.AlphaPre">
<summary>
Premultiplied Alpha: Colors specify brightness, alpha specifies opacity. Needs Z-Sorting.
</summary>
</member>
<member name="F:Duality.Drawing.BlendMode.Multiply">
<summary>
Incoming color scales background color. Needs Z-Sorting.
</summary>
</member>
<member name="F:Duality.Drawing.BlendMode.Light">
<summary>
Incoming color is multiplied and then added to background color. Needs Z-Sorting.
</summary>
</member>
<member name="F:Duality.Drawing.BlendMode.Invert">
<summary>
Incoming color inverts background color. Needs Z-Sorting.
</summary>
</member>
<member name="F:Duality.Drawing.BlendMode.Count">
<summary>
The total number of available BlendModes.
</summary>
</member>
<member name="T:Duality.Drawing.ClearFlag">
<summary>
A Bitmask describing which components of the current rendering buffer to clear.
</summary>
</member>
<member name="F:Duality.Drawing.ClearFlag.None">
<summary>
Nothing.
</summary>
</member>
<member name="F:Duality.Drawing.ClearFlag.Color">
<summary>
The buffers color components.
</summary>
</member>
<member name="F:Duality.Drawing.ClearFlag.Depth">
<summary>
The buffers depth component.
</summary>
</member>
<member name="F:Duality.Drawing.ClearFlag.Default">
<summary>
The default set of flags.
</summary>
</member>
<member name="F:Duality.Drawing.ClearFlag.All">
<summary>
All flags set.
</summary>
</member>
<member name="T:Duality.Drawing.ColorDataElementType">
<summary>
Describes the type of a color values individual elements (R, G, B, ...)
</summary>
</member>
<member name="T:Duality.Drawing.ColorDataLayout">
<summary>
Describes the layout and purpose of color data values.
</summary>
</member>
<member name="T:Duality.Drawing.ImageScaleFilter">
<summary>
Represents a filtering method for rescaling images.
</summary>
</member>
<member name="F:Duality.Drawing.ImageScaleFilter.Nearest">
<summary>
Nearest neighbor filterting / No interpolation.
</summary>
</member>
<member name="F:Duality.Drawing.ImageScaleFilter.Linear">
<summary>
Linear interpolation.
</summary>
</member>
<member name="T:Duality.Drawing.PixelData">
<summary>
Represents a block of pixel data.
</summary>
</member>
<member name="T:Duality.Serialization.ISerializeExplicit">
<summary>
Provides a general interface for an object type with custom serialization rather than using the automatic fallback.
</summary>
</member>
<member name="M:Duality.Serialization.ISerializeExplicit.WriteData(Duality.Serialization.IDataWriter)">
<summary>
Writes the object data to the specified <see cref="T:Duality.Serialization.IDataWriter"/>.
</summary>
<param name="writer"></param>
</member>
<member name="M:Duality.Serialization.ISerializeExplicit.ReadData(Duality.Serialization.IDataReader)">
<summary>
Reads and applies the object data to the specified <see cref="T:Duality.Serialization.IDataReader"/>.
</summary>
<param name="reader"></param>
</member>
<member name="F:Duality.Drawing.PixelData.Serialize_Version_Unknown">
<summary>
Represents an unknown <see cref="T:Duality.Drawing.PixelData"/> version.
</summary>
</member>
<member name="F:Duality.Drawing.PixelData.Serialize_Version_LayerPng">
<summary>
Represents the PNG-compressed <see cref="T:Duality.Drawing.PixelData"/> version.
</summary>
</member>
<member name="F:Duality.Drawing.PixelData.Serialize_Version_FormatId">
<summary>
Represents the first v2.x <see cref="T:Duality.Drawing.PixelData"/> version that requires an explicitly stated format id for image codec support.
</summary>
</member>
<member name="M:Duality.Drawing.PixelData.#ctor(System.Int32,System.Int32,Duality.Drawing.ColorRgba[])">
<summary>
Creates a new <see cref="T:Duality.Drawing.PixelData"/> object using the specified dimensions and data array.
The specified data block will be used directly without copying it first.
</summary>
<param name="width"></param>
<param name="height"></param>
<param name="data"></param>
</member>
<member name="M:Duality.Drawing.PixelData.Clone">
<summary>
Clones the pixel data layer and returns the new instance.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.PixelData.SetData(Duality.Drawing.ColorRgba[],System.Int32,System.Int32)">
<summary>
Replaces the <see cref="T:Duality.Drawing.PixelData"/>s content with the specified color data.
Ownership of the data block will be assumed - it won't be copied before using it.
</summary>
<param name="pixelData"></param>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.Drawing.PixelData.Rescale(System.Int32,System.Int32,Duality.Drawing.ImageScaleFilter)">
<summary>
Rescales the Layer, stretching it to the specified size.
</summary>
<param name="w"></param>
<param name="h"></param>
<param name="filter">The filtering method to use when rescaling</param>
</member>
<member name="M:Duality.Drawing.PixelData.Resize(System.Int32,System.Int32,Duality.Alignment)">
<summary>
Resizes the Layers boundaries.
</summary>
<param name="w"></param>
<param name="h"></param>
<param name="origin"></param>
</member>
<member name="M:Duality.Drawing.PixelData.SubImage(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Extracts a rectangular region of this Layer. If the extracted region is bigger than the original Layer,
all new space is filled with a background color.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="w"></param>
<param name="h"></param>
</member>
<member name="M:Duality.Drawing.PixelData.SubImage(System.Int32,System.Int32,System.Int32,System.Int32,Duality.Drawing.ColorRgba)">
<summary>
Extracts a rectangular region of this Layer. If the extracted region is bigger than the original Layer,
all new space is filled with a background color.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="w"></param>
<param name="h"></param>
<param name="backColor"></param>
</member>
<member name="M:Duality.Drawing.PixelData.Crop(System.Boolean,System.Boolean)">
<summary>
Crops the Layer, removing transparent / empty border areas.
</summary>
<param name="cropX">Whether the Layer should be cropped in X-direction</param>
<param name="cropY">Whether the Layer should be cropped in Y-direction</param>
</member>
<member name="M:Duality.Drawing.PixelData.GetOpaqueBoundaries(Duality.Point2@,Duality.Point2@)">
<summary>
Measures the bounding rectangle of the Layers opaque pixels.
</summary>
<param name="topLeft"></param>
<param name="size"></param>
</member>
<member name="M:Duality.Drawing.PixelData.GetAverageColor(System.Boolean)">
<summary>
Determines the average color of a Layer.
</summary>
<param name="weightTransparent">If true, the alpha value weights a pixels color value. </param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.PixelData.ColorTransparentPixels">
<summary>
Sets the color of all transparent pixels based on the non-transparent color values next to them.
This does not affect any alpha values but prepares the Layer for correct filtering once uploaded
to <see cref="T:Duality.Resources.Texture"/>.
</summary>
</member>
<member name="M:Duality.Drawing.PixelData.ColorTransparentPixels(Duality.Drawing.ColorRgba)">
<summary>
Sets the color of all transparent pixels to the specified color.
</summary>
<param name="transparentColor"></param>
</member>
<member name="M:Duality.Drawing.PixelData.CloneRescale(System.Int32,System.Int32,Duality.Drawing.ImageScaleFilter)">
<summary>
Rescales the Layer, stretching it to the specified size.
</summary>
<param name="w"></param>
<param name="h"></param>
<param name="filter">The filtering method to use when rescaling</param>
</member>
<member name="M:Duality.Drawing.PixelData.CloneResize(System.Int32,System.Int32,Duality.Alignment)">
<summary>
Resizes the Layers boundaries.
</summary>
<param name="w"></param>
<param name="h"></param>
<param name="origin"></param>
</member>
<member name="M:Duality.Drawing.PixelData.CloneSubImage(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Extracts a rectangular region of this Layer. If the extracted region is bigger than the original Layer,
all new space is filled with a background color.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="w"></param>
<param name="h"></param>
</member>
<member name="M:Duality.Drawing.PixelData.CloneSubImage(System.Int32,System.Int32,System.Int32,System.Int32,Duality.Drawing.ColorRgba)">
<summary>
Extracts a rectangular region of this Layer. If the extracted region is bigger than the original Layer,
all new space is filled with a background color.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="w"></param>
<param name="h"></param>
<param name="backColor"></param>
</member>
<member name="M:Duality.Drawing.PixelData.CloneCrop(System.Boolean,System.Boolean)">
<summary>
Crops the Layer, removing transparent / empty border areas.
</summary>
<param name="cropX">Whether the Layer should be cropped in X-direction</param>
<param name="cropY">Whether the Layer should be cropped in Y-direction</param>
</member>
<member name="M:Duality.Drawing.PixelData.DrawOnto(Duality.Drawing.PixelData,Duality.Drawing.BlendMode,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Performs a drawing operation from this Layer to a target layer.
</summary>
<param name="target"></param>
<param name="blend"></param>
<param name="destX"></param>
<param name="destY"></param>
<param name="width"></param>
<param name="height"></param>
<param name="srcX"></param>
<param name="srcY"></param>
</member>
<member name="M:Duality.Drawing.PixelData.DrawOnto(Duality.Drawing.PixelData,Duality.Drawing.BlendMode,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Duality.Drawing.ColorRgba)">
<summary>
Performs a drawing operation from this Layer to a target layer.
</summary>
<param name="target"></param>
<param name="blend"></param>
<param name="destX"></param>
<param name="destY"></param>
<param name="width"></param>
<param name="height"></param>
<param name="srcX"></param>
<param name="srcY"></param>
<param name="colorTint"></param>
</member>
<member name="P:Duality.Drawing.PixelData.Width">
<summary>
[GET] The layers width in pixels
</summary>
</member>
<member name="P:Duality.Drawing.PixelData.Height">
<summary>
[GET] The layers height in pixels
</summary>
</member>
<member name="P:Duality.Drawing.PixelData.Data">
<summary>
[GET] The layers pixel data
</summary>
</member>
<member name="P:Duality.Drawing.PixelData.Item(System.Int32,System.Int32)">
<summary>
[GET / SET] A single pixels color.
</summary>
<param name="x"></param>
<param name="y"></param>
<returns></returns>
</member>
<member name="T:Duality.IO.FileOp">
<summary>
Defines static methods for performing common file system operations on files.
</summary>
</member>
<member name="M:Duality.IO.FileOp.Exists(System.String)">
<summary>
Returns whether the specified path refers to an existing file.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.FileOp.Create(System.String)">
<summary>
Creates or overwrites a file at the specified path and returns a <see cref="T:System.IO.Stream"/> to it.
The returned stream has implicit read / write access.
</summary>
<param name="path"></param>
</member>
<member name="M:Duality.IO.FileOp.Open(System.String,Duality.IO.FileAccessMode)">
<summary>
Opens an existing file at the specified path and returns a <see cref="T:System.IO.Stream"/> to it.
</summary>
<param name="path"></param>
<param name="mode"></param>
</member>
<member name="M:Duality.IO.FileOp.Delete(System.String)">
<summary>
Deletes the file that is referred to by the specified path.
</summary>
<param name="path"></param>
</member>
<member name="T:Duality.IO.DirectoryOp">
<summary>
Defines static methods for performing common file system operations on directories.
</summary>
</member>
<member name="M:Duality.IO.DirectoryOp.Exists(System.String)">
<summary>
Returns whether the specified path refers to an existing directory.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.DirectoryOp.Create(System.String)">
<summary>
Creates a directory tree matching the specified directory path.
</summary>
<param name="path"></param>
</member>
<member name="M:Duality.IO.DirectoryOp.Delete(System.String)">
<summary>
Deletes the directory that is referred to by the specified path.
</summary>
<param name="path"></param>
</member>
<member name="M:Duality.IO.DirectoryOp.GetFiles(System.String,System.Boolean)">
<summary>
Enumerates all files that are located within the specified path.
</summary>
<param name="path"></param>
<param name="recursive">If true, the specified path will be searched recursively and yield all descendant file paths.</param>
<returns></returns>
</member>
<member name="M:Duality.IO.DirectoryOp.GetDirectories(System.String,System.Boolean)">
<summary>
Enumerates all directories that are located within the specified path.
</summary>
<param name="path"></param>
<param name="recursive">If true, the specified path will be searched recursively and yield all descendant directory paths.</param>
<returns></returns>
</member>
<member name="T:Duality.IO.PathEqualityComparer">
<summary>
Determines equality of path strings.
</summary>
<seealso cref="T:Duality.IO.PathOp"/>
</member>
<member name="T:Duality.IO.PathOp">
<summary>
Defines static methods for performing common operations on path strings, such as combining them or extracting file extensions.
This class mirrors the functionality of <see cref="T:System.IO.Path"/> in a platform-agnostic way using Duality's path format.
</summary>
</member>
<member name="M:Duality.IO.PathOp.IsPathRooted(System.String)">
<summary>
Determines whether the specified path begins with a file system root.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.GetFullPath(System.String)">
<summary>
Returns a rooted version of the specified path, which uniquely identifies the referenced file system entity.
Unlike most methods of <see cref="T:Duality.IO.PathOp"/>, this method accesses the file system.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.ArePathsEqual(System.String,System.String)">
<summary>
Returns whether two paths are referring to the same file system entity.
Unlike most methods of <see cref="T:Duality.IO.PathOp"/>, this method accesses the file system.
</summary>
<param name="firstPath"></param>
<param name="secondPath"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.IsPathLocatedIn(System.String,System.String)">
<summary>
Returns whether one path is a sub-path of another.
Unlike most methods of <see cref="T:Duality.IO.PathOp"/>, this method accesses the file system.
</summary>
<param name="path">The supposed sub-path.</param>
<param name="baseDir">The (directory) path in which the supposed sub-path might be located in.</param>
<returns>True, if <c>path</c> is a sub-path of <c>baseDir</c>.</returns>
<example>
<c>PathHelper.IsPathLocatedIn(@"C:\SomeDir\SubDir", @"C:\SomeDir")</c> will return true.
</example>
</member>
<member name="M:Duality.IO.PathOp.GetDirectoryName(System.String)">
<summary>
Determines the directory name component of a path, i.e. everything except the rightmost path element name.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.GetFileName(System.String)">
<summary>
Determines the file name component of a path, i.e. the rightmost path element name.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.GetFileNameWithoutExtension(System.String)">
<summary>
Similar to <see cref="M:Duality.IO.PathOp.GetFileName(System.String)"/>, but also strips away the files extension.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.GetExtension(System.String)">
<summary>
Determines the extension of a file path.
</summary>
<param name="path"></param>
<param name="multiExt">
If true, multi-extensions such as ".Texture.res" will be considered a
single extension, not two consecutive ones.
</param>
<returns>
The paths file extension, including the leading separator char.
Returns an empty string, if no extension was found.
</returns>
</member>
<member name="M:Duality.IO.PathOp.Combine(System.String,System.String)">
<summary>
Concatenates two path strings.
</summary>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.Combine(System.String[])">
<summary>
Concatenates any number of path strings.
</summary>
<param name="paths"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.GetInvalidPathChars">
<summary>
Returns an array of characters which are invalid in path strings.
</summary>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.GetInvalidFileNameChars">
<summary>
Returns an array of characters which are invalid in file name strings.
</summary>
<returns></returns>
</member>
<member name="M:Duality.IO.PathOp.GetValidFileName(System.String)">
<summary>
Returns a copy of the specified file name which has been
cleared of all invalid path characters.
</summary>
<param name="fileName"></param>
<returns></returns>
</member>
<member name="T:Duality.Editor.AssetManagement.AssetInfo">
<summary>
Provides information on the way a <see cref="T:Duality.Resource"/> should be treated during
Asset import operations in the editor.
This information should not be considered to be available at runtime or after deploying a
game without editor support.
</summary>
</member>
<member name="P:Duality.Editor.AssetManagement.AssetInfo.ImporterId">
<summary>
[GET / SET] The ID of the Asset Importer that was used to import this Asset.
If set, it will be automatically used for Re-Import operations.
</summary>
</member>
<member name="P:Duality.Editor.AssetManagement.AssetInfo.SourceFileHint">
<summary>
[GET / SET] When set, this array provides a hint to the AssetManagement system
which source files were used to create this <see cref="T:Duality.Resource"/> during the most recent
import operation. The paths are relative to the mapped media source directory of the
<see cref="T:Duality.Resource"/> and can use the {Name} variable to keep paths invariant to
move and rename operations.
</summary>
</member>
<member name="P:Duality.Editor.AssetManagement.AssetInfo.CustomData">
<summary>
[GET / SET] A collection of key-value pairs that can be used to attach custom asset data
to the asset info of a <see cref="T:Duality.Resource"/>. This data can be used by importers and exporters
to persistently store parameters and user configuration regarding import and export
opreations of this <see cref="T:Duality.Resource"/>.
</summary>
</member>
<member name="P:Duality.Editor.AssetManagement.AssetInfo.NameHint">
<summary>
[GET / SET] For runtime-only Resources that haven't been saved or located anywhere,
this property provides a hint on how to name the Resource later. This property is considered
temporary and won't be serialized.
</summary>
</member>
<member name="T:Duality.Resources.FontMetrics">
<summary>
Provides information about the shape and size of a <see cref="T:Duality.Resources.Font"/>.
This information is not specific to a certain text or glyph.
</summary>
</member>
<member name="P:Duality.Resources.FontMetrics.Size">
<summary>
[GET] The size of the <see cref="T:Duality.Resources.Font"/>.
</summary>
</member>
<member name="P:Duality.Resources.FontMetrics.Height">
<summary>
[GET] The height of the <see cref="T:Duality.Resources.Font"/>, in pixels.
</summary>
</member>
<member name="P:Duality.Resources.FontMetrics.Ascent">
<summary>
[GET] The ascender height of the <see cref="T:Duality.Resources.Font"/>, in pixels.
</summary>
</member>
<member name="P:Duality.Resources.FontMetrics.BodyAscent">
<summary>
[GET] The median / mean line / x glyph height of the <see cref="T:Duality.Resources.Font"/>, in pixels.
</summary>
</member>
<member name="P:Duality.Resources.FontMetrics.Descent">
<summary>
[GET] The descender height of the <see cref="T:Duality.Resources.Font"/>, in pixels.
</summary>
</member>
<member name="P:Duality.Resources.FontMetrics.BaseLine">
<summary>
[GET] The baseline height of the <see cref="T:Duality.Resources.Font"/>, in pixels.
</summary>
</member>
<member name="P:Duality.Resources.FontMetrics.Monospace">
<summary>
[GET] Whether the described <see cref="T:Duality.Resources.Font"/> is considered to be a monospace <see cref="T:Duality.Resources.Font"/>,
i.e. whether all characters occupy the same horizontal space.
</summary>
</member>
<member name="T:Duality.Resources.FontCharSet">
<summary>
Represents a character set that defines which glyphs are available in a <see cref="T:Duality.Resources.Font"/> Resource.
</summary>
</member>
<member name="M:Duality.Resources.FontCharSet.MergedWith(Duality.Resources.FontCharSet)">
<summary>
Merges two character sets to form a new one that contains both of their characters without duplicates.
</summary>
<param name="second"></param>
<returns></returns>
</member>
<member name="P:Duality.Resources.FontCharSet.Chars">
<summary>
[GET] All characters that are part of this <see cref="T:Duality.Resources.FontCharSet"/>.
</summary>
</member>
<member name="P:Duality.Resources.FontCharSet.CharBaseLineRef">
<summary>
[GET] Characters which will contribute to calculating the <see cref="P:Duality.Resources.Font.BaseLine"/> parameter.
</summary>
</member>
<member name="P:Duality.Resources.FontCharSet.CharDescentRef">
<summary>
[GET] Characters which will contribute to calculating the <see cref="P:Duality.Resources.Font.Descent"/> parameter.
</summary>
</member>
<member name="P:Duality.Resources.FontCharSet.CharBodyAscentRef">
<summary>
[GET] Characters which will contribute to calculating the <see cref="P:Duality.Resources.Font.Ascent"/> parameter.
</summary>
</member>
<member name="T:Duality.Resources.BuiltinShaderFields">
<summary>
Manages Duality's builtin shader variables.
</summary>
</member>
<member name="M:Duality.Resources.BuiltinShaderFields.GetIndex(System.String)">
<summary>
Determines whether a certain <see cref="T:Duality.Resources.ShaderFieldInfo"/> name refers to a builtin shader variable
and returns a unique index to retrieve that variables value.
</summary>
</member>
<member name="M:Duality.Resources.BuiltinShaderFields.TryGetValue(Duality.Drawing.IDrawDevice,System.Int32,System.Single[]@)">
<summary>
Retrieves the value of a builtin shader variable using the index retrieved by <see cref="M:Duality.Resources.BuiltinShaderFields.GetIndex(System.String)"/>.
</summary>
<param name="currentDevice"></param>
<param name="index"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="T:Duality.Drawing.RenderMatrix">
<summary>
Specifies a rendering matrix setup.
</summary>
</member>
<member name="T:Duality.Drawing.PerspectiveMode">
<summary>
Specifies the perspective effect that is applied when rendering the world.
</summary>
</member>
<member name="F:Duality.Drawing.PerspectiveMode.Flat">
<summary>
No perspective effect is applied. Z points into the screen and is only used for object sorting.
</summary>
</member>
<member name="F:Duality.Drawing.PerspectiveMode.Parallax">
<summary>
Objects that are far away appear smaller. Z points into the screen and is used for scaling and sorting.
</summary>
</member>
<member name="T:Duality.Drawing.VertexMode">
<summary>
Specifies the way in which incoming vertex data is interpreted in order to generate geometry.
</summary>
</member>
<member name="T:Duality.Drawing.BatchInfo">
<summary>
BatchInfos describe how an object, represented by a set of vertices, looks like.
</summary>
<seealso cref="T:Duality.Resources.Material"/>
</member>
<member name="M:Duality.Drawing.BatchInfo.#ctor">
<summary>
Creates a new, empty BatchInfo.
</summary>
</member>
<member name="M:Duality.Drawing.BatchInfo.#ctor(Duality.Resources.Material)">
<summary>
Creates a new BatchInfo based on an existing <see cref="T:Duality.Resources.Material"/>.
</summary>
<param name="source"></param>
</member>
<member name="M:Duality.Drawing.BatchInfo.#ctor(Duality.Drawing.BatchInfo)">
<summary>
Creates a new BatchInfo based on an existing BatchInfo. This is essentially a copy constructor.
</summary>
<param name="source"></param>
</member>
<member name="M:Duality.Drawing.BatchInfo.#ctor(Duality.ContentRef{Duality.Resources.DrawTechnique},Duality.Drawing.ColorRgba,Duality.ContentRef{Duality.Resources.Texture})">
<summary>
Creates a new single-texture BatchInfo.
</summary>
<param name="technique">The <see cref="T:Duality.Resources.DrawTechnique"/> to use.</param>
<param name="mainColor">The <see cref="P:Duality.Drawing.BatchInfo.MainColor"/> to use.</param>
<param name="mainTex">The main <see cref="T:Duality.Resources.Texture"/> to use.</param>
</member>
<member name="M:Duality.Drawing.BatchInfo.#ctor(Duality.ContentRef{Duality.Resources.DrawTechnique},Duality.Drawing.ColorRgba,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,Duality.ContentRef{Duality.Resources.Texture}}},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Single[]}})">
<summary>
Creates a new complex BatchInfo.
</summary>
<param name="technique">The <see cref="T:Duality.Resources.DrawTechnique"/> to use.</param>
<param name="mainColor">The <see cref="P:Duality.Drawing.BatchInfo.MainColor"/> to use.</param>
<param name="textures">A set of <see cref="T:Duality.Resources.Texture">Textures</see> to use.</param>
<param name="uniforms">A set of <see cref="T:Duality.Resources.ShaderFieldInfo">uniform values</see> to use.</param>
</member>
<member name="M:Duality.Drawing.BatchInfo.CopyTo(Duality.Drawing.BatchInfo)">
<summary>
Copies this BatchInfo's data to a different one.
</summary>
<param name="info">The target BatchInfo to copy data to.</param>
</member>
<member name="M:Duality.Drawing.BatchInfo.Detach">
<summary>
Assures that the current BatchInfo is not a temporarily shallow copy of an existing one.
</summary>
</member>
<member name="M:Duality.Drawing.BatchInfo.MakeAvailable">
<summary>
Triggers content retrieval in all references Resources.
</summary>
</member>
<member name="M:Duality.Drawing.BatchInfo.GetTexture(System.String)">
<summary>
Gets a texture by name. Returns a null reference if the name doesn't exist.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.BatchInfo.SetTexture(System.String,Duality.ContentRef{Duality.Resources.Texture})">
<summary>
Sets a texture.
</summary>
<param name="name"></param>
<param name="tex"></param>
</member>
<member name="M:Duality.Drawing.BatchInfo.GetUniform(System.String)">
<summary>
Gets a uniform by name. Returns a null reference if the name doesn't exist.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.BatchInfo.SetUniform(System.String,System.Single[])">
<summary>
Sets a uniform value
</summary>
<param name="name"></param>
<param name="uniform"></param>
</member>
<member name="M:Duality.Drawing.BatchInfo.SetUniform(System.String,System.Int32,System.Single)">
<summary>
Sets a uniform value
</summary>
<param name="name"></param>
<param name="index"></param>
<param name="uniformVal"></param>
</member>
<member name="M:Duality.Drawing.BatchInfo.op_Equality(Duality.Drawing.BatchInfo,Duality.Drawing.BatchInfo)">
<summary>
Compares two BatchInfos for equality. If a <see cref="M:System.Object.ReferenceEquals(System.Object,System.Object)"/> test
fails, their actual data is compared.
</summary>
<param name="first"></param>
<param name="second"></param>
<returns>True, if both BatchInfos can be considered equal, false if not.</returns>
</member>
<member name="M:Duality.Drawing.BatchInfo.op_Inequality(Duality.Drawing.BatchInfo,Duality.Drawing.BatchInfo)">
<summary>
Compares two BatchInfos for inequality. If a <see cref="M:System.Object.ReferenceEquals(System.Object,System.Object)"/> test
fails, their actual data is compared.
</summary>
<param name="first"></param>
<param name="second"></param>
<returns>True, if both BatchInfos can be considered unequal, false if not.</returns>
</member>
<member name="P:Duality.Drawing.BatchInfo.Technique">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.DrawTechnique"/> that is used.
</summary>
</member>
<member name="P:Duality.Drawing.BatchInfo.MainColor">
<summary>
[GET / SET] The main color, typically used for coloring displayed vertices.
</summary>
</member>
<member name="P:Duality.Drawing.BatchInfo.Textures">
<summary>
[GET / SET] The set of <see cref="T:Duality.Resources.Texture">Textures</see> to use.
</summary>
</member>
<member name="P:Duality.Drawing.BatchInfo.MainTexture">
<summary>
[GET / SET] The main texture.
</summary>
</member>
<member name="P:Duality.Drawing.BatchInfo.Uniforms">
<summary>
[GET / SET] The set of <see cref="T:Duality.Resources.ShaderFieldInfo">uniform values</see> to use.
</summary>
</member>
<member name="T:Duality.Drawing.TextureSizeMode">
<summary>
Defines how a Texture should handle pixel data without power-of-two dimensions.
</summary>
</member>
<member name="F:Duality.Drawing.TextureSizeMode.Enlarge">
<summary>
Enlarges the images dimensions without scaling the image, leaving
the new space empty. Texture coordinates are automatically adjusted in
order to display the image correctly. This preserves the images full
quality but prevents tiling, if not power-of-two anyway.
</summary>
</member>
<member name="F:Duality.Drawing.TextureSizeMode.Stretch">
<summary>
Stretches the image to fit power-of-two dimensions and downscales it
again when displaying. This might blur the image slightly but allows
tiling it.
</summary>
</member>
<member name="F:Duality.Drawing.TextureSizeMode.NonPowerOfTwo">
<summary>
The images dimensions are not affected, as OpenGL uses an actual
non-power-of-two texture. However, this might be unsupported on older hardware.
</summary>
</member>
<member name="F:Duality.Drawing.TextureSizeMode.Default">
<summary>
The default behaviour. Equals <see cref="F:Duality.Drawing.TextureSizeMode.Enlarge"/>.
</summary>
</member>
<member name="T:Duality.Drawing.TextureMagFilter">
<summary>
Defines which filtering algorithm will be used when displaying the Texture larger than it is.
</summary>
</member>
<member name="F:Duality.Drawing.TextureMagFilter.Nearest">
<summary>
Point filtering with sharp edges.
</summary>
</member>
<member name="F:Duality.Drawing.TextureMagFilter.Linear">
<summary>
Linear interpolation.
</summary>
</member>
<member name="T:Duality.Drawing.TextureMinFilter">
<summary>
Defines which filtering algorithm will be used when displaying the Texture smaller than it is.
</summary>
</member>
<member name="F:Duality.Drawing.TextureMinFilter.Nearest">
<summary>
Point filtering with sharp edges.
</summary>
</member>
<member name="F:Duality.Drawing.TextureMinFilter.Linear">
<summary>
Linear interpolation.
</summary>
</member>
<member name="F:Duality.Drawing.TextureMinFilter.NearestMipmapNearest">
<summary>
Point filtering with sharp edges. Mipmaps will be used, but switch from one to the next instantly.
</summary>
</member>
<member name="F:Duality.Drawing.TextureMinFilter.LinearMipmapNearest">
<summary>
Linear interpolation. Mipmaps will be used, but switch from one to the next instantly.
</summary>
</member>
<member name="F:Duality.Drawing.TextureMinFilter.NearestMipmapLinear">
<summary>
Point filtering with sharp edges. Mipmaps will be used and smoothly blend over from one to the next.
</summary>
</member>
<member name="F:Duality.Drawing.TextureMinFilter.LinearMipmapLinear">
<summary>
Linear interpolation. Mipmaps will be used and smoothly blend over from one to the next.
</summary>
</member>
<member name="T:Duality.Drawing.TextureWrapMode">
<summary>
Defines how Texture coordinates outside the regular [0 - 1] range will be handled.
</summary>
</member>
<member name="T:Duality.Drawing.TexturePixelFormat">
<summary>
Defines the format that is used to store the Textures pixel data.
</summary>
</member>
<member name="T:Duality.Components.IRendererVisibilityStrategy">
<summary>
Represents a strategy to determine which <see cref="T:Duality.ICmpRenderer">renderers</see> are currently visible
to a certain drawing device.
</summary>
</member>
<member name="M:Duality.Components.IRendererVisibilityStrategy.QueryVisibleRenderers(Duality.Drawing.IDrawDevice,Duality.RawList{Duality.ICmpRenderer})">
<summary>
Queries all renderers that are currently visible to the specified device.
</summary>
<param name="device"></param>
<param name="targetList">The list that should be updated by this method.</param>
<returns></returns>
</member>
<member name="M:Duality.Components.IRendererVisibilityStrategy.Update">
<summary>
Updates the strategy to account for changes in the <see cref="T:Duality.Resources.Scene"/>
after each frame update.
</summary>
</member>
<member name="M:Duality.Components.IRendererVisibilityStrategy.AddRenderer(Duality.ICmpRenderer)">
<summary>
Registers a new renderer.
</summary>
<param name="renderer"></param>
</member>
<member name="M:Duality.Components.IRendererVisibilityStrategy.RemoveRenderer(Duality.ICmpRenderer)">
<summary>
Removes a previously registered renderer.
</summary>
<param name="renderer"></param>
</member>
<member name="M:Duality.Components.IRendererVisibilityStrategy.CleanupRenderers">
<summary>
Removes disposed and invalid renderers from the rendering queue.
</summary>
</member>
<member name="P:Duality.Components.IRendererVisibilityStrategy.IsRendererQuerySorted">
<summary>
[GET] Specifies whether the output from <see cref="M:Duality.Components.IRendererVisibilityStrategy.QueryVisibleRenderers(Duality.Drawing.IDrawDevice,Duality.RawList{Duality.ICmpRenderer})"/> is sorted by Component type.
If it is, the system may use that information to provide more detailed profiling info that would otherwise
be too time-consuming to collect.
</summary>
</member>
<member name="T:Duality.Components.DefaultRendererVisibilityStrategy">
<summary>
Represents the default strategy to determine which <see cref="T:Duality.ICmpRenderer">renderers</see> are currently visible
to a certain drawing device.
</summary>
</member>
<member name="T:Duality.Input.Key">
<summary>
Each enum entry represents a physical key location on a keyboard.
These are not virtual key codes, but instead correspond to scancodes
and thus should be thought of as position indicators of a pressed key,
rather than a description of the letter that is printed on it.
In naming the enum entries, a US / Ascii / QWERTY keyboard is assumed
as a reference.
</summary>
</member>
<member name="T:Duality.Resources.ShaderFieldScope">
<summary>
The scope of a <see cref="T:Duality.Resources.AbstractShader">shader</see> variable
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldScope.Unknown">
<summary>
Unknown scope
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldScope.Uniform">
<summary>
It is a uniform variable, i.e. constant during all rendering stages
and set once per <see cref="T:Duality.Drawing.BatchInfo">draw batch</see>.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldScope.Attribute">
<summary>
It is a vertex attribute, i.e. defined for each vertex separately.
</summary>
</member>
<member name="T:Duality.Resources.ShaderFieldInfo">
<summary>
Provides information about a <see cref="T:Duality.Resources.AbstractShader">shader</see> variable.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldInfo.DefaultNameMainTex">
<summary>
The default variable name for a materials main texture.
</summary>
</member>
<member name="P:Duality.Resources.ShaderFieldInfo.Scope">
<summary>
[GET] The <see cref="T:Duality.Resources.ShaderFieldScope">scope</see> of the variable
</summary>
</member>
<member name="P:Duality.Resources.ShaderFieldInfo.Type">
<summary>
[GET] The <see cref="T:Duality.Resources.ShaderFieldType">type</see> of the variable
</summary>
</member>
<member name="P:Duality.Resources.ShaderFieldInfo.ArrayLength">
<summary>
[GET] If the variable is an array, this is its length. Arrays
are only supported for <see cref="F:Duality.Resources.ShaderFieldType.Int"/> and
<see cref="F:Duality.Resources.ShaderFieldType.Float"/>.
</summary>
</member>
<member name="P:Duality.Resources.ShaderFieldInfo.Name">
<summary>
[GET] The name of the variable, as declared in the shader.
</summary>
</member>
<member name="P:Duality.Resources.ShaderFieldInfo.IsPrivate">
<summary>
[GET] Returns whether the shader variable should be considered private.
</summary>
</member>
<member name="T:Duality.Resources.ShaderFieldType">
<summary>
The type of a <see cref="T:Duality.Resources.AbstractShader">shader</see> variable.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Unknown">
<summary>
Unknown type.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Bool">
<summary>
A <see cref="T:System.Boolean"/> variable.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Int">
<summary>
A <see cref="T:System.Int32"/> variable.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Float">
<summary>
A <see cref="T:System.Single"/> variable.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Vec2">
<summary>
A two-dimensional vector with <see cref="T:System.Single"/> precision.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Vec3">
<summary>
A three-dimensional vector with <see cref="T:System.Single"/> precision.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Vec4">
<summary>
A four-dimensional vector with <see cref="T:System.Single"/> precision.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Mat2">
<summary>
A 2x2 matrix with <see cref="T:System.Single"/> precision.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Mat3">
<summary>
A 3x3 matrix with <see cref="T:System.Single"/> precision.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Mat4">
<summary>
A 4x4 matrix with <see cref="T:System.Single"/> precision.
</summary>
</member>
<member name="F:Duality.Resources.ShaderFieldType.Sampler2D">
<summary>
Represents a texture binding and provides lookups.
</summary>
</member>
<member name="T:Duality.Backend.IPluginLoader">
<summary>
Specifies an API for enumerating and loading plugin Assemblies.
</summary>
</member>
<member name="M:Duality.Backend.IPluginLoader.LoadAssembly(System.String)">
<summary>
Loads a plugin Assembly from the specified path. For reliable cross-platform
usage, that path should be one of the <see cref="P:Duality.Backend.IPluginLoader.AvailableAssemblyPaths"/>.
</summary>
<param name="assemblyPath">The path from which the Assembly will be loaded.</param>
<returns></returns>
</member>
<member name="M:Duality.Backend.IPluginLoader.GetAssemblyHash(System.String)">
<summary>
Determines the hash code of the specified Assembly. This may be used for
verification or comparison purposes, such as determining whether two Assemblies
are equal.
</summary>
<param name="assemblyPath"></param>
<returns></returns>
</member>
<member name="M:Duality.Backend.IPluginLoader.Init">
<summary>
Initializes the plugin loader.
</summary>
</member>
<member name="M:Duality.Backend.IPluginLoader.Terminate">
<summary>
Terminates the plugin loader and provides the opportunity for its implementation
to shut down properly.
</summary>
</member>
<member name="E:Duality.Backend.IPluginLoader.AssemblyResolve">
<summary>
Fired when the runtime attempts to resolve a non-trivial <see cref="T:System.Reflection.Assembly"/>
dependency, which may or may not be a plugin. Handling this event allows to
specify which <see cref="T:System.Reflection.Assembly"/> to use.
</summary>
</member>
<member name="E:Duality.Backend.IPluginLoader.AssemblyLoaded">
<summary>
Fired when an <see cref="T:System.Reflection.Assembly"/> is loaded by the runtime.
</summary>
</member>
<member name="P:Duality.Backend.IPluginLoader.BaseDirectories">
<summary>
[GET] Enumerates all base directories that will be searched for plugin
Assemblies.
</summary>
</member>
<member name="P:Duality.Backend.IPluginLoader.AvailableAssemblyPaths">
<summary>
[GET] Enumerates all plugin Assemblies that are available for loading.
</summary>
</member>
<member name="P:Duality.Backend.IPluginLoader.LoadedAssemblies">
<summary>
[GET] Enumerates all Assemblies that are currently loaded in the context of this application.
</summary>
<returns></returns>
</member>
<member name="T:Duality.Serialization.Surrogates.CultureInfoSurrogate">
<summary>
De/Serializes a <see cref="T:System.Globalization.CultureInfo"/> instance.
</summary>
</member>
<member name="T:Duality.Serialization.SerializeSurrogate`1">
<summary>
Default base class for <see cref="T:Duality.Serialization.ISerializeSurrogate">Serialization Surrogates</see>. It implements both
<see cref="T:Duality.Serialization.ISerializeSurrogate"/> and <see cref="T:Duality.Serialization.ISerializeExplicit"/>, thus being able to fully perform de/serialization
of a designated object type.
</summary>
<typeparam name="T">
The base <see cref="T:System.Type"/> of objects this surrogate can replace.
</typeparam>
</member>
<member name="T:Duality.Serialization.ISerializeSurrogate">
<summary>
De/Serializes an object instead of letting it de/serialize itsself or using a Reflection-driven approach.
</summary>
<seealso cref="T:Duality.Serialization.SerializeSurrogate`1"/>
</member>
<member name="M:Duality.Serialization.ISerializeSurrogate.MatchesType(System.Reflection.TypeInfo)">
<summary>
Checks whether this surrogate is able to de/serialize the specified object type.
</summary>
<param name="t">The <see cref="T:System.Reflection.TypeInfo"/> of the object in question.</param>
<returns>True, if this surrogate is able to de/serialize such object, false if not.</returns>
</member>
<member name="M:Duality.Serialization.ISerializeSurrogate.WriteConstructorData(Duality.Serialization.IDataWriter)">
<summary>
Writes constructor data for the replaced object. This will be used in a deserialization pre-pass
for constructing the object. Note that constructor data may not contain any object references to
itsself, since it the object doesn't exist yet at this deserialization stage.
</summary>
<param name="writer">The <see cref="T:Duality.Serialization.IDataWriter"/> to serialize constructor data to.</param>
</member>
<member name="M:Duality.Serialization.ISerializeSurrogate.ConstructObject(Duality.Serialization.IDataReader,System.Reflection.TypeInfo)">
<summary>
Constructs an object in deserialization based on the constructor data that has been written in
serialization using <see cref="M:Duality.Serialization.ISerializeSurrogate.WriteConstructorData(Duality.Serialization.IDataWriter)"/>.
</summary>
<param name="reader">The <see cref="T:Duality.Serialization.IDataReader"/> to deserialize constructor data from.</param>
<param name="objType">The <see cref="T:System.Type"/> of the object to create.</param>
<returns>An instance of the specified <see cref="T:System.Reflection.TypeInfo"/> that has been constructed using the provided data.</returns>
</member>
<member name="P:Duality.Serialization.ISerializeSurrogate.RealObject">
<summary>
[GET / SET] The object that is de/serialized
</summary>
</member>
<member name="P:Duality.Serialization.ISerializeSurrogate.SurrogateObject">
<summary>
[GET] Returns a serializable object that represents the <see cref="P:Duality.Serialization.ISerializeSurrogate.RealObject"/>.
</summary>
</member>
<member name="P:Duality.Serialization.ISerializeSurrogate.Priority">
<summary>
[GET] If more than one registered ISurrogate is capable of de/serializing a given object type, the one
with the highest priority is picked.
</summary>
</member>
<member name="M:Duality.Serialization.SerializeSurrogate`1.MatchesType(System.Reflection.TypeInfo)">
<summary>
Checks whether this surrogate is able to de/serialize the specified object type.
</summary>
<param name="t">The <see cref="T:System.Reflection.TypeInfo"/> of the object in question.</param>
<returns>True, if this surrogate is able to de/serialize such object, false if not.</returns>
</member>
<member name="M:Duality.Serialization.SerializeSurrogate`1.WriteConstructorData(Duality.Serialization.IDataWriter)">
<summary>
Writes constructor data for the replaced object. This will be used in a deserialization pre-pass
for constructing the object. Note that constructor data may not contain any object references to
itsself, since it the object doesn't exist yet at this deserialization stage.
</summary>
<param name="writer">The <see cref="T:Duality.Serialization.IDataWriter"/> to serialize constructor data to.</param>
</member>
<member name="M:Duality.Serialization.SerializeSurrogate`1.WriteData(Duality.Serialization.IDataWriter)">
<summary>
Writes the object data to the specified <see cref="T:Duality.Serialization.IDataWriter"/>.
</summary>
<param name="writer"></param>
</member>
<member name="M:Duality.Serialization.SerializeSurrogate`1.ConstructObject(Duality.Serialization.IDataReader,System.Reflection.TypeInfo)">
<summary>
Constructs an object in deserialization based on the constructor data that has been written in
serialization using <see cref="M:Duality.Serialization.SerializeSurrogate`1.WriteConstructorData(Duality.Serialization.IDataWriter)"/>.
</summary>
<param name="reader">The <see cref="T:Duality.Serialization.IDataReader"/> to deserialize constructor data from.</param>
<param name="objType">The <see cref="T:System.Reflection.TypeInfo"/> of the object to create.</param>
<returns>An instance of the specified <see cref="T:System.Type"/> that has been constructed using the provided data.</returns>
</member>
<member name="M:Duality.Serialization.SerializeSurrogate`1.ReadData(Duality.Serialization.IDataReader)">
<summary>
Reads and applies the object data to the specified <see cref="T:Duality.Serialization.IDataReader"/>.
</summary>
<param name="reader"></param>
</member>
<member name="P:Duality.Serialization.SerializeSurrogate`1.RealObject">
<summary>
[GET] The object that is de/serialized
</summary>
</member>
<member name="P:Duality.Serialization.SerializeSurrogate`1.Priority">
<summary>
[GET] If more than one registered surrogate is capable of de/serializing a given object type, the one
with the highest priority is picked.
</summary>
</member>
<member name="T:Duality.Serialization.Surrogates.RegexSurrogate">
<summary>
De/Serializes a <see cref="T:System.Text.RegularExpressions.Regex"/>.
</summary>
</member>
<member name="T:Duality.GameObjectGroupEventArgs">
<summary>
Provides event arguments events related to groups of <see cref="T:Duality.GameObject"/> instances.
</summary>
</member>
<member name="M:Duality.GameObjectGroupEventArgs.#ctor(System.Collections.Generic.List{Duality.GameObject})">
<summary>
Creates a new <see cref="T:Duality.GameObjectGroupEventArgs"/> instance with the given list of objects.
Note that the list is not copied for performance reasons. However, the event also does not
provide any write access to that internal list either.
</summary>
<param name="rootObjects"></param>
</member>
<member name="P:Duality.GameObjectGroupEventArgs.Objects">
<summary>
[GET] Enumerates all objects in this event.
</summary>
</member>
<member name="M:Duality.ExtMethodsTargetResize.Apply(Duality.TargetResize,Duality.Vector2,Duality.Vector2)">
<summary>
Resizes rect boundaries to match the specified target size.
</summary>
<param name="mode"></param>
<param name="baseSize"></param>
<param name="targetSize"></param>
<returns></returns>
</member>
<member name="F:Duality.AudioUnit.AngleToDuality">
<summary>
SI unit: radians
</summary>
</member>
<member name="F:Duality.AudioUnit.LengthToDuality">
<summary>
SI unit: m
</summary>
</member>
<member name="F:Duality.AudioUnit.TimeToDuality">
<summary>
SI unit: s
</summary>
</member>
<member name="F:Duality.AudioUnit.VelocityToDuality">
<summary>
SI unit: m/s
</summary>
</member>
<member name="T:Duality.TargetResize">
<summary>
Describes how a rectangular object is resized to fit a target size.
</summary>
</member>
<member name="F:Duality.TargetResize.None">
<summary>
No resize takes place.
</summary>
</member>
<member name="F:Duality.TargetResize.Stretch">
<summary>
The resize will match the object's width and height exactly with the target size.
</summary>
</member>
<member name="F:Duality.TargetResize.Fit">
<summary>
The resize will scale the object so it fits inside the target rect, while keeping its aspect ratio.
</summary>
</member>
<member name="F:Duality.TargetResize.Fill">
<summary>
The resize will scale the object so the entire target rect fits inside, while keeping its aspect ratio.
</summary>
</member>
<member name="T:Duality.RefreshMode">
<summary>
Specifies intervals and modes to refresh the screen and update the game.
</summary>
</member>
<member name="F:Duality.RefreshMode.NoSync">
<summary>
Refreshes occur as fast as possible with no wait inbetween.
</summary>
</member>
<member name="F:Duality.RefreshMode.ManualSync">
<summary>
Refreshes target 60 FPS and will use wait for each frame to use its entire available time.
Doesn't use hardware / driver VSync, but prevents 100% CPU usage.
</summary>
</member>
<member name="F:Duality.RefreshMode.VSync">
<summary>
Refreshes wait for the hardware / driver VSync.
</summary>
</member>
<member name="F:Duality.RefreshMode.AdaptiveVSync">
<summary>
Refreshes wait for the hardware / driver VSync as long as the target framerate is reached. When
falling below, VSync will be temporarily suspended.
</summary>
</member>
<member name="T:Duality.AAQuality">
<summary>
Specifies the quality level of the anti-aliasing used for rendering.
</summary>
</member>
<member name="F:Duality.AAQuality.High">
<summary>
Highest possible quality. Sacrifices performance for smooth edges. Can be a problem on older machines.
</summary>
</member>
<member name="F:Duality.AAQuality.Medium">
<summary>
Medium quality. A tradeoff between looks and Profile.
</summary>
</member>
<member name="F:Duality.AAQuality.Low">
<summary>
Low quality. Favors Profile.
</summary>
</member>
<member name="F:Duality.AAQuality.Off">
<summary>
No hardware anti-aliasing is used at all.
</summary>
</member>
<member name="T:Duality.ScreenMode">
<summary>
Describes the way a Duality window is set up.
</summary>
</member>
<member name="F:Duality.ScreenMode.Window">
<summary>
Duality runs in windowed mode. The window can be resized by the user.
</summary>
</member>
<member name="F:Duality.ScreenMode.FixedWindow">
<summary>
Duality runs in windowed mode. The window has a fixed size.
</summary>
</member>
<member name="F:Duality.ScreenMode.FullWindow">
<summary>
Duality runs in windowed mode. The window is borderless and covers the whole screen.
</summary>
</member>
<member name="F:Duality.ScreenMode.Native">
<summary>
Duality runs in fullscreen mode, using whatever screen resolution is currently active on the users desktop.
</summary>
</member>
<member name="F:Duality.ScreenMode.Fullscreen">
<summary>
Duality runs in fullscreen mode and changes desktop resolution whenever necesary.
</summary>
</member>
<member name="T:Duality.Editor.EditorHintImageAttribute">
<summary>
Provides an icon or image that can be used to represent the given Type within the editor.
</summary>
</member>
<member name="T:Duality.Editor.EditorHintAttribute">
<summary>
An attribute that provides information about a Types or Members preferred editor behaviour.
</summary>
</member>
<member name="M:Duality.Editor.EditorHintAttribute.Get``1(System.Reflection.MemberInfo,System.Collections.Generic.IEnumerable{Duality.Editor.EditorHintAttribute})">
<summary>
Retrieves the specified editor hint attribute from a member, if existing.
</summary>
<typeparam name="T">The Type of editor hint to retrieve.</typeparam>
<param name="member">The member to extract the hint from. May be null.</param>
<param name="overrideHint">An optional override hint, that will be preferred, if applicable.</param>
<returns></returns>
</member>
<member name="M:Duality.Editor.EditorHintAttribute.GetAll``1(System.Reflection.MemberInfo,System.Collections.Generic.IEnumerable{Duality.Editor.EditorHintAttribute})">
<summary>
Retrieves the specified editor hint attributes from a member, if existing.
</summary>
<typeparam name="T">The Type of editor hints to retrieve.</typeparam>
<param name="member">The member to extract the hints from. May be null.</param>
<param name="overrideHints">An optional collection of override hints, that will be preferred, if applicable.</param>
<returns></returns>
</member>
<member name="P:Duality.Editor.EditorHintImageAttribute.IconImageObject">
<summary>
[GET] The icon image object that will be used to represent this Type.
</summary>
</member>
<member name="T:Duality.Editor.EditorHintCategoryAttribute">
<summary>
Provides information about a Types editor category.
</summary>
</member>
<member name="P:Duality.Editor.EditorHintCategoryAttribute.CategoryTree">
<summary>
[GET] The preferred category tree to fit this Type in, split into hierarchial tokens.
</summary>
</member>
<member name="P:Duality.Editor.EditorHintCategoryAttribute.Category">
<summary>
[GET] The preferred category tree to fit this Type in.
</summary>
</member>
<member name="T:Duality.Editor.EditorHintDecimalPlacesAttribute">
<summary>
Provides information about a numerical members decimal accuracy
</summary>
</member>
<member name="P:Duality.Editor.EditorHintDecimalPlacesAttribute.Places">
<summary>
[GET] The preferred number of displayed decimal places
</summary>
</member>
<member name="T:Duality.Editor.EditorHintIncrementAttribute">
<summary>
Provides information about a numerical members value increment.
</summary>
</member>
<member name="P:Duality.Editor.EditorHintIncrementAttribute.Increment">
<summary>
[GET] The members value increment.
</summary>
</member>
<member name="T:Duality.Editor.EditorHintRangeAttribute">
<summary>
Provides information about a numerical members allowed value range.
</summary>
</member>
<member name="P:Duality.Editor.EditorHintRangeAttribute.LimitMinimum">
<summary>
[GET] The members limiting minimum value.
</summary>
</member>
<member name="P:Duality.Editor.EditorHintRangeAttribute.LimitMaximum">
<summary>
[GET] The members limiting maximum value.
</summary>
</member>
<member name="P:Duality.Editor.EditorHintRangeAttribute.ReasonableMinimum">
<summary>
[GET] The members reasonable (non-limiting) minimum value.
</summary>
</member>
<member name="P:Duality.Editor.EditorHintRangeAttribute.ReasonableMaximum">
<summary>
[GET] The members reasonable (non-limiting) maximum value.
</summary>
</member>
<member name="T:Duality.Editor.EditorHintFlagsAttribute">
<summary>
Provides general information about a members preferred editor behaviour.
</summary>
</member>
<member name="P:Duality.Editor.EditorHintFlagsAttribute.Flags">
<summary>
[GET] Flags that indicate the members general behaviour
</summary>
</member>
<member name="T:Duality.Editor.MemberFlags">
<summary>
Some general flags for Type members that indicate preferred editor behaviour.
</summary>
</member>
<member name="F:Duality.Editor.MemberFlags.None">
<summary>
No flags set.
</summary>
</member>
<member name="F:Duality.Editor.MemberFlags.ForceWriteback">
<summary>
When editing the Properties or Fields value, a final set operation is requested to finish editing.
</summary>
</member>
<member name="F:Duality.Editor.MemberFlags.Invisible">
<summary>
The member is considered invisible. Will override visibility rules derived from reflection.
</summary>
</member>
<member name="F:Duality.Editor.MemberFlags.ReadOnly">
<summary>
The member is considered read-only, even if writing is possible via reflection.
</summary>
</member>
<member name="F:Duality.Editor.MemberFlags.AffectsOthers">
<summary>
Indicates that editing the member may have an effect on any other member of the current object.
</summary>
</member>
<member name="F:Duality.Editor.MemberFlags.Visible">
<summary>
The member is considered visible. Will override visibility rules derived from reflection.
</summary>
</member>
<member name="T:Duality.DualityPluginEventArgs">
<summary>
Provides event arguments related to <see cref="T:Duality.CorePlugin"/> instances.
</summary>
</member>
<member name="T:Duality.ComponentEventArgs">
<summary>
Provides event arguments for <see cref="T:Duality.Component"/>-related events.
</summary>
</member>
<member name="P:Duality.ComponentEventArgs.Component">
<summary>
[GET] The affected Component.
</summary>
</member>
<member name="P:Duality.TransformChangedEventArgs.Changes">
<summary>
[GET] The changes that have been made since the last update.
</summary>
</member>
<member name="T:Duality.GameObjectParentChangedEventArgs">
<summary>
Provides event arguments for a <see cref="T:Duality.GameObject">GameObjects</see> "<see cref="P:Duality.GameObject.Parent"/> changed" events.
</summary>
</member>
<member name="T:Duality.GameObjectEventArgs">
<summary>
Provides event arguments for <see cref="T:Duality.GameObject"/>-related events.
</summary>
</member>
<member name="P:Duality.GameObjectEventArgs.Object">
<summary>
[GET] The affected GameObject.
</summary>
</member>
<member name="P:Duality.GameObjectParentChangedEventArgs.OldParent">
<summary>
[GET] The GameObjects old parent.
</summary>
</member>
<member name="P:Duality.GameObjectParentChangedEventArgs.NewParent">
<summary>
[GET] The GameObjects new parent.
</summary>
</member>
<member name="M:Duality.Drawing.ExtMethodsIColorData.ConvertTo``1(Duality.Drawing.IColorData)">
<summary>
Converts the color to a different color data format. If there is also a
specific method doing the desired conversion, use that instead - it might be faster.
</summary>
<typeparam name="T"></typeparam>
<param name="source"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ExtMethodsIColorData.ConvertTo(Duality.Drawing.IColorData,System.Type)">
<summary>
Converts the color to a different color data format. If there is also a
specific method doing the desired conversion, use that instead - it might be faster.
</summary>
<param name="source"></param>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsMemberInfo.IsEquivalent(System.Reflection.MemberInfo,System.Reflection.MemberInfo)">
<summary>
Determines whether two <see cref="T:System.Reflection.MemberInfo"/> instances refer to the same member,
regardless of the context in which each instance was obtained.
</summary>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.ExtMethodsStream.NonClosing(System.IO.Stream)">
<summary>
Wraps the Stream inside a <see cref="T:Duality.IO.NonClosingStreamWrapper">proxy</see> that won't close the underlying stream when being closed.
</summary>
<param name="stream"></param>
<returns></returns>
</member>
<member name="M:Duality.IO.ExtMethodsStream.SubStream(System.IO.Stream,System.Int64)">
<summary>
Wraps the Stream inside a proxy that allows accessing only a certain subsection of the Stream,
beginning a its current Position. The <see cref="T:Duality.IO.SubStreamWrapper"/> allows seeking and rewinding
back to its original Position, even if the underlying Stream doesn't. Closing the sub-Stream will
not close the underlying base Stream.
</summary>
<param name="stream"></param>
<param name="maxLength">The maximum length in bytes that is accessible using the sub-Stream. Specify -1 for not limiting it.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsTypeInfo.IsInstanceOfType(System.Reflection.TypeInfo,System.Object)">
<summary>
Returns whether the specified object is an instance of the specified TypeInfo.
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsTypeInfo.GetBaseTypeInfo(System.Reflection.TypeInfo)">
<summary>
Returns a TypeInfos BaseType as a TypeInfo, or null if it was null.
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsTypeInfo.GetInheritanceDepth(System.Reflection.TypeInfo)">
<summary>
Returns a Types inheritance level. The <c>object</c>-Type has an inheritance level of
zero, each subsequent inheritance increases it by one.
</summary>
<param name="t"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsTypeInfo.DeclaredFieldsDeep(System.Reflection.TypeInfo)">
<summary>
Returns all fields that are declared within this Type, or any of its base Types.
Includes public, non-public, static and instance fields.
</summary>
<param name="flags"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsTypeInfo.DeclaredPropertiesDeep(System.Reflection.TypeInfo)">
<summary>
Returns all properties that are declared within this Type, or any of its base Types.
Includes public, non-public, static and instance properties.
</summary>
<param name="flags"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsTypeInfo.DeclaredMembersDeep(System.Reflection.TypeInfo)">
<summary>
Returns all members that are declared within this Type, or any of its base Types.
Includes public, non-public, static and instance fields.
</summary>
<param name="flags"></param>
<returns></returns>
</member>
<member name="T:Duality.IReadOnlyGrid`1">
<summary>
Represents a readonly interface for two-dimensional grid-aligned data.
</summary>
<typeparam name="T"></typeparam>
</member>
<member name="P:Duality.IReadOnlyGrid`1.Width">
<summary>
[GET] The grids width.
</summary>
</member>
<member name="P:Duality.IReadOnlyGrid`1.Height">
<summary>
[GET] The grids height.
</summary>
</member>
<member name="P:Duality.IReadOnlyGrid`1.Item(System.Int32,System.Int32)">
<summary>
[GET] Accesses a grid element at the specified position.
</summary>
<param name="x"></param>
<param name="y"></param>
<returns></returns>
</member>
<member name="T:Duality.Grid`1">
<summary>
Represents two-dimensional grid-aligned data.
</summary>
<typeparam name="T"></typeparam>
</member>
<member name="M:Duality.Grid`1.#ctor">
<summary>
Creates a new, empty grid.
</summary>
</member>
<member name="M:Duality.Grid`1.#ctor(System.Int32,System.Int32)">
<summary>
Creates a new grid of the specified size.
</summary>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.Grid`1.#ctor(System.Int32,System.Int32,`0[])">
<summary>
Creates a new grid based on the specified raw data array. It will not be copied, but directly used.
</summary>
<param name="width"></param>
<param name="height"></param>
<param name="wrapAround"></param>
</member>
<member name="M:Duality.Grid`1.#ctor(Duality.Grid{`0})">
<summary>
Creates a copy of the specified grid.
</summary>
<param name="other"></param>
</member>
<member name="M:Duality.Grid`1.GetGridIndex(System.Int32)">
<summary>
Determines the two-dimensional grid index from the specified raw data index.
</summary>
<param name="dataIndex"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.GetDataIndex(System.Int32,System.Int32)">
<summary>
Determines the raw data index from the specified two-dimensional grid index.
</summary>
<param name="gridX"></param>
<param name="gridY"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.IndexOf(`0)">
<summary>
Determines the index of the specified item.
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.Find(System.Predicate{`0})">
<summary>
Finds an item that matches the specified predicate.
</summary>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.FindAll(System.Predicate{`0})">
<summary>
Finds all items that match the specified predicate.
</summary>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.FindIndex(System.Predicate{`0})">
<summary>
Finds the index of an item that matches the specified predicate.
</summary>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.FindAllIndices(System.Predicate{`0})">
<summary>
Finds all indices of items that match the specified predicate.
</summary>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.Contains(`0)">
<summary>
Determines whether the specified item is contained within this grid.
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.GetContentBoundaries(Duality.Point2@,Duality.Point2@)">
<summary>
Determines the boundaries of the grids non-null content.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.Fill(`0,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Fills a rectangular region of the grid with the specified value.
</summary>
<param name="item"></param>
<param name="x"></param>
<param name="y"></param>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.Grid`1.Remove(`0)">
<summary>
Removes the specified item from the grid.
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.RemoveAll(System.Predicate{`0})">
<summary>
Removes all items from the grid that match the specified criteria.
</summary>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:Duality.Grid`1.Clear">
<summary>
Clears the grid without modifying its size.
</summary>
</member>
<member name="M:Duality.Grid`1.AssumeRect(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Resizes the grid and translates its contents, so it assumes the specified rectangular region,
relative to its former shape. X and Y values may be negative, to grow the grid on its left or top side.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.Grid`1.Resize(System.Int32,System.Int32,Duality.Alignment)">
<summary>
Resizes the grid.
</summary>
<param name="newWidth"></param>
<param name="newHeight"></param>
<param name="origin"></param>
</member>
<member name="M:Duality.Grid`1.ResizeClear(System.Int32,System.Int32)">
<summary>
Resizes the grid and clears its contents. The fact that the old contents can be discarded
allows to perform the resize operation more efficiently.
</summary>
<param name="newWidth"></param>
<param name="newHeight"></param>
<param name="origin"></param>
</member>
<member name="M:Duality.Grid`1.ShrinkToFit(Duality.Grid{`0}.ShrinkMode)">
<summary>
Shrinks the grid to match its non-null content boundaries.
</summary>
<param name="mode"></param>
</member>
<member name="M:Duality.Grid`1.CopyTo``1(Duality.Grid{``0},System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Func{`0,``0,``0})">
<summary>
Copies the grids contents to the specified other grid.
</summary>
<typeparam name="U"></typeparam>
<param name="target"></param>
<param name="destX"></param>
<param name="destY"></param>
<param name="width"></param>
<param name="height"></param>
<param name="srcX"></param>
<param name="srcY"></param>
<param name="selector"></param>
</member>
<member name="M:Duality.Grid`1.CopyTo(`0[],System.Int32)">
<summary>
Copies the grids contents to the specified array, line by line.
</summary>
<param name="array"></param>
<param name="arrayIndex"></param>
</member>
<member name="P:Duality.Grid`1.RawData">
<summary>
[GET] The underlying raw data of the grid. You shouldn't need to access this in regular usage - it's just there to
allow to operate directly on the data block for higher performance on large batch operations.
</summary>
</member>
<member name="P:Duality.Grid`1.Width">
<summary>
[GET / SET] The grids width. Setting this will perform a resize operation.
</summary>
</member>
<member name="P:Duality.Grid`1.Height">
<summary>
[GET / SET] The grids height. Setting this will perform a resize operation.
</summary>
</member>
<member name="P:Duality.Grid`1.Capacity">
<summary>
[GET / SET] The grids total capacity for elements. Equals <see cref="P:Duality.Grid`1.Width"/> times <see cref="P:Duality.Grid`1.Height"/>.
</summary>
</member>
<member name="P:Duality.Grid`1.Item(System.Int32,System.Int32)">
<summary>
[GET / SET] Accesses a grid element at the specified position.
</summary>
<param name="x"></param>
<param name="y"></param>
<returns></returns>
</member>
<member name="T:Duality.Grid`1.ShrinkMode">
<summary>
Specifies flags on how to shrink a grid to its minimal size.
</summary>
</member>
<member name="F:Duality.Grid`1.ShrinkMode.None">
<summary>
Don't shrink the grid at all.
</summary>
</member>
<member name="F:Duality.Grid`1.ShrinkMode.X">
<summary>
Shrink the grid horizontally.
</summary>
</member>
<member name="F:Duality.Grid`1.ShrinkMode.Y">
<summary>
Shrink the grid vertically.
</summary>
</member>
<member name="F:Duality.Grid`1.ShrinkMode.Both">
<summary>
Shrink the grid both horizontally and vertically.
</summary>
</member>
<member name="T:Duality.ILogOutput">
<summary>
Represents a single <see cref="T:Duality.Log"/> output and provides actual writing functionality for
</summary>
</member>
<member name="M:Duality.ILogOutput.Write(Duality.LogEntry)">
<summary>
Writes a single message to the output.
</summary>
<param name="entry">The new log entry that is to be written to the output.</param>
</member>
<member name="T:Duality.LogMessageType">
<summary>
The type of a log message / entry.
</summary>
</member>
<member name="F:Duality.LogMessageType.Message">
<summary>
Just a regular message. Nothing special. Neutrally informs about what's going on.
</summary>
</member>
<member name="F:Duality.LogMessageType.Warning">
<summary>
A warning message. It informs about unexpected data or behaviour that might not have caused any errors yet, but can lead to them.
It might also be used for expected errors from which Duality is likely to recover.
</summary>
</member>
<member name="F:Duality.LogMessageType.Error">
<summary>
An error message. It informs about an unexpected and/or critical error that has occurred.
</summary>
</member>
<member name="T:Duality.LogEntry">
<summary>
A log entry.
</summary>
</member>
<member name="P:Duality.LogEntry.Source">
<summary>
[GET] The <see cref="T:Duality.Log"/> from which this entry originates.
</summary>
</member>
<member name="P:Duality.LogEntry.Type">
<summary>
[GET] The messages type.
</summary>
</member>
<member name="P:Duality.LogEntry.Message">
<summary>
[GET] The log entry's message.
</summary>
</member>
<member name="P:Duality.LogEntry.Context">
<summary>
[GET] The context in which this log was written. Usually the primary object the log entry is associated with.
</summary>
</member>
<member name="P:Duality.LogEntry.TimeStamp">
<summary>
[GET] The messages timestamp.
</summary>
</member>
<member name="P:Duality.LogEntry.FrameStamp">
<summary>
[GET] The value of <see cref="P:Duality.Time.FrameCount"/> when the message was logged.
</summary>
</member>
<member name="P:Duality.LogEntry.Indent">
<summary>
[GET] The desired indentation level for this log message when displaying it.
</summary>
</member>
<member name="T:Duality.Range">
<summary>
Represents a range of values between a specific minimum and maximum value.
</summary>
</member>
<member name="F:Duality.Range.MinValue">
<summary>
The minimum value of this Range.
</summary>
</member>
<member name="F:Duality.Range.MaxValue">
<summary>
The maximum value of this Range.
</summary>
</member>
<member name="M:Duality.Range.#ctor(System.Single,System.Single)">
<summary>
Creates a new Range from mininmum and maximum values.
</summary>
<param name="min"></param>
<param name="max"></param>
</member>
<member name="M:Duality.Range.#ctor(System.Single)">
<summary>
Creates a new Range with zero-width from a single value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Range.Lerp(System.Single)">
<summary>
Performs a linear interpolation between the Ranges minimum and maximum value using the specified blend factor.
</summary>
<param name="ratio"></param>
<returns></returns>
</member>
<member name="M:Duality.Range.Normalize">
<summary>
Normalizes this Range, i.e. flips minimum and maximum value, if irregular.
</summary>
</member>
<member name="M:Duality.Range.Contains(System.Single)">
<summary>
Returns whether this Range contains a certain value.
</summary>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:Duality.Range.Contains(Duality.Range)">
<summary>
Returns whether this Range contains a certain other range.
</summary>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:Duality.Range.op_Equality(Duality.Range,Duality.Range)">
<summary>
Returns whether two Ranges are equal.
</summary>
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:Duality.Range.op_Inequality(Duality.Range,Duality.Range)">
<summary>
Returns whether two Ranges are inequal.
</summary>
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:Duality.Range.op_Addition(Duality.Range,Duality.Range)">
<summary>
Adds two Ranges by adding each of their components individually.
</summary>
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:Duality.Range.op_Subtraction(Duality.Range,Duality.Range)">
<summary>
Subtracts two Ranges by subtracting each of their components individually.
</summary>
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:Duality.Range.op_Multiply(Duality.Range,Duality.Range)">
<summary>
Multiplies two Ranges by multiplying each of their components individually.
</summary>
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:Duality.Range.op_Division(Duality.Range,Duality.Range)">
<summary>
Divides two Ranges by dividing each of their components individually.
</summary>
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:Duality.Range.op_Implicit(System.Single)~Duality.Range">
<summary>
Performs an implicit conversion from a single value to a ranged value.
</summary>
<param name="value"></param>
<returns></returns>
</member>
<member name="P:Duality.Range.Width">
<summary>
[GET] The total width of this Range. This value may be negative for irregular ranges,
i.e. ranges with a higher minimum value than their maximum value.
</summary>
</member>
<member name="P:Duality.Range.Center">
<summary>
[GET] The center value of this Range.
</summary>
</member>
<member name="P:Duality.Range.Normalized">
<summary>
[GET] Returns a normalized version of this Range where the minimum is guaranteed to be smaller than the maximum value.
</summary>
</member>
<member name="M:Duality.ObjectCreator.CreateInstanceOf(System.Reflection.TypeInfo)">
<summary>
Creates an instance of a Type. Attempts to use the Types default empty constructor, but will
return an uninitialized object in case no constructor is available.
</summary>
<param name="typeInfo">The Type to create an instance of.</param>
<returns>An instance of the Type. Null, if instanciation wasn't possible.</returns>
</member>
<member name="M:Duality.ObjectCreator.GetDefaultOf(System.Reflection.TypeInfo)">
<summary>
Returns the default instance of a Type. Equals <c>default(T)</c>, but works for Reflection.
</summary>
<param name="instanceType">The Type to create a default instance of.</param>
<returns></returns>
</member>
<member name="M:Duality.ObjectCreator.ClearTypeCache">
<summary>
Clears the ReflectionHelpers Type cache.
</summary>
</member>
<member name="T:Duality.IO.SubStreamWrapper">
<summary>
Wraps a <see cref="T:System.IO.Stream"/> inside a proxy that allows accessing only a certain portion of the Stream,
beginning a its current Position. Using internal buffering, the SubStream allows seeking and rewinding
back to its original Position, even if the underlying Stream doesn't. Closing the SubStream will not
close its underlying Stream.
</summary>
</member>
<member name="T:Duality.IO.NonClosingStreamWrapper">
<summary>
Wraps a <see cref="T:System.IO.Stream"/>, but only pretends to close it without actually doing so.
</summary>
</member>
<member name="T:Duality.IO.StreamWrapper">
<summary>
Wraps a <see cref="T:System.IO.Stream"/> within a new one, and forwards all functionality to the underlying Stream.
</summary>
</member>
<member name="M:Duality.Cloning.CloneProvider.CloneObject``1(``0,System.Boolean)">
<summary>
Clones the specified object and returns the cloned instance.
</summary>
<typeparam name="T"></typeparam>
<param name="source"></param>
<param name="preserveCache">
If true, the mapping between source and target object graph is preserved.
This can be useful for doing a partial clone operation that is later continued or
repeated using the same <see cref="T:Duality.Cloning.CloneProvider"/> instance. Since the mapping is
already present, performance of subsequent clone operations within the same object
graph can benefit by this.
</param>
<returns></returns>
</member>
<member name="M:Duality.Cloning.CloneProvider.CopyObject``1(``0,``0,System.Boolean)">
<summary>
Copies the specified source object graph to the specified target object
graph. Where possible, existing objects will be preserved and updated,
rather than being overwritten.
</summary>
<typeparam name="T"></typeparam>
<param name="source"></param>
<param name="target"></param>
<param name="preserveCache">
If true, the mapping between source and target object graph is preserved.
This can be useful for doing a partial clone operation that is later continued or
repeated using the same <see cref="T:Duality.Cloning.CloneProvider"/> instance. Since the mapping is
already present, performance of subsequent clone operations within the same object
graph can benefit by this.
</param>
</member>
<member name="M:Duality.Cloning.CloneProvider.ClearCachedMapping">
<summary>
Clears the clone providers internal mapping between source and target
object graph. This is done automatically, unless the copy or clone
operation has been performed with explicitly preserving the cache.
</summary>
</member>
<member name="M:Duality.Cloning.CloneProvider.BeginCloneOperation(System.Object,System.Object)">
<summary>
Prepares the clone operation by generating a mapping between source
and target object graph, and creating the target objects where required in the
process.
</summary>
<param name="source"></param>
<param name="target"></param>
<returns>Returns a reference to the target root object.</returns>
</member>
<member name="M:Duality.Cloning.CloneProvider.EndCloneOperation(System.Boolean)">
<summary>
Ends the current clone operation by clearing all the working data that was
allocated in the process.
</summary>
<param name="preserveMapping">
If true, the mapping between source and target object graph is preserved.
This can be useful for doing a partial clone operation that is later continued or
repeated using the same <see cref="T:Duality.Cloning.CloneProvider"/> instance. Since the mapping is
already present, performance of subsequent clone operations within the same object
graph can benefit by this.
</param>
</member>
<member name="M:Duality.Cloning.CloneProvider.SetTargetOf(System.Object,System.Object)">
<summary>
Registers a mapping from the specified source object to its
target object graph equivalent. This is a one-to-one relation.
</summary>
<param name="source"></param>
<param name="target"></param>
</member>
<member name="M:Duality.Cloning.CloneProvider.GetTargetOf(System.Object,System.Object@)">
<summary>
Retrieves the target graph equivalent of the specified source
graph object and returns whether there is a valid source-target
relation.
Note that the resulting target object will (expected to) be the
same as the source object in cases where there is no mapping, but
reference assignment instead.
</summary>
<param name="source"></param>
<param name="target"></param>
<returns></returns>
</member>
<member name="M:Duality.Cloning.CloneProvider.PushCurrentObject(System.Object,Duality.Cloning.CloneType)">
<summary>
Adds the specified source object to the handled object stack when
required and returns whether the object need to be investigated as
part of the copy step at all.
</summary>
<param name="source"></param>
<param name="typeData"></param>
<returns></returns>
</member>
<member name="M:Duality.Cloning.CloneProvider.PopCurrentObject(System.Object,Duality.Cloning.CloneType)">
<summary>
Removes the specified source object from the handled object stack
after finishing its copy step.
</summary>
<param name="source"></param>
<param name="typeData"></param>
<returns></returns>
</member>
<member name="M:Duality.Cloning.CloneProvider.GetCloneType(System.Type)">
<summary>
Returns the <see cref="T:Duality.Cloning.CloneType"/> of a Type.
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="P:Duality.Cloning.CloneProvider.Context">
<summary>
[GET] Provides information about the context in which the operation is performed.
</summary>
</member>
<member name="T:Duality.Cloning.CloneProvider.ReferenceEqualityComparer">
<summary>
Compares two objects for equality strictly by reference. This is needed to build
the object id mapping, since some objects may expose some unfortunate equality behavior,
and we really want to distinguish different objects by reference, and not by "content" here.
</summary>
</member>
<member name="T:Duality.Cloning.CloneProviderContext">
<summary>
Describes the context of a cloning operation
</summary>
</member>
<member name="F:Duality.Cloning.CloneProviderContext.Default">
<summary>
A standard cloning operation.
</summary>
</member>
<member name="P:Duality.Cloning.CloneProviderContext.PreserveIdentity">
<summary>
[GET] Should the operation preserve each objects identity? If false, specific identity-preserving data
field such as Guid or Id fields will be copied as well. This might result in duplicate IDs.
</summary>
</member>
<member name="T:Duality.Cloning.ICloneExplicit">
<summary>
Provides a general interface for an object type that will provide and explicit method for cloning
rather than falling back to automated cloning behavior.
</summary>
</member>
<member name="M:Duality.Cloning.ICloneExplicit.SetupCloneTargets(System.Object,Duality.Cloning.ICloneTargetSetup)">
<summary>
Performs the cloning setup step, in which all reference-type instances from the target object
graph are generated.
The purpose of this method is to help the cloning system walk the entire (relevant) object graph
in order to determine which objects are referenced and which are owned / deep-cloned, as well as
creating instances or re-using existing instances from the target graph.
Walking this object's part of the source object graph and mapping instances to their target object
graph correspondents is done by using the <see cref="T:Duality.Cloning.ICloneTargetSetup"/> interface methods for
handling object instances and struct values.
</summary>
<param name="target">
The object instance from the target graph that corresponds to this object's instance in the source graph.
When invoking this method, the target object will either have existed already, or been created by the
cloning system.
</param>
<param name="setup">The setup environment for the cloning operation.</param>
</member>
<member name="M:Duality.Cloning.ICloneExplicit.CopyDataTo(System.Object,Duality.Cloning.ICloneOperation)">
<summary>
Performs the cloning copy step, in which all data is copied from source instances to
target instances. No new object instances should be created in this step, as object creation
should be part of the setup step instead.
</summary>
<param name="target">
The object instance from the target graph that corresponds to this object's instance in the source graph.
When invoking this method, the target object will either have existed already, or been created by the
cloning system.
</param>
<param name="operation"></param>
</member>
<member name="T:Duality.Component">
<summary>
Components are isolated logic units that can independently be added to and removed from <see cref="T:Duality.GameObject">GameObjects</see>.
Each Component has a distinct purpose, thus it is not possible to add multiple Components of the same Type to one GameObject.
Also, a Component may not belong to multiple GameObjects at once.
</summary>
</member>
<member name="T:Duality.IManageableObject">
<summary>
Represents an object that can be de/activated and explicitly released / disposed
</summary>
</member>
<member name="M:Duality.IManageableObject.Dispose">
<summary>
Disposes the object.
</summary>
</member>
<member name="P:Duality.IManageableObject.Disposed">
<summary>
[GET] Returns whether the object is considered disposed.
</summary>
</member>
<member name="P:Duality.IManageableObject.Active">
<summary>
[GET] Returns whether the object is currently active.
</summary>
</member>
<member name="T:Duality.Serialization.IUniqueIdentifyable">
<summary>
An object that implements this interface is able to choose its own, fixed object id during serialization.
This can under some circumstances help to minimize versioning conflicts due to a modified object id naming scheme.
</summary>
</member>
<member name="P:Duality.Serialization.IUniqueIdentifyable.PreferredId">
<summary>
[GET] The object id that will be picked preferrably for this object.
</summary>
</member>
<member name="M:Duality.Component.Dispose">
<summary>
Disposes this Component. You usually don't need this - use <see cref="M:Duality.ExtMethodsIManageableObject.DisposeLater(Duality.IManageableObject)"/> instead.
</summary>
<seealso cref="M:Duality.ExtMethodsIManageableObject.DisposeLater(Duality.IManageableObject)"/>
</member>
<member name="M:Duality.Component.Clone">
<summary>
Creates a deep copy of this Component.
</summary>
<returns>A reference to a newly created deep copy of this Component.</returns>
</member>
<member name="M:Duality.Component.CopyTo(Duality.Component)">
<summary>
Deep-copies this Components data to the specified target Component. If source and
target Component Type do not match, the operation will fail.
</summary>
<param name="target">The target Component to copy to.</param>
</member>
<member name="M:Duality.Component.OnSetupCloneTargets(System.Object,Duality.Cloning.ICloneTargetSetup)">
<summary>
This method prepares the <see cref="M:Duality.Component.CopyTo(Duality.Component)"/> operation for custom Component Types.
It uses reflection to prepare the cloning operation automatically, but you can implement
this method in order to handle certain fields and cases manually. See <see cref="M:Duality.Cloning.ICloneExplicit.SetupCloneTargets(System.Object,Duality.Cloning.ICloneTargetSetup)"/>
for a more thorough explanation.
</summary>
<param name="setup"></param>
</member>
<member name="M:Duality.Component.OnCopyDataTo(System.Object,Duality.Cloning.ICloneOperation)">
<summary>
This method performs the <see cref="M:Duality.Component.CopyTo(Duality.Component)"/> operation for custom Component Types.
It uses reflection to perform the cloning operation automatically, but you can implement
this method in order to handle certain fields and cases manually. See <see cref="M:Duality.Cloning.ICloneExplicit.CopyDataTo(System.Object,Duality.Cloning.ICloneOperation)"/>
for a more thorough explanation.
</summary>
<param name="target">The target Component where this Components data is copied to.</param>
<param name="operation"></param>
</member>
<member name="M:Duality.Component.RequiresComponent(System.Type)">
<summary>
Returns whether this Component requires a Component of the specified Type.
</summary>
<param name="requiredType">The Component Type that might be required.</param>
<returns>True, if there is a requirement, false if not</returns>
</member>
<member name="M:Duality.Component.IsComponentRequirementMet(Duality.Component)">
<summary>
Returns whether this objects Component requirement is met.
</summary>
<param name="evenWhenRemovingThis">If not null, the specified Component is assumed to be missing.</param>
<returns>True, if the Component requirement is met, false if not.</returns>
</member>
<member name="M:Duality.Component.IsComponentRequirementMet(Duality.GameObject,System.Collections.Generic.IEnumerable{Duality.Component})">
<summary>
Returns whether this objects Component requirement is met assuming a different <see cref="P:Duality.Component.GameObj">parent GameObject</see>
</summary>
<param name="isMetInObj">The specified object is assumed as parent object.</param>
<param name="whenAddingThose">If not null, the specified Components are assumed to be present in the specified parent object.</param>
<returns>True, if the Component requirement is met, false if not.</returns>
</member>
<member name="M:Duality.Component.GetRequiredComponents">
<summary>
Returns all Component Types this Component requires.
</summary>
<returns>An array of required Component Types.</returns>
</member>
<member name="M:Duality.Component.RequiresComponent(System.Type,System.Type)">
<summary>
Returns whether a Component Type requires another Component Type to work properly.
</summary>
<param name="cmpType">The Component Type that might require another Component Type.</param>
<param name="requiredType">The Component Type that might be required.</param>
<returns>True, if there is a requirement, false if not</returns>
</member>
<member name="M:Duality.Component.GetRequiredComponents(System.Type)">
<summary>
Returns all required Component Types of a specified Component Type.
</summary>
<param name="cmpType">The Component Type that might require other Component Types.</param>
<returns>An array of Component Types to require.</returns>
</member>
<member name="M:Duality.Component.GetRequiringComponents(System.Type)">
<summary>
Returns the number of Component Types that require the specified Component Type.
This can be used as a measure of relative Component significance.
</summary>
<param name="cmpType"></param>
<returns></returns>
</member>
<member name="M:Duality.Component.GetRequiredComponentsToCreate(Duality.GameObject,System.Type)">
<summary>
Given the specified target <see cref="T:Duality.GameObject"/> and <see cref="T:Duality.Component"/> type,
this method will enumerate all <see cref="T:Duality.Component"/> types that need to
be added in order to satisfy its requirements.
</summary>
<param name="targetObj"></param>
<param name="targetComponentType"></param>
<returns></returns>
</member>
<member name="P:Duality.Component.Active">
<summary>
[GET / SET] Whether or not the Component is currently active. To return true,
both the Component itsself and its parent GameObject need to be active.
</summary>
<seealso cref="P:Duality.Component.ActiveSingle"/>
</member>
<member name="P:Duality.Component.ActiveSingle">
<summary>
[GET / SET] Whether or not the Component is currently active. Unlike <see cref="P:Duality.Component.Active"/>,
this property ignores parent activation states and depends only on this single Component.
The scene graph and other Duality instances usually check <see cref="P:Duality.Component.Active"/>, not ActiveSingle.
</summary>
<seealso cref="P:Duality.Component.Active"/>
</member>
<member name="P:Duality.Component.Disposed">
<summary>
[GET] Returns whether this Component has been disposed. Disposed Components are not to be used and should
be treated specifically or as null references by your code.
</summary>
</member>
<member name="P:Duality.Component.GameObj">
<summary>
[GET / SET] The <see cref="T:Duality.GameObject"/> to which this Component belongs.
</summary>
</member>
<member name="P:Duality.Component.RequireMap">
<summary>
[GET] Provides information about how different <see cref="T:Duality.Component"/> types are
depending on each other, as well as functionality to automatically enforce the
dependencies of a given <see cref="T:Duality.Component"/> type.
</summary>
</member>
<member name="P:Duality.Component.ExecOrder">
<summary>
[GET] Provides information about the order in which different <see cref="T:Duality.Component"/>
types are updated, initialized and shut down.
</summary>
</member>
<member name="T:Duality.Component.InitContext">
<summary>
Describes the kind of initialization that can be performed on a Component
</summary>
</member>
<member name="F:Duality.Component.InitContext.Saved">
<summary>
A saving process has just finished.
</summary>
</member>
<member name="F:Duality.Component.InitContext.Loaded">
<summary>
The Component has been fully loaded.
</summary>
</member>
<member name="F:Duality.Component.InitContext.Activate">
<summary>
The Component is being activated. This can be the result of activating it,
activating its GameObject, adding itsself or its GameObject to the current
Scene or entering a <see cref="T:Duality.Resources.Scene"/> in which this Component is registered.
</summary>
</member>
<member name="F:Duality.Component.InitContext.AddToGameObject">
<summary>
The Component has just been added to a GameObject
</summary>
</member>
<member name="T:Duality.Component.ShutdownContext">
<summary>
Describes the kind of shutdown that can be performed on a Component
</summary>
</member>
<member name="F:Duality.Component.ShutdownContext.Saving">
<summary>
A saving process is about to start
</summary>
</member>
<member name="F:Duality.Component.ShutdownContext.Deactivate">
<summary>
The Component has been deactivated. This can be the result of deactivating it,
deactivating its GameObject, removing itsself or its GameObject from the
current Scene or leaving a <see cref="T:Duality.Resources.Scene"/> in which this Component is registered.
</summary>
</member>
<member name="F:Duality.Component.ShutdownContext.RemovingFromGameObject">
<summary>
The Component is being removed from its GameObject.
</summary>
</member>
<member name="T:Duality.CollisionData">
<summary>
Provides detailed information about a collision event.
</summary>
</member>
<member name="P:Duality.CollisionData.Pos">
<summary>
[GET] The position at which the collision occurred in absolute world coordinates.
</summary>
</member>
<member name="P:Duality.CollisionData.Normal">
<summary>
[GET] The normal vector of the collision impulse, in the global coordinate system.
</summary>
</member>
<member name="P:Duality.CollisionData.NormalImpulse">
<summary>
[GET] The impulse that is delivered along the provided normal vector.
</summary>
</member>
<member name="P:Duality.CollisionData.NormalMass">
<summary>
[GET] The mass that is interacting along the provided normal vector.
</summary>
</member>
<member name="P:Duality.CollisionData.NormalSpeed">
<summary>
[GET] The speed change that will occur when applying <see cref="P:Duality.CollisionData.NormalImpulse"/> to <see cref="P:Duality.CollisionData.NormalMass"/>.
</summary>
</member>
<member name="P:Duality.CollisionData.Tangent">
<summary>
[GET] The tangent vector of the collision impulse, in the global coordinate system.
</summary>
</member>
<member name="P:Duality.CollisionData.TangentImpulse">
<summary>
[GET] The impulse that is delivered along the provided tangent vector.
</summary>
</member>
<member name="P:Duality.CollisionData.TangentMass">
<summary>
[GET] The mass that is interacting along the provided tangent vector.
</summary>
</member>
<member name="P:Duality.CollisionData.TangentSpeed">
<summary>
[GET] The speed change that will occur when applying <see cref="P:Duality.CollisionData.TangentImpulse"/> to <see cref="P:Duality.CollisionData.TangentMass"/>.
</summary>
</member>
<member name="T:Duality.Components.Physics.GearJointInfo">
<summary>
Connects two bodies using a gear. The gear type is determined by the joints that are attached to
each body. Supported joint types are (Fixed)Prismatic- and (Fixed)Revolutejoints. Those joints
are required to be either fixed or attached to a static body.
</summary>
</member>
<member name="T:Duality.Components.Physics.JointInfo">
<summary>
Describes a <see cref="T:Duality.Components.Physics.RigidBody"/> joint. Joints limit a Colliders degree of freedom
by connecting it to fixed world coordinates or other Colliders.
</summary>
</member>
<member name="P:Duality.Components.Physics.JointInfo.CollideConnected">
<summary>
[GET / SET] Specifies whether the connected Colliders will collide with each other.
</summary>
</member>
<member name="P:Duality.Components.Physics.JointInfo.Enabled">
<summary>
[GET / SET] Whether or not the joint is active.
</summary>
</member>
<member name="P:Duality.Components.Physics.JointInfo.BreakPoint">
<summary>
[GET / SET] Maximum joint error value before the joint break. Breaking does not remove the joint, but disable it.
A value of zero or lower is interpreted as unbreakable. Note that some joints might not have breaking point support
and will ignore this value.
</summary>
</member>
<member name="P:Duality.Components.Physics.GearJointInfo.Ratio">
<summary>
[GET / SET] The gear ratio by which body movement is connected.
</summary>
</member>
<member name="T:Duality.Components.Physics.PulleyJointInfo">
<summary>
Constrains two RigidBodies as though connected using a rope that is fixed at
two world anchor points.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.LocalAnchorA">
<summary>
[GET / SET] The first bodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.LocalAnchorB">
<summary>
[GET / SET] The second bodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.WorldAnchorA">
<summary>
[GET / SET] The first bodies world anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.WorldAnchorB">
<summary>
[GET / SET] The second bodies world anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.MaxLengthA">
<summary>
[GET / SET] The maximum "rope length" on the first bodies side of the pulley.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.MaxLengthB">
<summary>
[GET / SET] The maximum "rope length" on the second bodies side of the pulley.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.LengthA">
<summary>
[GET] The current "rope length" on the first bodies side of the pulley.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.LengthB">
<summary>
[GET] The current "rope length" on the second bodies side of the pulley.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.Ratio">
<summary>
[GET / SET] The ratio by which the second rope end is enlarged or shrinked on size changes of the first rope end.
</summary>
</member>
<member name="P:Duality.Components.Physics.PulleyJointInfo.TotalLength">
<summary>
[GET / SET] The total length of the rope.
</summary>
</member>
<member name="T:Duality.Components.Physics.LineJointInfo">
<summary>
The line joint is also called "wheel joint", because it behaves like the spring of a car tire:
A body is only allowed to travel on a specific world axis relative to the other one but can rotate
freely or accelerated by a motor.
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.CarAnchor">
<summary>
[GET / SET] The car RigidBodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.WheelAnchor">
<summary>
[GET / SET] The wheel RigidBodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.MovementAxis">
<summary>
[GET / SET] The axis on which the body may move.
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.DampingRatio">
<summary>
[GET / SET] The damping ratio. Zero means "no damping", one means "critical damping".
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.Frequency">
<summary>
[GET / SET] The mass spring damper frequency in hertz.
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.MotorEnabled">
<summary>
[GET / SET] Is the joint motor enabled?
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.MaxMotorTorque">
<summary>
[GET / SET] The maximum motor torque.
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.MotorSpeed">
<summary>
[GET / SET] The desired motor speed in radians per frame.
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.JointSpeed">
<summary>
[GET] The current joint angle speed in radians per frame.
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.JointTranslation">
<summary>
[GET] The current joint translation.
</summary>
</member>
<member name="P:Duality.Components.Physics.LineJointInfo.MotorTorque">
<summary>
[GET] The current joint motor torque.
</summary>
</member>
<member name="T:Duality.Components.Physics.SliderJointInfo">
<summary>
Constrains two RigidBodies to keep their distance to each other in a certain range.
You can view this as a massless, rigid rod.
</summary>
</member>
<member name="P:Duality.Components.Physics.SliderJointInfo.LocalAnchorA">
<summary>
[GET / SET] The first bodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.SliderJointInfo.LocalAnchorB">
<summary>
[GET / SET] The second bodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.SliderJointInfo.MaxLength">
<summary>
[GET / SET] The maximum distance between both RigidBodies.
</summary>
</member>
<member name="P:Duality.Components.Physics.SliderJointInfo.MinLength">
<summary>
[GET / SET] The minimum distance between both RigidBodies.
</summary>
</member>
<member name="T:Duality.Components.Physics.RopeJointInfo">
<summary>
Constrains two RigidBodies to not exceed a maximum distance to each other.
</summary>
</member>
<member name="P:Duality.Components.Physics.RopeJointInfo.LocalAnchorA">
<summary>
[GET / SET] The first bodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.RopeJointInfo.LocalAnchorB">
<summary>
[GET / SET] The second bodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.RopeJointInfo.MaxLength">
<summary>
[GET / SET] The maximum distance between both RigidBodies i.e. the "rope length".
</summary>
</member>
<member name="T:Duality.Components.Physics.CircleShapeInfo">
<summary>
Describes a <see cref="T:Duality.Components.Physics.RigidBody">Colliders</see> circle shape.
</summary>
</member>
<member name="P:Duality.Components.Physics.CircleShapeInfo.Radius">
<summary>
[GET / SET] The circles radius.
</summary>
</member>
<member name="P:Duality.Components.Physics.CircleShapeInfo.Position">
<summary>
[GET / SET] The circles position.
</summary>
</member>
<member name="T:Duality.Components.Physics.AngleJointInfo">
<summary>
Constrains two RigidBodies to a fixed relative angle
</summary>
</member>
<member name="P:Duality.Components.Physics.AngleJointInfo.TargetAngle">
<summary>
[GET / SET] The Colliders target angle.
</summary>
</member>
<member name="P:Duality.Components.Physics.AngleJointInfo.BiasFactor">
<summary>
[GET / SET] The bias factor determines how strong the joint reacts to the difference between target and actual angle.
</summary>
</member>
<member name="P:Duality.Components.Physics.AngleJointInfo.Softness">
<summary>
[GET / SET] The softness of the joint determines how easy it is to turn it away from its ideal angle.
</summary>
</member>
<member name="P:Duality.Components.Physics.AngleJointInfo.MaxImpulse">
<summary>
[GET / SET] The maximum angular impulse to apply to the RigidBody. A negative value equals infinity.
</summary>
</member>
<member name="T:Duality.Components.Physics.DistanceJointInfo">
<summary>
Constrains two RigidBodies to obtain a fixed distance to each other
</summary>
</member>
<member name="P:Duality.Components.Physics.DistanceJointInfo.LocalAnchorA">
<summary>
[GET / SET] The first bodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.DistanceJointInfo.LocalAnchorB">
<summary>
[GET / SET] The second bodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.DistanceJointInfo.DampingRatio">
<summary>
[GET / SET] The damping ratio. Zero means "no damping", one means "critical damping".
</summary>
</member>
<member name="P:Duality.Components.Physics.DistanceJointInfo.Frequency">
<summary>
[GET / SET] The mass spring damper frequency in hertz.
</summary>
</member>
<member name="P:Duality.Components.Physics.DistanceJointInfo.TargetDistance">
<summary>
[GET / SET] The target distance between local and world anchor
</summary>
</member>
<member name="T:Duality.Components.Physics.FrictionJointInfo">
<summary>
Applies relative friction to RigidBodies.
</summary>
</member>
<member name="P:Duality.Components.Physics.FrictionJointInfo.LocalAnchorA">
<summary>
[GET / SET] The first RigidBodys local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.FrictionJointInfo.LocalAnchorB">
<summary>
[GET / SET] The second RigidBodys local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.FrictionJointInfo.MaxForce">
<summary>
[GET / SET] The maximum friction force in the local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.FrictionJointInfo.MaxTorque">
<summary>
[GET / SET] The maximum friction torque in the local anchor point.
</summary>
</member>
<member name="T:Duality.Components.Physics.RevoluteJointInfo">
<summary>
Pins two locally anchored RigidBodies together without constraining rotation.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.LocalAnchorA">
<summary>
[GET / SET] The first RigidBodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.LocalAnchorB">
<summary>
[GET / SET] The second RigidBodies local anchor point.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.LimitEnabled">
<summary>
[GET / SET] Is the joint limited in its angle?
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.LowerLimit">
<summary>
[GET / SET] The lower joint limit in radians.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.UpperLimit">
<summary>
[GET / SET] The upper joint limit in radians.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.ReferenceAngle">
<summary>
[GET / SET] The joint's reference angle.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.MotorEnabled">
<summary>
[GET / SET] Is the joint motor enabled?
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.MaxMotorTorque">
<summary>
[GET / SET] The maximum motor torque.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.MotorSpeed">
<summary>
[GET / SET] The desired motor speed in degree per frame.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.JointSpeed">
<summary>
[GET] The current joint angle speed in radians per frame.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.JointAngle">
<summary>
[GET] The current joint angle in radians.
</summary>
</member>
<member name="P:Duality.Components.Physics.RevoluteJointInfo.MotorTorque">
<summary>
[GET] The current joint motor torque.
</summary>
</member>
<member name="T:Duality.Components.Physics.PrismaticJointInfo">
<summary>
This joint allows the RigidBody to travel on a specific axis relative to another body. It can be limited to a certain area and driven by a motor force.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.LocalAnchorA">
<summary>
[GET / SET] The local anchor point on the first RigidBody.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.LocalAnchorB">
<summary>
[GET / SET] The local anchor point on the second RigidBody.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.MovementAxis">
<summary>
[GET / SET] The axis on which the body may move.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.LimitEnabled">
<summary>
[GET / SET] Is the joint limited in its movement?
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.LowerLimit">
<summary>
[GET / SET] The lower joint limit.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.UpperLimit">
<summary>
[GET / SET] The upper joint limit.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.MotorEnabled">
<summary>
[GET / SET] Is the joint motor enabled?
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.MaxMotorForce">
<summary>
[GET / SET] The maximum motor force.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.MotorSpeed">
<summary>
[GET / SET] The desired motor speed.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.JointSpeed">
<summary>
[GET] The current joint speed.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.JointTranslation">
<summary>
[GET] The current joint translation.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.MotorForce">
<summary>
[GET] The current joint motor force.
</summary>
</member>
<member name="P:Duality.Components.Physics.PrismaticJointInfo.ReferenceAngle">
<summary>
[GET / SET] The reference angle that is used to constrain the bodies angle.
</summary>
</member>
<member name="T:Duality.Components.Physics.LoopShapeInfo">
<summary>
Describes a double-sided edge loop (outline) in a <see cref="T:Duality.Components.Physics.RigidBody"/> shape.
</summary>
</member>
<member name="P:Duality.Components.Physics.LoopShapeInfo.Vertices">
<summary>
[GET / SET] The edge loops vertices. While assinging the array will cause an automatic update, simply modifying it will require you to call <see cref="M:Duality.Components.Physics.ShapeInfo.UpdateShape"/> manually.
</summary>
</member>
<member name="T:Duality.Components.Physics.PolyShapeInfo">
<summary>
Describes a <see cref="T:Duality.Components.Physics.RigidBody">Colliders</see> polygon shape.
</summary>
</member>
<member name="P:Duality.Components.Physics.PolyShapeInfo.Vertices">
<summary>
[GET / SET] The polygons vertices. While assinging the array will cause an automatic update, simply modifying it will require you to call <see cref="M:Duality.Components.Physics.ShapeInfo.UpdateShape"/> manually.
</summary>
</member>
<member name="T:Duality.Components.Physics.RigidBody">
<summary>
Represents a body instance for physical simulation, collision detection and response.
</summary>
</member>
<member name="M:Duality.Components.Physics.RigidBody.AddShape(Duality.Components.Physics.ShapeInfo)">
<summary>
Adds a new shape to the body.
</summary>
<param name="shape"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.RemoveShape(Duality.Components.Physics.ShapeInfo)">
<summary>
Removes an existing shape from the body.
</summary>
<param name="shape"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ClearShapes">
<summary>
Removes all existing shapes from the body.
</summary>
</member>
<member name="M:Duality.Components.Physics.RigidBody.RemoveJoint(Duality.Components.Physics.JointInfo)">
<summary>
Removes an existing joint from the body.
</summary>
<param name="joint"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.AddJoint(Duality.Components.Physics.JointInfo,Duality.Components.Physics.RigidBody)">
<summary>
Adds a new joint to the body.
</summary>
<param name="joint"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ClearJoints">
<summary>
Removes all existing joints from the body.
</summary>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyLocalImpulse(System.Single)">
<summary>
Applies a Transform-local angular impulse to the object. You don't usually need to apply <see cref="P:Duality.Time.TimeMult"/> here because it is inteded to be a one-time force impact.
</summary>
<param name="angularImpulse"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyLocalImpulse(Duality.Vector2)">
<summary>
Applies a Transform-local impulse to the objects mass center. You don't usually need to apply <see cref="P:Duality.Time.TimeMult"/> here because it is inteded to be a one-time force impact.
</summary>
<param name="impulse"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyLocalImpulse(Duality.Vector2,Duality.Vector2)">
<summary>
Applies a Transform-local impulse to the specified point. You don't usually need to apply <see cref="P:Duality.Time.TimeMult"/> here because it is inteded to be a one-time force impact.
</summary>
<param name="impulse"></param>
<param name="applyAt"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyWorldImpulse(Duality.Vector2)">
<summary>
Applies a world impulse to the objects mass center. You don't usually need to apply <see cref="P:Duality.Time.TimeMult"/> here because it is inteded to be a one-time force impact.
</summary>
<param name="impulse"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyWorldImpulse(Duality.Vector2,Duality.Vector2)">
<summary>
Applies a world impulse to the specified world point. You don't usually need to apply <see cref="P:Duality.Time.TimeMult"/> here because it is inteded to be a one-time force impact.
</summary>
<param name="impulse"></param>
<param name="applyAt"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyLocalForce(System.Single)">
<summary>
Applies a Transform-local angular force to the object. You don't need to apply <see cref="P:Duality.Time.TimeMult"/> here, the physics simulation takes care of this.
</summary>
<param name="angularForce"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyLocalForce(Duality.Vector2)">
<summary>
Applies a Transform-local force to the objects mass center. You don't need to apply <see cref="P:Duality.Time.TimeMult"/> here, the physics simulation takes care of this.
</summary>
<param name="force"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyLocalForce(Duality.Vector2,Duality.Vector2)">
<summary>
Applies a Transform-local force to the specified local point. You don't need to apply <see cref="P:Duality.Time.TimeMult"/> here, the physics simulation takes care of this.
</summary>
<param name="force"></param>
<param name="applyAt"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyWorldForce(Duality.Vector2)">
<summary>
Applies a world force to the objects mass center. You don't need to apply <see cref="P:Duality.Time.TimeMult"/> here, the physics simulation takes care of this.
</summary>
<param name="force"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.ApplyWorldForce(Duality.Vector2,Duality.Vector2)">
<summary>
Applies a world force to the specified world point. You don't need to apply <see cref="P:Duality.Time.TimeMult"/> here, the physics simulation takes care of this.
</summary>
<param name="force"></param>
<param name="applyAt"></param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.AwakeBody">
<summary>
Awakes the body if it has been in a resting state that is now being left, such as
when changing physical properties at runtime. You usually don't need to call this.
</summary>
</member>
<member name="M:Duality.Components.Physics.RigidBody.PickShape(Duality.Vector2)">
<summary>
Performs a physical picking operation and returns the <see cref="T:Duality.Components.Physics.ShapeInfo">shape</see> in which
the specified world coordinate is located in.
</summary>
<param name="worldCoord"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Physics.RigidBody.PickShapes(Duality.Vector2)">
<summary>
Performs a physical picking operation and returns the <see cref="T:Duality.Components.Physics.ShapeInfo">shapes</see> that
intersect the specified world coordinate.
</summary>
<param name="worldCoord"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Physics.RigidBody.PickShapes(Duality.Vector2,Duality.Vector2)">
<summary>
Performs a physical picking operation and returns the <see cref="T:Duality.Components.Physics.ShapeInfo">shapes</see> that
intersect the specified world coordinate area.
</summary>
<param name="worldCoord"></param>
<param name="size"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Physics.RigidBody.SynchronizeBodyShape">
<summary>
Forces previously scheduled body shape updates to execute. Changes to a RigidBodies shape
are normally cached and executed in the following frame. Calling this method guarantes all
scheduled updates to be performed immediately.
</summary>
</member>
<member name="M:Duality.Components.Physics.RigidBody.BeginUpdateBodyShape">
<summary>
Prepares this RigidBody for a large-scale shape update. This isn't required but might boost update performance.
</summary>
</member>
<member name="M:Duality.Components.Physics.RigidBody.EndUpdateBodyShape">
<summary>
Restores this RigidBody after a large-scale shape update. See <see cref="M:Duality.Components.Physics.RigidBody.BeginUpdateBodyShape"/>.
</summary>
</member>
<member name="M:Duality.Components.Physics.RigidBody.RayCast(Duality.Vector2,Duality.Vector2,Duality.Components.Physics.RayCastCallback)">
<summary>
Performs a 2d physical raycast in world coordinates.
</summary>
<param name="start">The starting point in world coordinates.</param>
<param name="end">The desired end point in world coordinates.</param>
<param name="callback">
The callback that is invoked for each hit on the raycast. Note that the order in which each hit occurs isn't deterministic
and may appear random. Return -1 to ignore the curret shape, 0 to terminate the raycast, data.Fraction to clip the ray for current hit, or 1 to continue.
</param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.RayCast(Duality.Vector2,Duality.Vector2,Duality.Components.Physics.RayCastCallback,Duality.RawList{Duality.Components.Physics.RayCastData}@)">
<summary>
Performs a 2d physical raycast in world coordinates.
</summary>
<param name="start">The starting point in world coordinates.</param>
<param name="end">The desired end point in world coordinates.</param>
<param name="callback">
The callback that is invoked for each hit on the raycast. Note that the order in which each hit occurs isn't deterministic
and may appear random. Return -1 to ignore the curret shape, 0 to terminate the raycast, data.Fraction to clip the ray for current hit, or 1 to continue.
</param>
<param name="hits">Returns a list of all occurred hits, ordered by their Fraction value.</param>
</member>
<member name="M:Duality.Components.Physics.RigidBody.RayCast(Duality.Vector2,Duality.Vector2,Duality.Components.Physics.RayCastCallback,Duality.Components.Physics.RayCastData@)">
<summary>
Performs a 2d physical raycast in world coordinates.
</summary>
<param name="start">The starting point in world coordinates.</param>
<param name="end">The desired end point in world coordinates.</param>
<param name="callback">
The callback that is invoked for each hit on the raycast. Note that the order in which each hit occurs isn't deterministic
and may appear random. Return -1 to ignore the curret shape, 0 to terminate the raycast, data.Fraction to clip the ray for current hit, or 1 to continue.
</param>
<param name="firstHit">Returns the first hit that occurs, i.e. the one with the highest proximity to the starting point.</param>
<returns>Returns whether anything has been hit.</returns>
</member>
<member name="M:Duality.Components.Physics.RigidBody.PickShapeGlobal(Duality.Vector2)">
<summary>
Performs a global physical picking operation and returns the <see cref="T:Duality.Components.Physics.ShapeInfo">shape</see> in which
the specified world coordinate is located in.
</summary>
<param name="worldCoord"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Physics.RigidBody.PickShapesGlobal(Duality.Vector2)">
<summary>
Performs a global physical picking operation and returns the <see cref="T:Duality.Components.Physics.ShapeInfo">shapes</see> that
intersect the specified world coordinate.
</summary>
<param name="worldCoord"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Physics.RigidBody.PickShapesGlobal(Duality.Vector2,Duality.Vector2)">
<summary>
Performs a global physical picking operation and returns the <see cref="T:Duality.Components.Physics.ShapeInfo">shapes</see> that
intersect the specified world coordinate area.
</summary>
<param name="worldCoord"></param>
<param name="size"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Physics.RigidBody.QueryRectGlobal(Duality.Vector2,Duality.Vector2)">
<summary>
Performs a global physical AABB query and returns the <see cref="T:Duality.Components.Physics.RigidBody">bodies</see> that
might be roughly contained or intersected by the specified region.
</summary>
<param name="worldCoord"></param>
<param name="size"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Physics.RigidBody.AwakeAll">
<summary>
Awakes all currently existing RigidBodies.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.BodyType">
<summary>
[GET / SET] The type of the physical body.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.LinearDamping">
<summary>
[GET / SET] The damping that is applied to the bodies velocity.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.AngularDamping">
<summary>
[GET / SET] The damping that is applied to the bodies angular velocity.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.FixedAngle">
<summary>
[GET / SET] Whether the bodies rotation is fixed.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.IgnoreGravity">
<summary>
[GET / SET] Whether the body ignores gravity.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.ContinousCollision">
<summary>
[GET / SET] Whether the body is included in continous collision detection or not.
It prevents the body from moving through others at high speeds at the cost of performance.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.LinearVelocity">
<summary>
[GET / SET] The Colliders current linear velocity.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.AngularVelocity">
<summary>
[GET / SET] The Colliders current angular velocity.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.Friction">
<summary>
[GET / SET] The bodies overall friction value. Usually a value between 0.0 and 1.0, but higher values can be used to indicate unusually strong friction.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.Restitution">
<summary>
[GET / SET] The bodies overall restitution value. Should be a value between 0.0 and 1.0.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.Mass">
<summary>
[GET / SET] The bodies overall mass. This is usually calculated automatically. You may however
assign an explicit, fixed value to override the automatically calculated mass. To reset to
automated calculation, set to zero.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.Inertia">
<summary>
[GET / SET] The bodies rotational inertia about the local origin. This is usually calculated automatically.
You may however assign an explicit, fixed value to override the automatically calculated inertia. To reset to
automated calculation, set to zero.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.CollisionCategory">
<summary>
[GET / SET] A bitmask that specifies the collision categories to which this Collider belongs.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.CollidesWith">
<summary>
[GET / SET] A bitmask that specifies which collision categories this Collider interacts with.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.CollisionFilter">
<summary>
[GET / SET] A callbcak method that is used to determine whether or not a collision should occur.
While more costly than other means of collision filtering, this allows for a more fine-grained
case-to-case decision.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.Revolutions">
<summary>
[GET] The bodies total number of revolutions.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.WorldMassCenter">
<summary>
[GET] The bodies center of mass in world coordinates.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.LocalMassCenter">
<summary>
[GET] The bodies center of mass in local coordinates.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.Shapes">
<summary>
[GET] Enumerates all <see cref="T:Duality.Components.Physics.ShapeInfo">primitive shapes</see> which this body consists of.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.Joints">
<summary>
[GET] Enumerates all <see cref="T:Duality.Components.Physics.JointInfo">joints</see> that are connected to this Collider.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.BoundRadius">
<summary>
[GET] The physical bodys bounding radius.
</summary>
</member>
<member name="P:Duality.Components.Physics.RigidBody.IsAwake">
<summary>
[GET] Whether the body is currently awake i.e. actively simulated.
</summary>
</member>
<member name="T:Duality.Components.Physics.WeldJointInfo">
<summary>
"Welds" two Colliders together so they share a common point and relative angle.
</summary>
</member>
<member name="P:Duality.Components.Physics.WeldJointInfo.LocalAnchorA">
<summary>
[GET / SET] The welding point, locally to the first object.
</summary>
</member>
<member name="P:Duality.Components.Physics.WeldJointInfo.LocalAnchorB">
<summary>
[GET / SET] The welding point, locally to the second object.
</summary>
</member>
<member name="P:Duality.Components.Physics.WeldJointInfo.RefAngle">
<summary>
[GET / SET] The relative angle both objects need to keep.
</summary>
</member>
<member name="T:Duality.Components.Renderers.RigidBodyRenderer">
<summary>
A <see cref="T:Duality.Component"/> that renders a RigidBodies shape and outline.
</summary>
</member>
<member name="T:Duality.Components.Renderer">
<summary>
A Renderer usually gives its <see cref="T:Duality.GameObject"/> a visual appearance in space.
However, in general it may render anything and isn't bound by any conceptual restrictions.
</summary>
</member>
<member name="M:Duality.Components.Renderer.Draw(Duality.Drawing.IDrawDevice)">
<summary>
Performs the Renderers drawing operation.
</summary>
<param name="device"></param>
</member>
<member name="M:Duality.Components.Renderer.IsVisible(Duality.Drawing.IDrawDevice)">
<summary>
Determines if the Renderer is visible to the specified <see cref="T:Duality.Drawing.IDrawDevice"/>.
This is usually the case if they share at least one mutual <see cref="P:Duality.Components.Renderer.VisibilityGroup">visibility group</see>.
</summary>
<param name="device"></param>
<returns></returns>
</member>
<member name="P:Duality.Components.Renderer.VisibilityGroup">
<summary>
[GET / SET] A bitmask that informs about the set of visibility groups to which this Renderer
belongs. Usually, a Renderer is considered visible to a <see cref="T:Duality.Components.Camera"/> if they
share at least one mutual visibility group.
</summary>
</member>
<member name="P:Duality.Components.Renderer.BoundRadius">
<summary>
[GET] The Renderers bounding radius, originating from the <see cref="T:Duality.GameObject">GameObjects</see> position.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.AreaMaterial">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.Material"/> that is used for rendering the RigidBodies shape areaa.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.OutlineMaterial">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.Material"/> that is used for rendering the RigidBodies shape outlines.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.CustomAreaMaterial">
<summary>
[GET / SET] A custom, local <see cref="T:Duality.Drawing.BatchInfo"/> overriding the <see cref="P:Duality.Components.Renderers.RigidBodyRenderer.AreaMaterial"/>.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.CustomOutlineMaterial">
<summary>
[GET / SET] A custom, local <see cref="T:Duality.Drawing.BatchInfo"/> overriding the <see cref="P:Duality.Components.Renderers.RigidBodyRenderer.OutlineMaterial"/>.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.ColorTint">
<summary>
[GET / SET] A color by which the rendered debug output is tinted.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.Offset">
<summary>
[GET / SET] A virtual Z offset that affects the order in which objects are drawn. If you want to assure an object is drawn after another one,
just assign a higher Offset value to the background object.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.OutlineWidth">
<summary>
[GET / SET] Specifies the width of the RigidBody outline when rendering.
No outline will be rendered, if this value is smaller than or equal zero.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.FillHollowShapes">
<summary>
[GET / SET] Whether or not hollow shapes like the <see cref="T:Duality.Components.Physics.LoopShapeInfo"/> will be filled as if they were in fact solid.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.WrapTexture">
<summary>
[GET / SET] Specifies, whether or not texture wrapping will be active when rendering the RigidBody area and outline.
</summary>
</member>
<member name="P:Duality.Components.Renderers.RigidBodyRenderer.VertexZOffset">
<summary>
[GET] The internal Z-Offset added to the renderers vertices based on its <see cref="P:Duality.Components.Renderers.RigidBodyRenderer.Offset"/> value.
</summary>
</member>
<member name="T:Duality.Components.Diagnostics.ProfileRenderer">
<summary>
A diagnostic <see cref="T:Duality.Component"/> that displays current performance measurements and other profiling stats.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.DrawPerfTextReport">
<summary>
[GET / SET] Whether or not a text report of the current time profiling results is drawn.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.DrawStatTextReport">
<summary>
[GET / SET] Whether or not a text report of the current stat profiling results is drawn.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.DrawGraphs">
<summary>
[GET / SET] Whether or not <see cref="P:Duality.Components.Diagnostics.ProfileRenderer.CounterGraphs"/> are drawn.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.KeyTogglePerfText">
<summary>
[GET / SET] A key that can be used to toggle performance text reports.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.KeyToggleStatText">
<summary>
[GET / SET] A key that can be used to toggle profiling stat text reports.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.KeyToggleGraphs">
<summary>
[GET / SET] A key that can be used to toggle the display of realtime graphs.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.KeyResetCounters">
<summary>
[GET / SET] A key that can be used to reset all profile counter data back to zero.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.CounterGraphs">
<summary>
[GET / SET] The names of <see cref="T:Duality.ProfileCounter"/> instances that should be drawn in graph form.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.Options">
<summary>
[GET / SET] A bitmask that specifies which report features are used.
</summary>
</member>
<member name="P:Duality.Components.Diagnostics.ProfileRenderer.UpdateInterval">
<summary>
[GET / SET] The time interval in milliseconds by which the report is updated.
</summary>
</member>
<member name="T:Duality.ContentRef`1">
<summary>
This lightweight struct references <see cref="T:Duality.Resource">Resources</see> in an abstract way. It
is tightly connected to the <see cref="T:Duality.ContentProvider"/> and takes care of keeping or making
the referenced content available when needed. Never store actual Resource references permanently,
instead use a ContentRef to it. However, you may retrieve and store a direct Resource reference
temporarily, although this is only recommended at method-local scope.
</summary>
<seealso cref="T:Duality.Resource"/>
<seealso cref="T:Duality.ContentProvider"/>
<seealso cref="T:Duality.IContentRef"/>
</member>
<member name="T:Duality.IContentRef">
<summary>
IContentRef is a general interface for <see cref="T:Duality.ContentRef`1">content references</see> of any <see cref="T:Duality.Resource"/> type.
</summary>
<seealso cref="T:Duality.Resource"/>
<seealso cref="T:Duality.ContentProvider"/>
<seealso cref="T:Duality.ContentRef`1"/>
</member>
<member name="M:Duality.IContentRef.Is(System.Type)">
<summary>
Determines if the references Resource's Type is assignable to the specified Type.
</summary>
<param name="resType">The Resource Type in question.</param>
<returns>True, if the referenced Resource is of the specified Type or subclassing it.</returns>
</member>
<member name="M:Duality.IContentRef.Is``1">
<summary>
Determines if the references Resource's Type is assignable to the specified Type.
</summary>
<typeparam name="U">The Resource Type in question.</typeparam>
<returns>True, if the referenced Resource is of the specified Type or subclassing it.</returns>
</member>
<member name="M:Duality.IContentRef.As``1">
<summary>
Creates a <see cref="T:Duality.ContentRef`1"/> of the specified Type, referencing the same Resource.
</summary>
<typeparam name="U">The Resource Type to create a reference of.</typeparam>
<returns>
A <see cref="T:Duality.ContentRef`1"/> of the specified Type, referencing the same Resource.
Returns a null reference if the Resource is not assignable
to the specified Type.
</returns>
</member>
<member name="M:Duality.IContentRef.MakeAvailable">
<summary>
Loads the associated content as if it was accessed now.
You don't usually need to call this method. It is invoked implicitly by trying to access the ContentRef.
</summary>
</member>
<member name="M:Duality.IContentRef.Detach">
<summary>
Discards the resolved content reference cache to allow garbage-collecting the Resource
without losing its reference. Accessing it will result in reloading the Resource.
</summary>
</member>
<member name="P:Duality.IContentRef.Res">
<summary>
[GET] Returns the actual <see cref="T:Duality.Resource"/>. If currently unavailable, it is loaded and then returned.
Because of that, this Property is only null if the references Resource is missing, invalid, or
this content reference has been explicitly set to null. Never returns disposed Resources.
</summary>
</member>
<member name="P:Duality.IContentRef.ResWeak">
<summary>
[GET] Returns the current reference to the Resource that is stored locally. No attemp is made to load or reload
the Resource if currently unavailable.
</summary>
</member>
<member name="P:Duality.IContentRef.ResType">
<summary>
[GET] The <see cref="T:System.Type"/> of the referenced Resource. If currently unavailable, this is determined by
the Resource file path.
</summary>
</member>
<member name="P:Duality.IContentRef.Path">
<summary>
[GET / SET] The path where to look for the Resource, if it is currently unavailable.
</summary>
</member>
<member name="P:Duality.IContentRef.IsExplicitNull">
<summary>
[GET] Returns whether this content reference has been explicitly set to null.
</summary>
</member>
<member name="P:Duality.IContentRef.IsAvailable">
<summary>
[GET] Returns whether this content reference is available in general. This may trigger loading it, if currently unavailable.
</summary>
</member>
<member name="P:Duality.IContentRef.IsLoaded">
<summary>
[GET] Returns whether the referenced Resource is currently loaded.
</summary>
</member>
<member name="P:Duality.IContentRef.IsDefaultContent">
<summary>
[GET] Returns whether the referenced Resource is part of Duality's embedded default content.
</summary>
</member>
<member name="P:Duality.IContentRef.IsRuntimeResource">
<summary>
[GET] Returns whether the Resource has been generated at runtime and cannot be retrieved via content path.
</summary>
</member>
<member name="P:Duality.IContentRef.Name">
<summary>
[GET] The name of the referenced Resource.
</summary>
</member>
<member name="P:Duality.IContentRef.FullName">
<summary>
[GET] The full name of the referenced Resource, including its path but not its file extension
</summary>
</member>
<member name="M:Duality.ContentRef`1.#ctor(`0,System.String)">
<summary>
Creates a ContentRef pointing to the specified <see cref="T:Duality.Resource"/>, assuming the
specified path as its origin, if the Resource itsself is either null or doesn't
provide a valid <see cref="P:Duality.Resource.Path"/>.
</summary>
<param name="res">The Resource to reference.</param>
<param name="altPath">The referenced Resource's file path.</param>
</member>
<member name="M:Duality.ContentRef`1.#ctor(`0)">
<summary>
Creates a ContentRef pointing to the specified <see cref="T:Duality.Resource"/>.
</summary>
<param name="res">The Resource to reference.</param>
</member>
<member name="M:Duality.ContentRef`1.Is(System.Type)">
<summary>
Determines if the references Resource's Type is assignable to the specified Type.
</summary>
<param name="resType">The Resource Type in question.</param>
<returns>True, if the referenced Resource is of the specified Type or subclassing it.</returns>
</member>
<member name="M:Duality.ContentRef`1.Is``1">
<summary>
Determines if the references Resource's Type is assignable to the specified Type.
</summary>
<typeparam name="U">The Resource Type in question.</typeparam>
<returns>True, if the referenced Resource is of the specified Type or subclassing it.</returns>
</member>
<member name="M:Duality.ContentRef`1.As``1">
<summary>
Creates a <see cref="T:Duality.ContentRef`1"/> of the specified Type, referencing the same Resource.
</summary>
<typeparam name="U">The Resource Type to create a reference of.</typeparam>
<returns>
A <see cref="T:Duality.ContentRef`1"/> of the specified Type, referencing the same Resource.
Returns a null reference if the Resource is not assignable
to the specified Type.
</returns>
</member>
<member name="M:Duality.ContentRef`1.MakeAvailable">
<summary>
Loads the associated content as if it was accessed now.
You don't usually need to call this method. It is invoked implicitly by trying to access the ContentRef
</summary>
</member>
<member name="M:Duality.ContentRef`1.Detach">
<summary>
Discards the resolved content reference cache to allow garbage-collecting the Resource
without losing its reference. Accessing it will result in reloading the Resource.
</summary>
</member>
<member name="M:Duality.ContentRef`1.op_Equality(Duality.ContentRef{`0},Duality.ContentRef{`0})">
<summary>
Compares two ContentRefs for equality.
</summary>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
<remarks>
This is a two-step comparison. First, their actual Resources references are compared.
If they're both not null and equal, true is returned. Otherwise, their Resource paths
are compared for equality
</remarks>
</member>
<member name="M:Duality.ContentRef`1.op_Inequality(Duality.ContentRef{`0},Duality.ContentRef{`0})">
<summary>
Compares two ContentRefs for inequality.
</summary>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="P:Duality.ContentRef`1.Res">
<summary>
[GET / SET] The actual <see cref="T:Duality.Resource"/>. If currently unavailable, it is loaded and then returned.
Because of that, this Property is only null if the references Resource is missing, invalid, or
this content reference has been explicitly set to null. Never returns disposed Resources.
</summary>
</member>
<member name="P:Duality.ContentRef`1.ResWeak">
<summary>
[GET] Returns the current reference to the Resource that is stored locally. No attemp is made to load or reload
the Resource if currently unavailable.
</summary>
</member>
<member name="P:Duality.ContentRef`1.ResType">
<summary>
[GET] The <see cref="T:System.Type"/> of the referenced Resource. If currently unavailable, this is determined by
the Resource file path.
</summary>
</member>
<member name="P:Duality.ContentRef`1.Path">
<summary>
[GET / SET] The path where to look for the Resource, if it is currently unavailable.
</summary>
</member>
<member name="P:Duality.ContentRef`1.IsExplicitNull">
<summary>
[GET] Returns whether this content reference has been explicitly set to null.
</summary>
</member>
<member name="P:Duality.ContentRef`1.IsAvailable">
<summary>
[GET] Returns whether this content reference is available in general. This may trigger loading it, if currently unavailable.
</summary>
</member>
<member name="P:Duality.ContentRef`1.IsLoaded">
<summary>
[GET] Returns whether the referenced Resource is currently loaded.
</summary>
</member>
<member name="P:Duality.ContentRef`1.IsDefaultContent">
<summary>
[GET] Returns whether the referenced Resource is part of Duality's embedded default content.
</summary>
</member>
<member name="P:Duality.ContentRef`1.IsRuntimeResource">
<summary>
[GET] Returns whether the Resource has been generated at runtime and cannot be retrieved via content path.
</summary>
</member>
<member name="P:Duality.ContentRef`1.Name">
<summary>
[GET] The name of the referenced Resource.
</summary>
</member>
<member name="P:Duality.ContentRef`1.FullName">
<summary>
[GET] The full name of the referenced Resource, including its path but not its file extension
</summary>
</member>
<member name="M:Duality.CorePlugin.InitPlugin">
<summary>
Called when initializing the plugin. It is guaranteed that all plugins have been loaded at this point, so
this is the ideal place to establish communication with other plugins or load Resources that may rely on them.
It is NOT defined whether or not other plugins have been initialized yet.
</summary>
</member>
<member name="M:Duality.CorePlugin.OnBeforeUpdate">
<summary>
Called before Duality updates the game scene
</summary>
</member>
<member name="M:Duality.CorePlugin.OnAfterUpdate">
<summary>
Called after Duality updates the game scene
</summary>
</member>
<member name="M:Duality.CorePlugin.OnExecContextChanged(Duality.DualityApp.ExecutionContext)">
<summary>
Called when Dualitys <see cref="T:Duality.DualityApp.ExecutionContext"/> changes.
</summary>
</member>
<member name="T:Duality.Properties.CoreResNames">
<summary>
This static class contains constant string representations of certain resource names.
</summary>
</member>
<member name="T:Duality.Drawing.IDrawDevice">
<summary>
Defines a general interface for drawing devices. Its main duty is to accept and collect parameterized vertex data.
</summary>
</member>
<member name="M:Duality.Drawing.IDrawDevice.GetScaleAtZ(System.Single)">
<summary>
Returns the scale factor of objects that are located at the specified (world space) z-Coordinate.
</summary>
<param name="z"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.IDrawDevice.GetSpaceCoord(Duality.Vector3)">
<summary>
Transforms screen space coordinates to world space coordinates. The screen positions Z coordinate is
interpreted as the target world Z coordinate.
</summary>
<param name="screenPos"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.IDrawDevice.GetSpaceCoord(Duality.Vector2)">
<summary>
Transforms screen space coordinates to world space coordinates.
</summary>
<param name="screenPos"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.IDrawDevice.GetScreenCoord(Duality.Vector3)">
<summary>
Transforms world space coordinates to screen space coordinates.
</summary>
<param name="spacePos"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.IDrawDevice.GetScreenCoord(Duality.Vector2)">
<summary>
Transforms world space coordinates to screen space coordinates.
</summary>
<param name="spacePos"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.IDrawDevice.PreprocessCoords(Duality.Vector3@,System.Single@)">
<summary>
Processes the specified world space position and scale values and transforms them to the IDrawDevices view space.
This usually also applies a perspective effect, if applicable.
</summary>
<param name="pos">The position to process.</param>
<param name="scale">The scale factor to process.</param>
</member>
<member name="M:Duality.Drawing.IDrawDevice.IsCoordInView(Duality.Vector3,System.Single)">
<summary>
Returns whether the specified world-space position is visible in the drawing devices view space.
</summary>
<param name="c">The position to test.</param>
<param name="boundRad">The visual bounding radius to assume for the specified position.</param>
<returns>True, if the position or a portion of its bounding circle is visible, false if not.</returns>
</member>
<member name="M:Duality.Drawing.IDrawDevice.AddVertices``1(Duality.ContentRef{Duality.Resources.Material},Duality.Drawing.VertexMode,``0[])">
<summary>
Adds a parameterized set of vertices to the drawing devices rendering schedule.
</summary>
<typeparam name="T">The type of vertex data to add.</typeparam>
<param name="material">The <see cref="T:Duality.Resources.Material"/> to use for rendering the vertices.</param>
<param name="vertexMode">The vertices drawing mode.</param>
<param name="vertices">The vertex data to add.</param>
</member>
<member name="M:Duality.Drawing.IDrawDevice.AddVertices``1(Duality.Drawing.BatchInfo,Duality.Drawing.VertexMode,``0[])">
<summary>
Adds a parameterized set of vertices to the drawing devices rendering schedule.
</summary>
<typeparam name="T">The type of vertex data to add.</typeparam>
<param name="material">The <see cref="T:Duality.Drawing.BatchInfo"/> to use for rendering the vertices.</param>
<param name="vertexMode">The vertices drawing mode.</param>
<param name="vertices">The vertex data to add.</param>
</member>
<member name="M:Duality.Drawing.IDrawDevice.AddVertices``1(Duality.ContentRef{Duality.Resources.Material},Duality.Drawing.VertexMode,``0[],System.Int32)">
<summary>
Adds a parameterized set of vertices to the drawing devices rendering schedule.
</summary>
<typeparam name="T">The type of vertex data to add.</typeparam>
<param name="material">The <see cref="T:Duality.Resources.Material"/> to use for rendering the vertices.</param>
<param name="vertexMode">The vertices drawing mode.</param>
<param name="vertexBuffer">A vertex data buffer that stores the vertices to add.</param>
<param name="vertexCount">The number of vertices to add, from the beginning of the buffer.</param>
</member>
<member name="M:Duality.Drawing.IDrawDevice.AddVertices``1(Duality.Drawing.BatchInfo,Duality.Drawing.VertexMode,``0[],System.Int32)">
<summary>
Adds a parameterized set of vertices to the drawing devices rendering schedule.
</summary>
<typeparam name="T">The type of vertex data to add.</typeparam>
<param name="material">The <see cref="T:Duality.Drawing.BatchInfo"/> to use for rendering the vertices.</param>
<param name="vertexMode">The vertices drawing mode.</param>
<param name="vertexBuffer">A vertex data buffer that stores the vertices to add.</param>
<param name="vertexCount">The number of vertices to add, from the beginning of the buffer.</param>
</member>
<member name="P:Duality.Drawing.IDrawDevice.Perspective">
<summary>
[GET] The perspective projection type that is currently active in this drawing device.
</summary>
</member>
<member name="P:Duality.Drawing.IDrawDevice.RefCoord">
<summary>
[GET] Reference coordinate for rendering i.e. the position of the drawing device's virtual camera.
</summary>
</member>
<member name="P:Duality.Drawing.IDrawDevice.RefAngle">
<summary>
[GET] Reference angle for rendering i.e. the angle of the drawing device's virtual camera.
</summary>
</member>
<member name="P:Duality.Drawing.IDrawDevice.FocusDist">
<summary>
[GET] Reference distance for calculating the perspective effect. An object this far away from
the camera will appear in its original size.
</summary>
</member>
<member name="P:Duality.Drawing.IDrawDevice.VisibilityMask">
<summary>
[GET] A bitmask flagging all visibility groups that are considered visible to this drawing device.
</summary>
</member>
<member name="P:Duality.Drawing.IDrawDevice.NearZ">
<summary>
[GET] The lowest Z value that can be displayed by the device.
</summary>
</member>
<member name="P:Duality.Drawing.IDrawDevice.FarZ">
<summary>
[GET] The highest Z value that can be displayed by the device.
</summary>
</member>
<member name="P:Duality.Drawing.IDrawDevice.DepthWrite">
<summary>
[GET] Returns whether the drawing device allows writing to the depth buffer
</summary>
</member>
<member name="P:Duality.Drawing.IDrawDevice.IsPicking">
<summary>
[GET] Returns whether the drawing device is currently performing a visual picking opreation.
</summary>
</member>
<member name="P:Duality.Drawing.IDrawDevice.TargetSize">
<summary>
[GET] The size of the surface this drawing device operates on.
</summary>
</member>
<member name="F:Duality.Drawing.DrawDevice.DefaultFocusDist">
<summary>
The default reference distance for perspective rendering.
</summary>
</member>
<member name="M:Duality.Drawing.DrawDevice.GetScaleAtZ(System.Single)">
<summary>
Returns the scale factor of objects that are located at the specified (world space) z-Coordinate.
</summary>
<param name="z"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.DrawDevice.GetSpaceCoord(Duality.Vector3)">
<summary>
Transforms screen space coordinates to world space coordinates. The screen positions Z coordinate is
interpreted as the target world Z coordinate.
</summary>
<param name="screenPos"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.DrawDevice.GetSpaceCoord(Duality.Vector2)">
<summary>
Transforms screen space coordinates to world space coordinates.
</summary>
<param name="screenPos"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.DrawDevice.GetScreenCoord(Duality.Vector3)">
<summary>
Transforms world space coordinates to screen space coordinates.
</summary>
<param name="spacePos"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.DrawDevice.GetScreenCoord(Duality.Vector2)">
<summary>
Transforms world space coordinates to screen space coordinates.
</summary>
<param name="spacePos"></param>
<returns></returns>
</member>
<member name="P:Duality.Drawing.DrawDevice.Perspective">
<summary>
[GET / SET] Specified the perspective effect that is applied when rendering the world.
</summary>
</member>
<member name="F:Duality.Drawing.VisibilityFlag.ScreenOverlay">
<summary>
Special flag. This flag is set when rendering screen overlays.
</summary>
</member>
<member name="T:Duality.Drawing.CanvasBuffer">
<summary>
This class handles buffering and reusing vertex arrays created by a <see cref="T:Duality.Drawing.Canvas"/> and is a measure of
performance and memory footprint improvement when using <see cref="T:Duality.Drawing.Canvas"/> on a regular basis.
</summary>
</member>
<member name="M:Duality.Drawing.CanvasBuffer.AddVertexArrays(System.Collections.Generic.IEnumerable{Duality.RawList{Duality.Drawing.VertexC1P3T2}})">
<summary>
Adds the specified vertex arrays to the Canvas' buffering mechanism. As long as buffers are available, the
Canvas will prefer re-using one of them over creating a new vertex array. Every vertex array will only be used once.
</summary>
<param name="arrays"></param>
</member>
<member name="M:Duality.Drawing.CanvasBuffer.AddVertexArray(Duality.RawList{Duality.Drawing.VertexC1P3T2})">
<summary>
Adds the specified vertex array to the Canvas' buffering mechanism. As long as buffers are available, the
Canvas will prefer re-using one of them over creating a new vertex array. Every vertex array will only be used once.
</summary>
<param name="array"></param>
</member>
<member name="M:Duality.Drawing.CanvasBuffer.RemoveVertexArray(Duality.RawList{Duality.Drawing.VertexC1P3T2})">
<summary>
Removes the specified vertex array from the Canvas' buffering mechanism.
</summary>
<param name="array"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.CanvasBuffer.RequestVertexArray(System.Int32)">
<summary>
Creates or retrieves a vertex array of at least the specified size.
</summary>
<param name="desiredSize">Minimum size of the new or reused vertex array.</param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.CanvasBuffer.Reset">
<summary>
Resets the buffer for being re-used in future rendering frames.
</summary>
</member>
<member name="T:Duality.Drawing.DashPattern">
<summary>
Describes a pattern for dashed lines.
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.Empty">
<summary>
There is no line at all.
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.DotMore">
<summary>
A dotted line with a a lot of dots.
Pattern: #_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.Dot">
<summary>
A dotted line.
Pattern: #___#___#___#___#___#___#___#___
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.DotLess">
<summary>
A dotted line with less dots.
Pattern: #_______#_______#_______#_______
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.DashShort">
<summary>
A dashed line with short dashes.
Pattern: ##__##__##__##__##__##__##__##__
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.Dash">
<summary>
A dashed line.
Pattern: ####____####____####____####____
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.DashLong">
<summary>
A dashed line with long dashes.
Pattern: ########________########________
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.DashDot">
<summary>
A line with alternating dashes and dots.
Pattern: ###__#__###__#__###__#__###__#__
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.DashDotDot">
<summary>
An alternating line with more dots than dashes.
Pattern: #####___#___#___#####___#___#___
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.DashDashDot">
<summary>
An alternating line with more dashes than dots.
Pattern: ####____####____####____#___#___
</summary>
</member>
<member name="F:Duality.Drawing.DashPattern.Full">
<summary>
The line isn't dashed.
</summary>
</member>
<member name="T:Duality.Drawing.CanvasState">
<summary>
Describes the state of a <see cref="T:Duality.Drawing.Canvas"/>.
</summary>
</member>
<member name="M:Duality.Drawing.CanvasState.CopyTo(Duality.Drawing.CanvasState)">
<summary>
Copies all state data to the specified target.
</summary>
<param name="target"></param>
</member>
<member name="M:Duality.Drawing.CanvasState.Clone">
<summary>
Creates a clone of this State.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.CanvasState.Reset">
<summary>
Resets this State to its initial settings.
</summary>
</member>
<member name="M:Duality.Drawing.CanvasState.SetMaterial(Duality.Drawing.BatchInfo)">
<summary>
Sets the States drawing material.
</summary>
<param name="material"></param>
</member>
<member name="M:Duality.Drawing.CanvasState.SetMaterial(Duality.ContentRef{Duality.Resources.Material})">
<summary>
Sets the States drawing material.
</summary>
<param name="material"></param>
</member>
<member name="P:Duality.Drawing.CanvasState.Material">
<summary>
[GET] The material that is used for drawing.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.IsDefaultMaterial">
<summary>
[GET] Returns whether the currently active material is the default one.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.TextFont">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.Font"/> to use for text rendering.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.TextInvariantScale">
<summary>
[GET / SET] If true, text does not scale due to its position in space
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.TextureCoordinateRect">
<summary>
[GET / SET] The texture coordinate rect which is used for UV generation when drawing shapes.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.TextureBaseSize">
<summary>
[GET] The currently bound main textures size.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.ColorTint">
<summary>
[GET / SET] The color tint to use for drawing.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.ZOffset">
<summary>
[GET / SET] A Z-Offset value that is added to each emitted vertices Z coordinate after all projection calculations have been done.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.TransformAngle">
<summary>
[GET / SET] The angle by which all shapes are transformed locally.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.TransformScale">
<summary>
[GET / SET] The scale by which all shapes are transformed locally.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.TransformHandle">
<summary>
[GET / SET] The handle used for locally transforming all shapes.
You can think of it as the "fixed point" of a shape when rotating or scaling it.
</summary>
</member>
<member name="P:Duality.Drawing.CanvasState.IsTransformIdentity">
<summary>
[GET] Returns whether the current transformation is an identity transformation (i.e. doesn't do anything).
</summary>
</member>
<member name="T:Duality.Components.Renderers.AnimSpriteRenderer">
<summary>
Renders an animated sprite to represent the <see cref="T:Duality.GameObject"/>.
</summary>
</member>
<member name="T:Duality.Components.Renderers.SpriteRenderer">
<summary>
Renders a sprite to represent the <see cref="T:Duality.GameObject"/>.
</summary>
</member>
<member name="P:Duality.Components.Renderers.SpriteRenderer.Rect">
<summary>
[GET / SET] The rectangular area the sprite occupies. Relative to the <see cref="T:Duality.GameObject"/>.
</summary>
</member>
<member name="P:Duality.Components.Renderers.SpriteRenderer.SharedMaterial">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.Material"/> that is used for rendering the sprite.
</summary>
</member>
<member name="P:Duality.Components.Renderers.SpriteRenderer.CustomMaterial">
<summary>
[GET / SET] A custom, local <see cref="T:Duality.Drawing.BatchInfo"/> overriding the <see cref="P:Duality.Components.Renderers.SpriteRenderer.SharedMaterial"/>,
allowing this sprite to look unique without having to create its own <see cref="T:Duality.Resources.Material"/> Resource.
However, this feature should be used with caution: Performance is better using <see cref="P:Duality.Components.Renderers.SpriteRenderer.SharedMaterial">shared Materials</see>.
</summary>
</member>
<member name="P:Duality.Components.Renderers.SpriteRenderer.ColorTint">
<summary>
[GET / SET] A color by which the sprite is tinted.
</summary>
</member>
<member name="P:Duality.Components.Renderers.SpriteRenderer.RectMode">
<summary>
[GET / SET] Specifies how the sprites uv-Coordinates are calculated.
</summary>
</member>
<member name="P:Duality.Components.Renderers.SpriteRenderer.AlignToPixelGrid">
<summary>
[GET / SET] Specified whether or not the rendered sprite will be aligned to actual screen pixels.
</summary>
</member>
<member name="P:Duality.Components.Renderers.SpriteRenderer.Offset">
<summary>
[GET / SET] A virtual Z offset that affects the order in which objects are drawn. If you want to assure an object is drawn after another one,
just assign a higher Offset value to the background object.
</summary>
</member>
<member name="P:Duality.Components.Renderers.SpriteRenderer.VertexZOffset">
<summary>
[GET] The internal Z-Offset added to the renderers vertices based on its <see cref="P:Duality.Components.Renderers.SpriteRenderer.Offset"/> value.
</summary>
</member>
<member name="P:Duality.Components.Renderers.SpriteRenderer.Flip">
<summary>
[GET / SET] Specifies whether the sprite should be flipped on a given axis when redered.
</summary>
</member>
<member name="T:Duality.Components.Renderers.SpriteRenderer.UVMode">
<summary>
Specifies how the sprites uv-Coordinates are calculated.
</summary>
</member>
<member name="F:Duality.Components.Renderers.SpriteRenderer.UVMode.Stretch">
<summary>
The uv-Coordinates are constant, stretching the supplied texture to fit the SpriteRenderers dimensions.
</summary>
</member>
<member name="F:Duality.Components.Renderers.SpriteRenderer.UVMode.WrapHorizontal">
<summary>
The u-Coordinate is calculated based on the available horizontal space, allowing the supplied texture to be
tiled across the SpriteRenderers width.
</summary>
</member>
<member name="F:Duality.Components.Renderers.SpriteRenderer.UVMode.WrapVertical">
<summary>
The v-Coordinate is calculated based on the available vertical space, allowing the supplied texture to be
tiled across the SpriteRenderers height.
</summary>
</member>
<member name="F:Duality.Components.Renderers.SpriteRenderer.UVMode.WrapBoth">
<summary>
The uv-Coordinates are calculated based on the available space, allowing the supplied texture to be
tiled across the SpriteRenderers size.
</summary>
</member>
<member name="T:Duality.Components.Renderers.SpriteRenderer.FlipMode">
<summary>
Specifies whether the sprite should be flipped on a given axis.
</summary>
</member>
<member name="F:Duality.Components.Renderers.SpriteRenderer.FlipMode.None">
<summary>
The sprite will not be flipped at all.
</summary>
</member>
<member name="F:Duality.Components.Renderers.SpriteRenderer.FlipMode.Horizontal">
<summary>
The sprite will be flipped on its horizontal axis.
</summary>
</member>
<member name="F:Duality.Components.Renderers.SpriteRenderer.FlipMode.Vertical">
<summary>
The sprite will be flipped on its vertical axis.
</summary>
</member>
<member name="M:Duality.Components.Renderers.AnimSpriteRenderer.UpdateVisibleFrames">
<summary>
Updates the <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.CurrentFrame"/>, <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.NextFrame"/> and <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.CurrentFrameProgress"/> properties immediately.
This is called implicitly once each frame before drawing, so you don't normally call this. However, when changing animation
parameters and requiring updated animation frame data immediately, this could be helpful.
</summary>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimFirstFrame">
<summary>
[GET / SET] The index of the first frame to display. Ignored if <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.CustomFrameSequence"/> is set.
</summary>
<remarks>
Animation indices are looked up in the <see cref="P:Duality.Resources.Pixmap.Atlas"/> map
of the <see cref="T:Duality.Resources.Texture"/> that is used.
</remarks>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimFrameCount">
<summary>
[GET / SET] The number of continous frames to use for the animation. Ignored if <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.CustomFrameSequence"/> is set.
</summary>
<remarks>
Animation indices are looked up in the <see cref="P:Duality.Resources.Pixmap.Atlas"/> map
of the <see cref="T:Duality.Resources.Texture"/> that is used.
</remarks>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimDuration">
<summary>
[GET / SET] The time a single animation cycle needs to complete, in seconds.
</summary>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimTime">
<summary>
[GET / SET] The animations current play time, i.e. the current state of the animation.
</summary>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimPaused">
<summary>
[GET / SET] If true, the animation is paused and won't advance over time. <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimTime"/> will stay constant until resumed.
</summary>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimLoopMode">
<summary>
[GET / SET] The animations loop behaviour.
</summary>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.CustomFrameSequence">
<summary>
[GET / SET] A custom sequence of frame indices that will be used instead of the default range
specified by <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimFirstFrame"/> and <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimFrameCount"/>. Unused if set to null.
</summary>
<remarks>
Animation indices are looked up in the <see cref="P:Duality.Resources.Pixmap.Atlas"/> map
of the <see cref="T:Duality.Resources.Texture"/> that is used.
</remarks>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.IsAnimationRunning">
<summary>
[GET] Whether the animation is currently running, i.e. if there is anything animated right now.
</summary>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.CurrentFrame">
<summary>
[GET] The currently visible animation frames index.
</summary>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.NextFrame">
<summary>
[GET] The next visible animation frames index.
</summary>
</member>
<member name="P:Duality.Components.Renderers.AnimSpriteRenderer.CurrentFrameProgress">
<summary>
[GET] The current animation frames progress where zero means "just entered the current frame"
and one means "about to leave the current frame". This value is also used for smooth animation blending.
</summary>
</member>
<member name="T:Duality.Components.Renderers.AnimSpriteRenderer.LoopMode">
<summary>
Describes the sprite animations loop behaviour.
</summary>
</member>
<member name="F:Duality.Components.Renderers.AnimSpriteRenderer.LoopMode.Once">
<summary>
The animation is played once an then remains in its last frame.
</summary>
</member>
<member name="F:Duality.Components.Renderers.AnimSpriteRenderer.LoopMode.Loop">
<summary>
The animation is looped: When reaching the last frame, it begins again at the first one.
</summary>
</member>
<member name="F:Duality.Components.Renderers.AnimSpriteRenderer.LoopMode.PingPong">
<summary>
The animation plays forward until reaching the end, then reverses and plays backward until
reaching the start again. This "pingpong" behaviour is looped.
</summary>
</member>
<member name="F:Duality.Components.Renderers.AnimSpriteRenderer.LoopMode.RandomSingle">
<summary>
A single frame is selected randomly each time the object is initialized and remains static
for its whole lifetime.
</summary>
</member>
<member name="F:Duality.Components.Renderers.AnimSpriteRenderer.LoopMode.FixedSingle">
<summary>
A fixed, single frame is displayed. Which one depends on the one you set in the editor or
in source code.
</summary>
</member>
<member name="F:Duality.Components.Renderers.AnimSpriteRenderer.LoopMode.Queue">
<summary>
The <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.CustomFrameSequence"/> is interpreted and processed as a queue where <see cref="P:Duality.Components.Renderers.AnimSpriteRenderer.AnimDuration"/>
is the time a single frame takes.
</summary>
</member>
<member name="T:Duality.Components.Renderers.TextRenderer">
<summary>
Renders a text to represent the <see cref="T:Duality.GameObject"/>.
</summary>
</member>
<member name="P:Duality.Components.Renderers.TextRenderer.BlockAlign">
<summary>
[GET / SET] The text blocks alignment relative to the <see cref="T:Duality.GameObject"/>.
</summary>
</member>
<member name="P:Duality.Components.Renderers.TextRenderer.Text">
<summary>
[GET / SET] The text to display..
</summary>
</member>
<member name="P:Duality.Components.Renderers.TextRenderer.ColorTint">
<summary>
[GET / SET] A color by which the displayed text is tinted.
</summary>
</member>
<member name="P:Duality.Components.Renderers.TextRenderer.IconMat">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.Material"/> to use for displaying icons ithin the text.
</summary>
</member>
<member name="P:Duality.Components.Renderers.TextRenderer.Metrics">
<summary>
[GET] The current texts metrics.
</summary>
</member>
<member name="P:Duality.Components.Renderers.TextRenderer.CustomMaterial">
<summary>
[GET / SET] A custom, local <see cref="T:Duality.Drawing.BatchInfo"/> overriding the texts own <see cref="P:Duality.Resources.Font.Material">
Materials</see>. Note that it does not override each <see cref="T:Duality.Resources.Font">Fonts</see> Texture, but their DrawTechniques and
main colors.
</summary>
</member>
<member name="P:Duality.Components.Renderers.TextRenderer.Offset">
<summary>
[GET / SET] A virtual Z offset that affects the order in which objects are drawn. If you want to assure an object is drawn after another one,
just assign a higher Offset value to the background object.
</summary>
</member>
<member name="P:Duality.Components.Renderers.TextRenderer.VertexZOffset">
<summary>
[GET] The internal Z-Offset added to the renderers vertices based on its <see cref="P:Duality.Components.Renderers.TextRenderer.Offset"/> value.
</summary>
</member>
<member name="T:Duality.Components.SoundEmitter">
<summary>
Provides functionality to emit sound.
</summary>
</member>
<member name="P:Duality.Components.SoundEmitter.Sources">
<summary>
[GET / SET] A list of sound sources this SoundEmitter maintains. Is never null.
</summary>
</member>
<member name="T:Duality.Components.SoundEmitter.Source">
<summary>
A single sound source.
</summary>
</member>
<member name="M:Duality.Components.SoundEmitter.Source.Update(Duality.Components.SoundEmitter)">
<summary>
Updates the sound source.
</summary>
<param name="emitter">The sources parent <see cref="T:Duality.Components.SoundEmitter"/>.</param>
<returns>True, if the source is still active. False, if it requests to be removed.</returns>
</member>
<member name="P:Duality.Components.SoundEmitter.Source.Instance">
<summary>
[GET] The <see cref="T:Duality.Audio.SoundInstance"/> that is currently allocated to emit
this sources sound.
</summary>
</member>
<member name="P:Duality.Components.SoundEmitter.Source.Sound">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.Sound"/> that is to be played by this source.
</summary>
</member>
<member name="P:Duality.Components.SoundEmitter.Source.Looped">
<summary>
[GET / SET] Whether this source is looped.
</summary>
</member>
<member name="P:Duality.Components.SoundEmitter.Source.Paused">
<summary>
[GET / SET] Whether this source is paused.
</summary>
</member>
<member name="P:Duality.Components.SoundEmitter.Source.Volume">
<summary>
[GET / SET] The volume of this source.
</summary>
</member>
<member name="P:Duality.Components.SoundEmitter.Source.Pitch">
<summary>
[GET / SET] The sources pitch factor.
</summary>
</member>
<member name="P:Duality.Components.SoundEmitter.Source.Lowpass">
<summary>
[GET / SET] The sources lowpass factor.
</summary>
</member>
<member name="P:Duality.Components.SoundEmitter.Source.Offset">
<summary>
[GET / SET] The 3d offset of the emitted sound relative to the GameObject.
</summary>
</member>
<member name="T:Duality.Components.SoundListener">
<summary>
Makes this <see cref="T:Duality.GameObject"/> the 3d sound listener.
</summary>
</member>
<member name="T:Duality.Drawing.Canvas">
<summary>
Provides high level drawing operations on top of an existing <see cref="T:Duality.Drawing.IDrawDevice"/>. However, this class is not designed
for drawing large batches of primitives / vertices at once. For large amounts of primitives you should consider directly
using the underlying IDrawDevice instead to achieve best Profile.
</summary>
</member>
<member name="M:Duality.Drawing.Canvas.#ctor(Duality.Drawing.IDrawDevice,Duality.Drawing.CanvasBuffer)">
<summary>
Creates a new Canvas that uses the specified <see cref="T:Duality.Drawing.IDrawDevice"/>. You may optionally specify a
<see cref="T:Duality.Drawing.CanvasBuffer"/> for improving rendering performance and memory footprint when rendering similar
shapes throughout multiple frames.
</summary>
<param name="device"></param>
<param name="buffer"></param>
</member>
<member name="M:Duality.Drawing.Canvas.PushState">
<summary>
Adds a clone of the <see cref="P:Duality.Drawing.Canvas.State">current state</see> on top of the internal
<see cref="T:Duality.Drawing.CanvasState"/> stack.
</summary>
</member>
<member name="M:Duality.Drawing.Canvas.PopState">
<summary>
Removes the topmost <see cref="T:Duality.Drawing.CanvasState"/> from the internal State stack.
</summary>
</member>
<member name="M:Duality.Drawing.Canvas.RequestVertexArray(System.Int32)">
<summary>
Creates or retrieves an unused vertex array with the specified minimum size.
If the Canvas has been created using a valid <see cref="T:Duality.Drawing.CanvasBuffer"/>, old
vertex arrays will be re-used wherever possible.
</summary>
<param name="minSize">The minimum size of the requested vertex array.</param>
<returns>A vertex array with the specified minimum size. It may actually be larger.</returns>
</member>
<member name="M:Duality.Drawing.Canvas.DrawVertices``1(``0[],Duality.Drawing.VertexMode)">
<summary>
Draws a predefined set of vertices using the Canvas transformation.
</summary>
<typeparam name="T"></typeparam>
<param name="vertices"></param>
<param name="mode"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawVertices``1(``0[],Duality.Drawing.VertexMode,System.Int32)">
<summary>
Draws part of a predefined set of vertices using the Canvas transformation.
</summary>
<typeparam name="T"></typeparam>
<param name="vertices"></param>
<param name="mode"></param>
<param name="vertexCount"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawPolygon(Duality.Vector2[],System.Single,System.Single,System.Single)">
<summary>
Draws a convex polygon. All vertices share the same Z value.
</summary>
<param name="points"></param>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawSphere(System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a three-dimensional sphere.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="r"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawLine(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a three-dimensional line.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="x2"></param>
<param name="y2"></param>
<param name="z2"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawLine(System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a flat line.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="x2"></param>
<param name="y2"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawDashLine(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Duality.Drawing.DashPattern,System.Single)">
<summary>
Draws a three-dimensional line.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="x2"></param>
<param name="y2"></param>
<param name="z2"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawDashLine(System.Single,System.Single,System.Single,System.Single,Duality.Drawing.DashPattern,System.Single)">
<summary>
Draws a flat line.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="x2"></param>
<param name="y2"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawThickLine(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a thick, three-dimensional line.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="x2"></param>
<param name="y2"></param>
<param name="z2"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawThickLine(System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a thick, flat line.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="x2"></param>
<param name="y2"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawRect(System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a rectangle.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="w"></param>
<param name="h"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawRect(System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a rectangle.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="w"></param>
<param name="h"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawOvalSegment(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
<summary>
Draws the section of an oval.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="width">The rendered ovals total width.</param>
<param name="height">The rendered ovals total height.</param>
<param name="minAngle">The oval segments minimum angle.</param>
<param name="maxAngle">The oval segments maximum angle.</param>
<param name="outline">If true, the oval sections complete outline is drawn instead of just the outer perimeter.</param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawOvalSegment(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
<summary>
Draws the section of an oval.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="width">The rendered ovals total width.</param>
<param name="height">The rendered ovals total height.</param>
<param name="minAngle">The oval segments minimum angle.</param>
<param name="maxAngle">The oval segments maximum angle.</param>
<param name="outline">If true, the oval sections complete outline is drawn instead of just the outer perimeter.</param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawCircleSegment(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
<summary>
Draws the section of a circle.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="radius">The rendered circles radius.</param>
<param name="minAngle">The circle segments minimum angle.</param>
<param name="maxAngle">The circle segments maximum angle.</param>
<param name="outline">If true, the circle sections complete outline is drawn instead of just the outer perimeter.</param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawCircleSegment(System.Single,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
<summary>
Draws the section of a circle
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="radius">The rendered circles radius.</param>
<param name="minAngle">The circle segments minimum angle.</param>
<param name="maxAngle">The circle segments maximum angle.</param>
<param name="outline">If true, the circle sections complete outline is drawn instead of just the outer perimeter.</param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawOval(System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws the section of an oval.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="width"></param>
<param name="height"></param>
<param name="minAngle"></param>
<param name="maxAngle"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawOval(System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws the section of an oval.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="width"></param>
<param name="height"></param>
<param name="minAngle"></param>
<param name="maxAngle"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawCircle(System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws the section of a circle.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="radius"></param>
<param name="minAngle"></param>
<param name="maxAngle"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawCircle(System.Single,System.Single,System.Single)">
<summary>
Draws the section of a circle
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="radius"></param>
<param name="minAngle"></param>
<param name="maxAngle"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillPolygon(Duality.Vector2[],System.Single,System.Single,System.Single)">
<summary>
Fills a polygon. All vertices share the same Z value, and the polygon needs to be convex.
</summary>
<param name="points"></param>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillPolygonOutline(Duality.Vector2[],System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills a polygons outline. All vertices share the same Z value.
</summary>
<param name="points"></param>
<param name="width"></param>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillThickLine(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills a three-dimensional line.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="x2"></param>
<param name="y2"></param>
<param name="z2"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillThickLine(System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills a thick, flat line.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="x2"></param>
<param name="y2"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillThickLineStrip(Duality.Vector2[],System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills a thick line strip. All vertices share the same Z value.
</summary>
<param name="points"></param>
<param name="width"></param>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillOvalSegment(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills the section of an oval.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="width">The rendered ovals total width.</param>
<param name="height">The rendered ovals total height.</param>
<param name="minAngle">The oval segments minimum angle.</param>
<param name="maxAngle">The oval segments maximum angle.</param>
<param name="donutWidth">If bigger than zero, a donut with the specified width is rendered instead of a completely filled oval.</param>
</member>
<member name="M:Duality.Drawing.Canvas.FillOvalSegment(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills the section of an oval.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="width">The rendered ovals total width.</param>
<param name="height">The rendered ovals total height.</param>
<param name="minAngle">The oval segments minimum angle.</param>
<param name="maxAngle">The oval segments maximum angle.</param>
</member>
<member name="M:Duality.Drawing.Canvas.FillCircleSegment(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills the section of a circle.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="radius">The circles radius.</param>
<param name="minAngle">The circle segments minimum angle.</param>
<param name="maxAngle">The circle segments maximum angle.</param>
<param name="donutWidth">If bigger than zero, a donut with the specified width is rendered instead of a completely filled circle area.</param>
</member>
<member name="M:Duality.Drawing.Canvas.FillCircleSegment(System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills the section of a circle
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="r"></param>
<param name="minAngle"></param>
<param name="maxAngle"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillOval(System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills an oval.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillOval(System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills an oval
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillCircle(System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills a circle.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="radius"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillCircle(System.Single,System.Single,System.Single)">
<summary>
Fills a circle.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="r"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillRect(System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills a rectangle.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.Drawing.Canvas.FillRect(System.Single,System.Single,System.Single,System.Single)">
<summary>
Fills a rectangle.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawText(System.String,System.Single,System.Single,System.Single,Duality.Alignment,System.Boolean)">
<summary>
Draws the specified text.
</summary>
<param name="text"></param>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="blockAlign">Specifies the alignment of the text block.</param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawText(System.String[],Duality.Drawing.VertexC1P3T2[][]@,System.Single,System.Single,System.Single,Duality.Alignment,System.Boolean)">
<summary>
Draws the specified text.
</summary>
<param name="text"></param>
<param name="vertices">Optional vertex cache to use for the text. If set, the texts vertices are cached and re-used for better Profile.</param>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="blockAlign">Specifies the alignment of the text block. To make use of individual line alignment, use the <see cref="T:Duality.Drawing.FormattedText"/> overload.</param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawText(System.String[],System.Single,System.Single,System.Single,Duality.Alignment,System.Boolean)">
<summary>
Draws the specified text.
</summary>
<param name="text"></param>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="blockAlign">Specifies the alignment of the text block. To make use of individual line alignment, use the <see cref="T:Duality.Drawing.FormattedText"/> overload.</param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawText(Duality.Drawing.FormattedText,Duality.Drawing.VertexC1P3T2[][]@,Duality.Drawing.VertexC1P3T2[]@,System.Single,System.Single,System.Single,Duality.Drawing.BatchInfo,Duality.Alignment,System.Boolean)">
<summary>
Draws the specified formatted text.
</summary>
<param name="text"></param>
<param name="vertText">Optional vertex cache to use for the text. If set, the texts vertices are cached and re-used for better Profile.</param>
<param name="vertIcon">Optional vertex cache to use for the icons. If set, the texts vertices are cached and re-used for better Profile.</param>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="iconMat"></param>
<param name="blockAlign">Specifies the alignment of the text block. To make use of individual line alignment, make use of <see cref="T:Duality.Drawing.FormattedText"/> format tags.</param>
</member>
<member name="M:Duality.Drawing.Canvas.DrawText(Duality.Drawing.FormattedText,System.Single,System.Single,System.Single,Duality.Drawing.BatchInfo,Duality.Alignment,System.Boolean)">
<summary>
Draws the specified formatted text.
</summary>
<param name="text"></param>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="iconMat"></param>
<param name="blockAlign">Specifies the alignment of the text block. To make use of individual line alignment, make use of <see cref="T:Duality.Drawing.FormattedText"/> format tags.</param>
</member>
<member name="M:Duality.Drawing.Canvas.MeasureText(System.String)">
<summary>
Measures the specified text using the currently used <see cref="T:Duality.Resources.Font"/>.
</summary>
<param name="text"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.Canvas.MeasureText(System.String[])">
<summary>
Measures the specified text using the currently used <see cref="T:Duality.Resources.Font"/>.
</summary>
<param name="text"></param>
<returns></returns>
</member>
<member name="P:Duality.Drawing.Canvas.DrawDevice">
<summary>
[GET] The underlying <see cref="T:Duality.Drawing.IDrawDevice"/> that is used for drawing.
</summary>
</member>
<member name="P:Duality.Drawing.Canvas.State">
<summary>
[GET / SET] The Canvas' current <see cref="T:Duality.Drawing.CanvasState"/>.
</summary>
</member>
<member name="P:Duality.Drawing.Canvas.Width">
<summary>
[GET] The available width to draw on this Canvas.
</summary>
</member>
<member name="P:Duality.Drawing.Canvas.Height">
<summary>
[GET] The available height to draw on this Canvas.
</summary>
</member>
<member name="T:Duality.DualityAppData">
<summary>
Provides general information about this Duality application / game.
</summary>
</member>
<member name="P:Duality.DualityAppData.AppName">
<summary>
[GET / SET] The name of your application / game. It will also be used as a window title by the launcher app.
</summary>
</member>
<member name="P:Duality.DualityAppData.AuthorName">
<summary>
[GET / SET] The author name of your application. Might be your or your team's name or -nickname.
</summary>
</member>
<member name="P:Duality.DualityAppData.WebsiteUrl">
<summary>
[GET / SET] The address of this game's official website or similar.
</summary>
</member>
<member name="P:Duality.DualityAppData.Version">
<summary>
[GET / SET] The current application / game version.
</summary>
</member>
<member name="P:Duality.DualityAppData.StartScene">
<summary>
[GET / SET] A reference to the start <see cref="T:Duality.Resources.Scene"/>. It is used by the launcher app to
determine which Scene to load initially.
</summary>
</member>
<member name="P:Duality.DualityAppData.SpeedOfSound">
<summary>
[GET / SET] The speed of sound in "meters per second". Duality units will be converted to SI units that are used in the calculation
using the values provided by the static <see cref="T:Duality.AudioUnit"/> class.
The speed of sound is used to calculate the doppler effect of <see cref="T:Duality.Audio.SoundInstance">SoundInstances</see> that are
moving relative to the <see cref="T:Duality.Components.SoundListener"/>.
</summary>
</member>
<member name="P:Duality.DualityAppData.SoundDopplerFactor">
<summary>
[GET / SET] A factor by which the strength of the doppler effect is multiplied.
</summary>
</member>
<member name="P:Duality.DualityAppData.PhysicsVelocityThreshold">
<summary>
[GET / SET] Any velocity below this value will be resolved using inelastic equations i.e. won't lead to "bouncing".
</summary>
</member>
<member name="P:Duality.DualityAppData.PhysicsFixedTime">
<summary>
[GET / SET] Does the physics simulation use fixed time steps? However, this setting may be overwritten dynamically due
to frame timing restrictions. To check whether fixed-timestep physics is currently active, use <see cref="P:Duality.Resources.Scene.PhysicsFixedTime"/>
</summary>
</member>
<member name="P:Duality.DualityAppData.LocalUserData">
<summary>
[GET / SET] If true, user data is saved locally in the game folder instead of the current user account.
</summary>
</member>
<member name="P:Duality.DualityAppData.MultisampleBackBuffer">
<summary>
[GET / SET] Determines whether or not the backbuffer uses multisampling based on <see cref="P:Duality.DualityUserData.AntialiasingQuality"/>.
Set this to false if you don't render to the backbuffer directly, but use a custom <see cref="T:Duality.Resources.RenderTarget"/> setup. You'll have to
apply possible existing user quality settings yourself.
</summary>
</member>
<member name="P:Duality.DualityAppData.SkipBackends">
<summary>
[GET / SET] An optional list of backend <see cref="P:Duality.Backend.IDualityBackend.Id"/> values to skip when loading.
</summary>
</member>
<member name="P:Duality.DualityAppData.CustomData">
<summary>
[GET / SET] Use this property to store custom application data.
</summary>
</member>
<member name="T:Duality.DualityUserData">
<summary>
Provides information about user settings for this Duality application / game.
It is persistent beyond installing or deleting this Duality game.
</summary>
</member>
<member name="P:Duality.DualityUserData.UserName">
<summary>
[GET / SET] The player's name. This may be his main character's name or simply remain unused.
</summary>
</member>
<member name="P:Duality.DualityUserData.GfxWidth">
<summary>
[GET / SET] Width of the game's display area.
</summary>
</member>
<member name="P:Duality.DualityUserData.GfxHeight">
<summary>
[GET / SET] Height of the game's display area.
</summary>
</member>
<member name="P:Duality.DualityUserData.GfxMode">
<summary>
[GET / SET] Describes the way the game window is set up.
</summary>
</member>
<member name="P:Duality.DualityUserData.AntialiasingQuality">
<summary>
[GET / SET] Specifies the quality of anti-aliasing used in rendering.
</summary>
</member>
<member name="P:Duality.DualityUserData.RefreshMode">
<summary>
[GET / SET] Specifies the way in which Duality switches and refreshes visual and update frames.
</summary>
</member>
<member name="P:Duality.DualityUserData.SystemCursorVisible">
<summary>
[GET / SET] Determines whether or not the system cursor should be visible in windowed mode.
</summary>
</member>
<member name="P:Duality.DualityUserData.SfxEffectVol">
<summary>
[GET / SET] Volume factor of sound effects. This is applied automatically by the <see cref="T:Duality.Audio.SoundDevice"/> based on the <see cref="T:Duality.Audio.SoundType"/>.
</summary>
</member>
<member name="P:Duality.DualityUserData.SfxSpeechVol">
<summary>
[GET / SET] Volume factor of speech / vocals. This is applied automatically by the <see cref="T:Duality.Audio.SoundDevice"/> based on the <see cref="T:Duality.Audio.SoundType"/>.
</summary>
</member>
<member name="P:Duality.DualityUserData.SfxMusicVol">
<summary>
[GET / SET] Volume factor of music. This is applied automatically by the <see cref="T:Duality.Audio.SoundDevice"/> based on the <see cref="T:Duality.Audio.SoundType"/>.
</summary>
</member>
<member name="P:Duality.DualityUserData.SfxMasterVol">
<summary>
[GET / SET] Volume master factor for sound in general. This is applied automatically by the <see cref="T:Duality.Audio.SoundDevice"/>.
</summary>
</member>
<member name="P:Duality.DualityUserData.CustomData">
<summary>
[GET / SET] Use this property to store custom user data.
</summary>
</member>
<member name="M:Duality.ExtMethodsIManageableObject.DisposeLater(Duality.IManageableObject)">
<summary>
Schedules this object for disposal at the end of the current update cycle.
</summary>
<param name="obj"></param>
</member>
<member name="T:Duality.InitState">
<summary>
Describes the state of object activation or disposal.
</summary>
</member>
<member name="F:Duality.InitState.Initializing">
<summary>
The object is currently initializing.
</summary>
</member>
<member name="F:Duality.InitState.Initialized">
<summary>
The object has been fully initialized and is fully operational.
</summary>
</member>
<member name="F:Duality.InitState.Disposing">
<summary>
The object is currently disposing.
</summary>
</member>
<member name="F:Duality.InitState.Disposed">
<summary>
The object has been fully disposed and can be considered "dead".
</summary>
</member>
<member name="M:Duality.ExtMethodsInitState.IsActive(Duality.InitState)">
<summary>
Returns whether the current <see cref="T:Duality.InitState"/> can be considered active. This is true
after initialization and during disposal.
</summary>
<param name="state"></param>
<returns></returns>
</member>
<member name="T:Duality.GenericOperator">
<summary>
Provides math operations for generic types that are dynamically resolved on their first usage.
</summary>
</member>
<member name="M:Duality.GenericOperator.Add``2(``0,``1)">
<summary>
Adds two generic values.
</summary>
<typeparam name="T"></typeparam>
<typeparam name="U"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Subtract``2(``0,``1)">
<summary>
Subtracts two generic values.
</summary>
<typeparam name="T"></typeparam>
<typeparam name="U"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Multiply``2(``0,``1)">
<summary>
Multiplies two generic values.
</summary>
<typeparam name="T"></typeparam>
<typeparam name="U"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Divide``2(``0,``1)">
<summary>
Divides two generic values.
</summary>
<typeparam name="T"></typeparam>
<typeparam name="U"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Modulo``1(``0,``0)">
<summary>
Calculates the modulo of a generic value.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Negate``1(``0)">
<summary>
Negates a generic value.
</summary>
<typeparam name="T"></typeparam>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Abs``1(``0)">
<summary>
Calculates the absolute (non-negative) value of a generic value.
</summary>
<typeparam name="T"></typeparam>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Or``1(``0,``0)">
<summary>
Performs a bitwise OR on two generic values.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.And``1(``0,``0)">
<summary>
Performs a bitwise AND on two generic values.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Xor``1(``0,``0)">
<summary>
Performs a bitwise exclusive OR on two generic values.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Not``1(``0)">
<summary>
Performs a bitwise NOT on a generic value.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Equal``1(``0,``0)">
<summary>
Determines whether two generic values are equal.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.GreaterThan``1(``0,``0)">
<summary>
Determines whether one generic value is greater than the other.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.GreaterThanOrEqual``1(``0,``0)">
<summary>
Determines whether one generic value is greater than or equal to the other.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.LessThan``1(``0,``0)">
<summary>
Determines whether one generic value is less than the other.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.LessThanOrEqual``1(``0,``0)">
<summary>
Determines whether one generic value is less than or equal to the other.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Convert``2(``0)">
<summary>
Converts a generic value to a certain type.
</summary>
<typeparam name="T"></typeparam>
<typeparam name="U"></typeparam>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:Duality.GenericOperator.Lerp``1(``0,``0,System.Single)">
<summary>
Performs a linear interpolation on a two generic values using a blend factor.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<param name="factor"></param>
<returns></returns>
</member>
<member name="F:Duality.PhysicsUnit.AngleToDuality">
<summary>
SI unit: radians
</summary>
</member>
<member name="F:Duality.PhysicsUnit.LengthToDuality">
<summary>
SI unit: m
</summary>
</member>
<member name="F:Duality.PhysicsUnit.MassToDuality">
<summary>
SI unit: kg
</summary>
</member>
<member name="F:Duality.PhysicsUnit.DensityToDuality">
<summary>
SI unit: kg / m²
</summary>
</member>
<member name="F:Duality.PhysicsUnit.TimeToDuality">
<summary>
SI unit: s
</summary>
</member>
<member name="F:Duality.PhysicsUnit.VelocityToDuality">
<summary>
SI unit: m/s
</summary>
</member>
<member name="F:Duality.PhysicsUnit.AngularVelocityToDuality">
<summary>
SI unit: radians/s
</summary>
</member>
<member name="F:Duality.PhysicsUnit.AccelerationToDuality">
<summary>
SI unit: m/s²
</summary>
</member>
<member name="F:Duality.PhysicsUnit.ForceToDuality">
<summary>
SI unit: kg * m/s²
</summary>
</member>
<member name="F:Duality.PhysicsUnit.TorqueToDuality">
<summary>
SI unit: kg * m²/s²
</summary>
</member>
<member name="F:Duality.PhysicsUnit.ImpulseToDuality">
<summary>
SI unit: kg * m/s
</summary>
</member>
<member name="F:Duality.PhysicsUnit.AngularImpulseToDuality">
<summary>
SI unit: kg * m²/s
</summary>
</member>
<member name="F:Duality.PhysicsUnit.InertiaToDuality">
<summary>
SI unit: kg * m²
</summary>
</member>
<member name="T:Duality.ExtMethodsIEnumerable">
<summary>
Provides extension methods for enumerations.
</summary>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.Children(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Enumerates the <see cref="T:Duality.GameObject">GameObjects</see> children.
</summary>
<param name="objEnum"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.ChildrenDeep(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Enumerates the <see cref="T:Duality.GameObject">GameObjects</see> children, grandchildren, etc.
</summary>
<param name="objEnum"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.ByName(System.Collections.Generic.IEnumerable{Duality.GameObject},System.String)">
<summary>
Enumerates all <see cref="T:Duality.GameObject">GameObjects</see> that match the specified name.
</summary>
<param name="objEnum"></param>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.FirstByName(System.Collections.Generic.IEnumerable{Duality.GameObject},System.String)">
<summary>
Returns the first <see cref="T:Duality.GameObject"/> that matches the specified name.
</summary>
<param name="objEnum"></param>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.GetComponents``1(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Enumerates all <see cref="T:Duality.GameObject">GameObjects</see> <see cref="T:Duality.Component">Components</see> of the specified type.
</summary>
<typeparam name="T"></typeparam>
<param name="objEnum"></param>
<param name="activeOnly"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.GetComponentsInChildren``1(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Enumerates all <see cref="T:Duality.GameObject">GameObjects</see> childrens <see cref="T:Duality.Component">Components</see> of the specified type.
</summary>
<typeparam name="T"></typeparam>
<param name="objEnum"></param>
<param name="activeOnly"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.GetComponentsDeep``1(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Enumerates all <see cref="T:Duality.GameObject">GameObjects</see> (and their childrens) <see cref="T:Duality.Component">Components</see> of the specified type.
</summary>
<typeparam name="T"></typeparam>
<param name="objEnum"></param>
<param name="activeOnly"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.Transform(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Enumerates all <see cref="T:Duality.GameObject">GameObjects</see> <see cref="T:Duality.Components.Transform"/> Components.
</summary>
<param name="objEnum"></param>
<param name="activeOnly"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.GameObject(System.Collections.Generic.IEnumerable{Duality.Component})">
<summary>
Enumerates all <see cref="T:Duality.Component">Components</see> parent <see cref="T:Duality.GameObject">GameObjects</see>.
</summary>
<param name="compEnum"></param>
<param name="activeOnly"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.Ref``1(System.Collections.Generic.IEnumerable{``0})">
<summary>
Converts an enumeration of Resources to an enumeration of content references to it.
</summary>
<typeparam name="T"></typeparam>
<param name="res"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.Res``1(System.Collections.Generic.IEnumerable{Duality.ContentRef{``0}})">
<summary>
Converts an enumeration of content references to an enumeration of Resources.
</summary>
<typeparam name="T"></typeparam>
<param name="res"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.Res(System.Collections.Generic.IEnumerable{Duality.IContentRef})">
<summary>
Converts an enumeration of content references to an enumeration of Resources.
</summary>
<param name="res"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.ToString``1(System.Collections.Generic.IEnumerable{``0},System.String)">
<summary>
Creates a separated list of the string versions of a set of objects.
</summary>
<typeparam name="T">The type of the incoming objects.</typeparam>
<param name="collection">A set of objects.</param>
<param name="separator">The string to use as separator between two string values.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.ToString``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.String},System.String)">
<summary>
Creates a separated list of the string versions of a set of objects.
</summary>
<typeparam name="T">The type of the incoming objects.</typeparam>
<param name="collection">A set of objects.</param>
<param name="toString">A function that transforms objects to strings.</param>
<param name="separator">The string to use as separator between two string values.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.NotNull``1(System.Collections.Generic.IEnumerable{``0})">
<summary>
Enumerates objects that aren't null.
</summary>
<typeparam name="T">The type of the incoming objects.</typeparam>
<param name="collection">A set of objects.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.Range``1(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Int32)">
<summary>
Enumerates a all objects within a specific index range.
</summary>
<typeparam name="T">The type of the incoming objects.</typeparam>
<param name="collection">A set of objects.</param>
<param name="startIndex">Index of the first object to be enumerated.</param>
<param name="length">Number of objects to be enumerated.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.Shuffle``1(System.Collections.Generic.IList{``0},System.Random)">
<summary>
Shuffles the specified eumerable.
</summary>
<typeparam name="T"></typeparam>
<param name="collection"></param>
<param name="rnd">The random number generator to use. Defaults to <see cref="P:Duality.MathF.Rnd"/>, if null.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.SetEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
<summary>
Returns whether two sets of objects equal each other. This is the case if both sets contain an equal number of elements
and for each element in one set, there is a matching element in the other.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<param name="comparer"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIEnumerable.SetEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
<summary>
Returns whether two sets of objects equal each other. This is the case if both sets contain an equal number of elements
and for each element in one set, there is a matching element in the other.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="T:Duality.RawList`1">
<summary>
Encapsulates an Array and provides methods for dynamically modifying it similar to a List{T}, but allows
accessing its raw internal data at the same time. This can be useful for situations wherer raw data access
may significantly improve performance, but dynamic sizes are still required.
</summary>
<remarks>
Use this class with caution and consideration. In almost all cases, either a List{T} or a regular Array should be preferred.
You should only use this class when you know how to use it.
</remarks>
<typeparam name="T"></typeparam>
</member>
<member name="M:Duality.RawList`1.#ctor">
<summary>
Creates a new, empty list.
</summary>
</member>
<member name="M:Duality.RawList`1.#ctor(System.Int32)">
<summary>
Creates a new list with the specified capacity.
</summary>
<param name="capacity"></param>
</member>
<member name="M:Duality.RawList`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
<summary>
Creates a new list with the specified contents.
</summary>
<param name="data"></param>
</member>
<member name="M:Duality.RawList`1.#ctor(Duality.RawList{`0})">
<summary>
Creates a new list that is a copy of the specified source list.
</summary>
<param name="source"></param>
</member>
<member name="M:Duality.RawList`1.#ctor(`0[])">
<summary>
Creates a new list that wraps the specified array. Does not copy the array.
</summary>
<param name="wrapAround"></param>
</member>
<member name="M:Duality.RawList`1.#ctor(`0[],System.Int32)">
<summary>
Creates a new list that wraps the specified array. Does not copy the array.
</summary>
<param name="wrapAround"></param>
<param name="count"></param>
</member>
<member name="M:Duality.RawList`1.IndexOf(`0)">
<summary>
Returns the first index of the specified item within the used range of the internal array. Returns -1, if not found.
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:Duality.RawList`1.Contains(`0)">
<summary>
Returns whether the specified item is contained within the used range of the internal array.
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:Duality.RawList`1.Add(`0)">
<summary>
Adds a new item to the list.
</summary>
<param name="item"></param>
</member>
<member name="M:Duality.RawList`1.AddRange(`0[])">
<summary>
Adds a range of new items to the list.
</summary>
<param name="items"></param>
</member>
<member name="M:Duality.RawList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
<summary>
Adds a range of new items to the list.
</summary>
<param name="items"></param>
</member>
<member name="M:Duality.RawList`1.Insert(System.Int32,`0)">
<summary>
Inserts a new item at a specified index.
</summary>
<param name="targetIndex">The index at which to insert the new items.</param>
<param name="item">The source item to insert.</param>
</member>
<member name="M:Duality.RawList`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
<summary>
Inserts a range of new items at a specified index.
</summary>
<param name="targetIndex">The index at which to insert the new items.</param>
<param name="items">The source enumerable to copy items from.</param>
</member>
<member name="M:Duality.RawList`1.InsertRange(System.Int32,`0[])">
<summary>
Inserts a range of new items at a specified index.
</summary>
<param name="targetIndex">The index at which to insert the new items.</param>
<param name="items">The source array to copy items from.</param>
</member>
<member name="M:Duality.RawList`1.InsertRange(System.Int32,`0[],System.Int32,System.Int32)">
<summary>
Inserts a range of new items at a specified index.
</summary>
<param name="targetIndex">The index at which to insert the new items.</param>
<param name="items">The source array to copy items from.</param>
<param name="sourceIndex">Index in the source array from which to copy items.</param>
<param name="count">The number of items to insert.</param>
</member>
<member name="M:Duality.RawList`1.Remove(`0)">
<summary>
Removes the first matchin item from the list.
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:Duality.RawList`1.RemoveAt(System.Int32)">
<summary>
Removes the element at the specified index.
</summary>
<param name="index"></param>
</member>
<member name="M:Duality.RawList`1.RemoveRange(System.Int32,System.Int32)">
<summary>
Removes a range of elements at the specified index.
</summary>
<param name="index"></param>
<param name="count"></param>
</member>
<member name="M:Duality.RawList`1.RemoveAll(System.Predicate{`0})">
<summary>
Removes the first matchin item from the list.
</summary>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:Duality.RawList`1.Clear">
<summary>
Clears the entire list of its contents and resets its size to zero.
</summary>
</member>
<member name="M:Duality.RawList`1.Sort">
<summary>
Sorts the entire list.
</summary>
</member>
<member name="M:Duality.RawList`1.Sort(System.Collections.Generic.Comparer{`0})">
<summary>
Sorts the entire list using a specific comparer.
</summary>
<param name="comparer"></param>
</member>
<member name="M:Duality.RawList`1.Sort(System.Comparison{`0})">
<summary>
Sorts the entire list using a specific comparison.
</summary>
<param name="comparison"></param>
</member>
<member name="M:Duality.RawList`1.Sort(System.Int32,System.Int32)">
<summary>
Sorts a certain range of the list.
</summary>
<param name="index"></param>
<param name="count"></param>
</member>
<member name="M:Duality.RawList`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
<summary>
Sorts a certain range of the list using a specific comparer.
</summary>
<param name="index"></param>
<param name="count"></param>
<param name="comparer"></param>
</member>
<member name="M:Duality.RawList`1.Sort(System.Int32,System.Int32,System.Comparison{`0})">
<summary>
Sorts a certain range of the list using a specific comparison.
</summary>
<param name="index"></param>
<param name="count"></param>
<param name="comparison"></param>
</member>
<member name="M:Duality.RawList`1.ShrinkToFit">
<summary>
Shrinks the lists internal array to the current minimum size.
</summary>
</member>
<member name="M:Duality.RawList`1.Reserve(System.Int32)">
<summary>
Makes sure that the lists internal array has storage space for at least the specified amount of elements.
</summary>
<param name="capacity"></param>
</member>
<member name="M:Duality.RawList`1.Move(System.Int32,System.Int32,System.Int32)">
<summary>
Moves a range of elements by a certain value and resets the indices that now remain empty.
</summary>
<param name="index"></param>
<param name="count"></param>
<param name="moveBy"></param>
</member>
<member name="M:Duality.RawList`1.CopyTo(`0[],System.Int32)">
<summary>
Copies the contents of this collection to the specified array.
</summary>
<param name="array"></param>
<param name="arrayIndex"></param>
</member>
<member name="M:Duality.RawList`1.CopyTo(Duality.RawList{`0},System.Int32,System.Int32)">
<summary>
Copies the contents of this list to the specified target list. The target list size will be
increased when necessary to fit all copied contents of the source list inside it at the specified index.
</summary>
<param name="target"></param>
<param name="targetIndex"></param>
<param name="count"></param>
</member>
<member name="P:Duality.RawList`1.Data">
<summary>
[GET / SET] The lists internal array for data storage. Assigning an array that is shorter than <see cref="P:Duality.RawList`1.Count"/> will
result in <see cref="P:Duality.RawList`1.Count"/> being automatically adjusted. Assigning a larger array will not affect <see cref="P:Duality.RawList`1.Count"/>.
Assigning null will internally create a zero-length array.
</summary>
</member>
<member name="P:Duality.RawList`1.Count">
<summary>
[GET / SET] The number of used indices within the internal <see cref="P:Duality.RawList`1.Data"/> array. Setting this to a higher value
may cause the list to grow its internal array. Decreasing this value does not reset "removed" elements of the internal
array to their default value.
</summary>
</member>
<member name="P:Duality.RawList`1.Capacity">
<summary>
[GET] Length of the internal <see cref="P:Duality.RawList`1.Data"/> array.
</summary>
</member>
<member name="P:Duality.RawList`1.Item(System.Int32)">
<summary>
[GET / SET] A safety-checked index accessor to the lists internal array. Will throw an <see cref="T:System.IndexOutOfRangeException"/>
when attempting to access indices exceeding <see cref="P:Duality.RawList`1.Count"/>.
</summary>
<param name="index"></param>
<returns></returns>
</member>
<member name="T:Duality.Input.GamepadInputCollection">
<summary>
Provides access to a set of <see cref="T:Duality.Input.GamepadInput">GamepadInputs</see>.
</summary>
</member>
<member name="T:Duality.Input.UserInputCollection`2">
<summary>
Provides access to a named set of <see cref="T:Duality.Input.IUserInput">user input devices</see>.
</summary>
</member>
<member name="M:Duality.Input.UserInputCollection`2.ClearSources">
<summary>
Removes all user input sources.
</summary>
</member>
<member name="M:Duality.Input.UserInputCollection`2.AddSource(`1)">
<summary>
Adds a new user input source.
</summary>
<param name="source"></param>
</member>
<member name="M:Duality.Input.UserInputCollection`2.AddSource(System.Collections.Generic.IEnumerable{`1})">
<summary>
Adds a set of new user input sources.
</summary>
<param name="source"></param>
</member>
<member name="M:Duality.Input.UserInputCollection`2.RemoveSource(`1)">
<summary>
Removes a previously registered user input source.
Note that the <see cref="T:Duality.Input.JoystickInput"/> will still exist,
but become <see cref="P:Duality.Input.JoystickInput.IsAvailable">unavailable</see> until
a new matching input source is registered.
</summary>
<param name="source"></param>
<returns>Returns true, if the source was successfully removed.</returns>
</member>
<member name="M:Duality.Input.UserInputCollection`2.RemoveSource(System.Collections.Generic.IEnumerable{`1})">
<summary>
Removes a set of previously registered user input sources.
Note that each <see cref="T:Duality.Input.JoystickInput"/> will still exist,
but become <see cref="P:Duality.Input.JoystickInput.IsAvailable">unavailable</see> until
a new matching input source is registered.
</summary>
<param name="source"></param>
<returns>Returns true, if all sources were successfully removed.</returns>
</member>
<member name="M:Duality.Input.UserInputCollection`2.IndexOf(`0)">
<summary>
Returns the index of a specific user input.
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.UserInputCollection`2.Contains(`0)">
<summary>
Returns whether a certain user input is known.
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.UserInputCollection`2.CopyTo(`0[],System.Int32)">
<summary>
Copies all known user inputs to the specified array.
</summary>
<param name="array"></param>
<param name="arrayIndex"></param>
</member>
<member name="M:Duality.Input.UserInputCollection`2.GetEnumerator">
<summary>
Returns an enumerator to iterate over all known user inputs.
</summary>
<returns></returns>
</member>
<member name="P:Duality.Input.UserInputCollection`2.Count">
<summary>
[GET] Returns how many user inputs are known. Not all of them are necessarily available.
</summary>
</member>
<member name="P:Duality.Input.UserInputCollection`2.Item(System.Int32)">
<summary>
[GET] Returns a specific input by index.
</summary>
<param name="index"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.UserInputCollection`2.Item(System.String)">
<summary>
[GET] Returns a specific input by its <see cref="P:Duality.Input.IUserInput.Description"/>.
</summary>
<param name="desc"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.IUserInput.Update">
<summary>
Updates the inputs current state.
</summary>
</member>
<member name="P:Duality.Input.IUserInput.Description">
<summary>
[GET] A text description of this input.
</summary>
</member>
<member name="P:Duality.Input.IUserInput.IsAvailable">
<summary>
[GET] Returns whether this input is currently available.
</summary>
</member>
<member name="P:Duality.Input.IUserInput.Source">
<summary>
[GET / SET] The source where this input derives its state from.
</summary>
</member>
<member name="E:Duality.Input.IUserInput.BecomesAvailable">
<summary>
Fired when the input becomes available to Duality.
</summary>
</member>
<member name="E:Duality.Input.IUserInput.NoLongerAvailable">
<summary>
Fired when the input is no longer available to Duality.
</summary>
</member>
<member name="T:Duality.Input.JoystickInputCollection">
<summary>
Provides access to a set of <see cref="T:Duality.Input.JoystickInput">JoystickInputs</see>.
</summary>
</member>
<member name="T:Duality.Input.GamepadInput">
<summary>
Provides access to gamepad user input.
</summary>
</member>
<member name="M:Duality.Input.GamepadInput.ButtonPressed(Duality.GamepadButton)">
<summary>
Returns whether the specified button is currently pressed.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.GamepadInput.ButtonHit(Duality.GamepadButton)">
<summary>
Returns whether the specified button was hit this frame.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.GamepadInput.ButtonReleased(Duality.GamepadButton)">
<summary>
Returns whether the specified button was released this frame.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.GamepadInput.AxisValue(Duality.Input.GamepadAxis)">
<summary>
Returns the specified axis value.
</summary>
<param name="axis"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.GamepadInput.AxisSpeed(Duality.Input.GamepadAxis)">
<summary>
Returns the specified axis value change since last frame.
</summary>
<param name="axis"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.GamepadInput.SetVibration(System.Single,System.Single)">
<summary>
Sets the gamepads current vibration values.
</summary>
<param name="left">Left vibration between 0.0 and 1.0</param>
<param name="right">Right vibration between 0.0 and 1.0</param>
</member>
<member name="P:Duality.Input.GamepadInput.Source">
<summary>
[GET / SET] The gamepad inputs data source.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.Description">
<summary>
[GET] A string containing a unique description for this instance.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.IsAvailable">
<summary>
[GET] Returns whether this input is currently available.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.LeftTrigger">
<summary>
[GET] The left triggers current value.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.LeftTriggerSpeed">
<summary>
[GET] The left triggers movement speed.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.LeftThumbstick">
<summary>
[GET] The left thumbsticks current value.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.LeftThumbstickSpeed">
<summary>
[GET] The left thumbsticks movement speed.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.RightTrigger">
<summary>
[GET] The right triggers current value.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.RightTriggerSpeed">
<summary>
[GET] The right triggers movement speed.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.RightThumbstick">
<summary>
[GET] The right thumbsticks current value.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.RightThumbstickSpeed">
<summary>
[GET] The right thumbsticks current movement speed.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.DPad">
<summary>
[GET] The gamepads DPad state, expressed as a directional vector.
</summary>
</member>
<member name="P:Duality.Input.GamepadInput.Item(Duality.GamepadButton)">
<summary>
[GET] Returns whether the specified gamepad button is currently pressed.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.GamepadInput.Item(Duality.Input.GamepadAxis)">
<summary>
[GET] Returns the specified gamepad axis current value.
</summary>
<param name="axis"></param>
<returns></returns>
</member>
<member name="E:Duality.Input.GamepadInput.ButtonUp">
<summary>
Fired once when a device button is no longer pressed.
</summary>
</member>
<member name="E:Duality.Input.GamepadInput.ButtonDown">
<summary>
Fired once when a device button is pressed.
</summary>
</member>
<member name="E:Duality.Input.GamepadInput.Move">
<summary>
Fired whenever a device axis changes its value.
</summary>
</member>
<member name="E:Duality.Input.GamepadInput.NoLongerAvailable">
<summary>
Fired when the joystick is no longer available to Duality.
</summary>
</member>
<member name="E:Duality.Input.GamepadInput.BecomesAvailable">
<summary>
Fired when the joystick becomes available to Duality.
</summary>
</member>
<member name="T:Duality.Input.IGamepadInputSource">
<summary>
Describes a source of gamepad user input. This is usually an input device.
</summary>
</member>
<member name="T:Duality.Input.IUserInputSource">
<summary>
Base interface for describing a source of user input.
</summary>
</member>
<member name="M:Duality.Input.IUserInputSource.UpdateState">
<summary>
Updates the sources current state.
</summary>
</member>
<member name="P:Duality.Input.IUserInputSource.Description">
<summary>
[GET] A string containing a unique description for this instance.
</summary>
</member>
<member name="P:Duality.Input.IUserInputSource.IsAvailable">
<summary>
[GET] Returns whether this input is currently available.
</summary>
</member>
<member name="M:Duality.Input.IGamepadInputSource.SetVibration(System.Single,System.Single)">
<summary>
Sets the gamepads current vibration values.
</summary>
<param name="left">Left vibration between 0.0 and 1.0</param>
<param name="right">Right vibration between 0.0 and 1.0</param>
</member>
<member name="P:Duality.Input.IGamepadInputSource.Item(Duality.GamepadButton)">
<summary>
[GET] Returns whether the specified gamepad button is currently pressed.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.IGamepadInputSource.Item(Duality.Input.GamepadAxis)">
<summary>
[GET] Returns the specified gamepad axis value.
</summary>
<param name="axis"></param>
<returns></returns>
</member>
<member name="T:Duality.Input.IKeyboardInputSource">
<summary>
Describes a source of user keyboard input. This is usually an input device.
</summary>
</member>
<member name="P:Duality.Input.IKeyboardInputSource.CharInput">
<summary>
[GET] Returns the concatenated character input that was typed since the last input update.
</summary>
</member>
<member name="P:Duality.Input.IKeyboardInputSource.Item(Duality.Input.Key)">
<summary>
[GET] Returns whether a specific key is currently pressed.
</summary>
<param name="key"></param>
<returns></returns>
</member>
<member name="T:Duality.Input.IMouseInputSource">
<summary>
Describes a source of user mouse input. This is usually an input device.
</summary>
</member>
<member name="P:Duality.Input.IMouseInputSource.X">
<summary>
[GET / SET] The current viewport-local cursor X position.
</summary>
</member>
<member name="P:Duality.Input.IMouseInputSource.Y">
<summary>
[GET / SET] The current viewport-local cursor Y position.
</summary>
</member>
<member name="P:Duality.Input.IMouseInputSource.Wheel">
<summary>
[GET] The current mouse wheel value
</summary>
</member>
<member name="P:Duality.Input.IMouseInputSource.Item(Duality.Input.MouseButton)">
<summary>
[GET] Returns whether a specific <see cref="T:Duality.Input.MouseButton"/> is currently pressed.
</summary>
</member>
<member name="T:Duality.Input.IJoystickInputSource">
<summary>
Describes a source of extended user input such as joysticks or gamepads. This is usually an input device.
</summary>
</member>
<member name="P:Duality.Input.IJoystickInputSource.AxisCount">
<summary>
[GET] Returns the number of axes.
</summary>
</member>
<member name="P:Duality.Input.IJoystickInputSource.ButtonCount">
<summary>
[GET] Returns the number of buttons.
</summary>
</member>
<member name="P:Duality.Input.IJoystickInputSource.HatCount">
<summary>
[GET] Returns the number of hats.
</summary>
</member>
<member name="P:Duality.Input.IJoystickInputSource.Item(Duality.Input.JoystickButton)">
<summary>
[GET] Returns whether the specified device button is currently pressed.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.IJoystickInputSource.Item(Duality.Input.JoystickAxis)">
<summary>
[GET] Returns the specified device axis current value.
</summary>
<param name="axis"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.IJoystickInputSource.Item(Duality.Input.JoystickHat)">
<summary>
[GET] Returns the current position of the specified joystick hat.
</summary>
<param name="hat"></param>
<returns></returns>
</member>
<member name="T:Duality.Input.JoystickInput">
<summary>
Provides access to extended user input such as joysticks or gamepads.
</summary>
</member>
<member name="M:Duality.Input.JoystickInput.ButtonPressed(Duality.Input.JoystickButton)">
<summary>
Returns whether the specified button is currently pressed.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.JoystickInput.ButtonHit(Duality.Input.JoystickButton)">
<summary>
Returns whether the specified button was hit this frame.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.JoystickInput.ButtonReleased(Duality.Input.JoystickButton)">
<summary>
Returns whether the specified button was released this frame.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.JoystickInput.AxisValue(Duality.Input.JoystickAxis)">
<summary>
Returns the specified axis value.
</summary>
<param name="axis"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.JoystickInput.AxisSpeed(Duality.Input.JoystickAxis)">
<summary>
Returns the specified axis value change since last frame.
</summary>
<param name="axis"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.JoystickInput.HatPosition(Duality.Input.JoystickHat)">
<summary>
Returns the current position of the specified joystick hat.
</summary>
<param name="hat"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.JoystickInput.HatHit(Duality.Input.JoystickHat)">
<summary>
Returns all new hat displacement that occurred since last frame.
</summary>
<param name="hat"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.JoystickInput.HatReleased(Duality.Input.JoystickHat)">
<summary>
Returns all old hat displacement that stopped since last frame.
</summary>
<param name="hat"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.JoystickInput.Source">
<summary>
[GET / SET] The extended user inputs data source.
</summary>
</member>
<member name="P:Duality.Input.JoystickInput.Description">
<summary>
[GET] A string containing a unique description for this instance.
</summary>
</member>
<member name="P:Duality.Input.JoystickInput.IsAvailable">
<summary>
[GET] Returns whether this input is currently available.
</summary>
</member>
<member name="P:Duality.Input.JoystickInput.AxisCount">
<summary>
[GET] Returns the number of axes.
</summary>
</member>
<member name="P:Duality.Input.JoystickInput.ButtonCount">
<summary>
[GET] Returns the number of buttons.
</summary>
</member>
<member name="P:Duality.Input.JoystickInput.HatCount">
<summary>
[GET] Returns the number of joystick hats.
</summary>
</member>
<member name="P:Duality.Input.JoystickInput.Item(Duality.Input.JoystickButton)">
<summary>
[GET] Returns whether the specified device button is currently pressed.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.JoystickInput.Item(Duality.Input.JoystickAxis)">
<summary>
[GET] Returns the specified device axis current value.
</summary>
<param name="axis"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.JoystickInput.Item(Duality.Input.JoystickHat)">
<summary>
[GET] Returns the current position of the specified joystick hat.
</summary>
<param name="hat"></param>
<returns></returns>
</member>
<member name="E:Duality.Input.JoystickInput.ButtonUp">
<summary>
Fired once when a device button is no longer pressed.
</summary>
</member>
<member name="E:Duality.Input.JoystickInput.ButtonDown">
<summary>
Fired once when a device button is pressed.
</summary>
</member>
<member name="E:Duality.Input.JoystickInput.AxisMove">
<summary>
Fired whenever a device axis changes its value.
</summary>
</member>
<member name="E:Duality.Input.JoystickInput.HatMove">
<summary>
Fired whenever a joystick hat moves.
</summary>
</member>
<member name="E:Duality.Input.JoystickInput.NoLongerAvailable">
<summary>
Fired when the joystick is no longer available to Duality.
</summary>
</member>
<member name="E:Duality.Input.JoystickInput.BecomesAvailable">
<summary>
Fired when the joystick becomes available to Duality.
</summary>
</member>
<member name="T:Duality.Input.MouseInput">
<summary>
Provides access to user mouse input.
</summary>
</member>
<member name="M:Duality.Input.MouseInput.ButtonPressed(Duality.Input.MouseButton)">
<summary>
Returns whether the specified button is currently pressed.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.MouseInput.ButtonHit(Duality.Input.MouseButton)">
<summary>
Returns whether the specified button was hit this frame.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.MouseInput.ButtonReleased(Duality.Input.MouseButton)">
<summary>
Returns whether the specified button was released this frame.
</summary>
<param name="button"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.MouseInput.Source">
<summary>
[GET / SET] The mouse inputs data source.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.Description">
<summary>
[GET] A text description of this input.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.IsAvailable">
<summary>
[GET] Returns whether this input is currently available.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.X">
<summary>
[GET / SET] The current viewport-local cursor X position.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.Y">
<summary>
[GET / SET] The current viewport-local cursor Y position.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.Pos">
<summary>
[GET] The current viewport-local cursor position.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.XSpeed">
<summary>
[GET] Returns the X position change since last frame.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.YSpeed">
<summary>
[GET] Returns the Y position change since last frame.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.Vel">
<summary>
[GET] The viewport-local cursor position change since last frame.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.Wheel">
<summary>
[GET] The current mouse wheel value
</summary>
</member>
<member name="P:Duality.Input.MouseInput.WheelPrecise">
<summary>
[GET] The current (precise, high resolution) mouse wheel value
</summary>
</member>
<member name="P:Duality.Input.MouseInput.WheelSpeed">
<summary>
[GET] Returns the change of the mouse wheel value since last frame.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.WheelSpeedPrecise">
<summary>
[GET] Returns the (precise, high resolution) change of the mouse wheel value since last frame.
</summary>
</member>
<member name="P:Duality.Input.MouseInput.Item(Duality.Input.MouseButton)">
<summary>
[GET] Returns whether a specific <see cref="T:Duality.Input.MouseButton"/> is currently pressed.
</summary>
<param name="btn"></param>
<returns></returns>
</member>
<member name="E:Duality.Input.MouseInput.ButtonUp">
<summary>
Fired when a <see cref="T:Duality.Input.MouseButton"/> is no longer pressed.
</summary>
</member>
<member name="E:Duality.Input.MouseInput.ButtonDown">
<summary>
Fired once when a <see cref="T:Duality.Input.MouseButton"/> is pressed.
</summary>
</member>
<member name="E:Duality.Input.MouseInput.Move">
<summary>
Fired when the cursor moves.
</summary>
</member>
<member name="E:Duality.Input.MouseInput.NoLongerAvailable">
<summary>
Fired when the cursor leaves the viewport area.
</summary>
</member>
<member name="E:Duality.Input.MouseInput.BecomesAvailable">
<summary>
Fired when the cursor enters the viewport area.
</summary>
</member>
<member name="E:Duality.Input.MouseInput.WheelChanged">
<summary>
Fired when the mouse wheel value changes.
</summary>
</member>
<member name="T:Duality.Input.KeyboardInput">
<summary>
Provides access to user keyboard input.
</summary>
</member>
<member name="M:Duality.Input.KeyboardInput.KeyPressed(Duality.Input.Key)">
<summary>
Returns whether the specified key is currently pressed.
</summary>
<param name="key"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.KeyboardInput.KeyHit(Duality.Input.Key)">
<summary>
Returns whether the specified key was hit this frame.
</summary>
<param name="key"></param>
<returns></returns>
</member>
<member name="M:Duality.Input.KeyboardInput.KeyReleased(Duality.Input.Key)">
<summary>
Returns whether the specified key was released this frame.
</summary>
<param name="key"></param>
<returns></returns>
</member>
<member name="P:Duality.Input.KeyboardInput.Source">
<summary>
[GET / SET] The keyboard inputs data source.
</summary>
</member>
<member name="P:Duality.Input.KeyboardInput.Description">
<summary>
[GET] A text description of this input.
</summary>
</member>
<member name="P:Duality.Input.KeyboardInput.IsAvailable">
<summary>
[GET] Returns whether this input is currently available.
</summary>
</member>
<member name="P:Duality.Input.KeyboardInput.CharInput">
<summary>
[GET] Returns the concatenated character input that was typed since the last input update.
</summary>
</member>
<member name="P:Duality.Input.KeyboardInput.Item(Duality.Input.Key)">
<summary>
[GET] Returns whether a specific key is currently pressed.
</summary>
<param name="key"></param>
<returns></returns>
</member>
<member name="E:Duality.Input.KeyboardInput.KeyUp">
<summary>
Fired when a key is no longer pressed.
</summary>
</member>
<member name="E:Duality.Input.KeyboardInput.KeyDown">
<summary>
Fired once when a key is pressed.
</summary>
</member>
<member name="E:Duality.Input.KeyboardInput.NoLongerAvailable">
<summary>
Fired when keyboard input is no longer available to Duality.
</summary>
</member>
<member name="E:Duality.Input.KeyboardInput.BecomesAvailable">
<summary>
Fired when keyboard input becomes available to Duality.
</summary>
</member>
<member name="M:Duality.ExtMethodsVisualLogEntry.KeepAlive``1(``0,System.Single,System.Boolean)">
<summary>
Keeps the log entry alive for a certain amount of time. It will fade out smoothly upon nearing its end.
</summary>
<typeparam name="T"></typeparam>
<param name="entry"></param>
<param name="lifetime">The time in milliseconds that will be added to the log entries lifetime.</param>
<param name="lifetimeAsAlpha">Whether the lifetime of this entry should be used as alpha-value of the specified color. If set to true the entry will fade out over time.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsVisualLogEntry.AnchorAt``1(``0,Duality.GameObject)">
<summary>
Anchors the log entry to the specified <see cref="T:Duality.GameObject"/>. All coordinates and sizes will be
interpreted relative to it. Upon destruction, all anchored log entries will be removed as well.
</summary>
<typeparam name="T"></typeparam>
<param name="entry"></param>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsVisualLogEntry.WithColor``1(``0,Duality.Drawing.ColorRgba)">
<summary>
Colors the log entry with the specified value.
</summary>
<typeparam name="T"></typeparam>
<param name="entry"></param>
<param name="color"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsVisualLogEntry.WithOffset``1(``0,System.Single)">
<summary>
Assigns the log entries depth offset to the specified value.
</summary>
<typeparam name="T"></typeparam>
<param name="entry"></param>
<param name="depthOffset"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsVisualLogEntry.Align(Duality.VisualLogTextEntry,Duality.Alignment)">
<summary>
Aligns the text of this log entry as specified.
</summary>
<param name="entry"></param>
<param name="blockAlign"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsVisualLogEntry.Segment(Duality.VisualLogCircleEntry,System.Single,System.Single)">
<summary>
Instead of a full circle, only a certain angular segment of the circle will be displayed.
</summary>
<param name="entry"></param>
<param name="minAngle"></param>
<param name="maxAngle"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsVisualLogEntry.DontScale(Duality.VisualLogCircleEntry)">
<summary>
Prohibits scale changes due to perspective transformation.
</summary>
<param name="entry"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsVisualLogEntry.DontScale(Duality.VisualLogPolygonEntry)">
<summary>
Prohibits scale changes due to perspective transformation.
</summary>
<param name="entry"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsVisualLogEntry.DontScale(Duality.VisualLogVectorEntry)">
<summary>
Prohibits scale changes due to perspective transformation.
</summary>
<param name="entry"></param>
<returns></returns>
</member>
<member name="T:Duality.VisualLogAnchor">
<summary>
Describes the reference point by which a <see cref="T:Duality.VisualLogEntry"/> will be transformed.
</summary>
</member>
<member name="F:Duality.VisualLogAnchor.Screen">
<summary>
All coordinates and sizes are interpreted as screen space values.
</summary>
</member>
<member name="F:Duality.VisualLogAnchor.World">
<summary>
All coordinates and sizes are interpreted as world space values.
</summary>
</member>
<member name="F:Duality.VisualLogAnchor.Object">
<summary>
All coordinates and sizes are interpreted as object space values.
A reference object needs to be specified for this option to be functional.
</summary>
</member>
<member name="T:Duality.VisualLog">
<summary>
A <see cref="T:Duality.VisualLog"/> provides functionality to log spatial and other visual information conveniently, which is displayed in
real-time. Each VisualLog can be set up differently and corresponds to a distinct visual layer.
All submitted calls are guaranteed to be displayed visually within the same frame they were submitted in.
</summary>
</member>
<member name="M:Duality.VisualLog.Get(System.String)">
<summary>
[GET] Creates or retrieves a named log. Once a log has been created, it will remain available until
explicitly removed.
</summary>
<param name="logName"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.Draw``1(``0)">
<summary>
Draws the specified log entry. Use this method for custom <see cref="T:Duality.VisualLogEntry"/> class implementations.
</summary>
<typeparam name="T"></typeparam>
<param name="entry"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawPoint(System.Single,System.Single)">
<summary>
Draws a point in screen space.
</summary>
<param name="screenX"></param>
<param name="screenY"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawPoint(Duality.Vector2)">
<summary>
Draws a point in screen space.
</summary>
<param name="screenPos"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawPoint(System.Single,System.Single,System.Single)">
<summary>
Draws a point in world space. A point has no physical size and is displayed in the same size
regardless of perspective settings or distance to the Camera.
</summary>
<param name="worldX"></param>
<param name="worldY"></param>
<param name="worldZ"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawPoint(Duality.Vector3)">
<summary>
Draws a point in world space. A point has no physical size and is displayed in the same size
regardless of perspective settings or distance to the Camera.
</summary>
<param name="worldPos"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawCircle(System.Single,System.Single,System.Single)">
<summary>
Draws a circle in screen space.
</summary>
<param name="screenX"></param>
<param name="screenY"></param>
<param name="radius"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawCircle(Duality.Vector2,System.Single)">
<summary>
Draws a circle in screen space.
</summary>
<param name="screenPos"></param>
<param name="radius"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawCircle(System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a circle in world space.
</summary>
<param name="worldX"></param>
<param name="worldY"></param>
<param name="worldZ"></param>
<param name="radius"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawCircle(Duality.Vector3,System.Single)">
<summary>
Draws a circle in world space.
</summary>
<param name="worldPos"></param>
<param name="radius"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawVector(System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a vector in screen space. A vector can be thought of as an arrow pointing in a certain direction.
It is useful for displaying velocities or directions.
</summary>
<param name="screenX">The vectors screen origin.</param>
<param name="screenY">The vectors screen origin.</param>
<param name="vectorX">The vector to display.</param>
<param name="vectorY">The vector to display.</param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawVector(Duality.Vector2,Duality.Vector2)">
<summary>
Draws a vector in screen space. A vector can be thought of as an arrow pointing in a certain direction.
It is useful for displaying velocities or directions.
</summary>
<param name="screenPos">The vectors screen origin.</param>
<param name="vector">The vector to display.</param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawVector(System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a vector in world space. A vector can be thought of as an arrow pointing in a certain direction.
It is useful for displaying velocities or directions.
</summary>
<param name="worldX">The vectors world origin.</param>
<param name="worldY">The vectors world origin.</param>
<param name="worldZ">The vectors world origin.</param>
<param name="vectorX">The vector to display.</param>
<param name="vectorY">The vector to display.</param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawVector(Duality.Vector3,Duality.Vector2)">
<summary>
Draws a vector in world space. A vector can be thought of as an arrow pointing in a certain direction.
It is useful for displaying velocities or directions.
</summary>
<param name="worldPos">The vectors world origin.</param>
<param name="vector">The vector to display.</param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawConnection(System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a connection between two screen space points.
</summary>
<param name="screenX1"></param>
<param name="screenY1"></param>
<param name="screenX2"></param>
<param name="screenY2"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawConnection(Duality.Vector2,Duality.Vector2)">
<summary>
Draws a connection between two screen space points.
</summary>
<param name="screenPos1"></param>
<param name="screenPos2"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawConnection(System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Draws a connection between two world space points. Both points need to be on the same Z plane.
</summary>
<param name="worldX1"></param>
<param name="worldY1"></param>
<param name="worldZ"></param>
<param name="worldX2"></param>
<param name="worldY2"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawConnection(Duality.Vector3,Duality.Vector2)">
<summary>
Draws a connection between two world space points. Both points need to be on the same Z plane.
</summary>
<param name="worldPos1"></param>
<param name="worldPos2"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawPolygon(System.Single,System.Single,Duality.Vector2[])">
<summary>
Draws a convex polygon in screen space.
</summary>
<param name="screenX"></param>
<param name="screenY"></param>
<param name="polygon"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawPolygon(Duality.Vector2,Duality.Vector2[])">
<summary>
Draws a convex polygon in screen space.
</summary>
<param name="screenPos"></param>
<param name="polygon"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawPolygon(System.Single,System.Single,System.Single,Duality.Vector2[])">
<summary>
Draws a convex polygon in world space.
</summary>
<param name="worldX"></param>
<param name="worldY"></param>
<param name="worldZ"></param>
<param name="polygon"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawPolygon(Duality.Vector3,Duality.Vector2[])">
<summary>
Draws a convex polygon in world space.
</summary>
<param name="worldPos"></param>
<param name="polygon"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawText(System.Single,System.Single,System.String)">
<summary>
Draws a text in screen space. Unlike other log entries, texts retain a constant rotation and size.
Only the point of their origin is transformed regularly.
</summary>
<param name="screenX"></param>
<param name="screenY"></param>
<param name="text"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawText(Duality.Vector2,System.String)">
<summary>
Draws a text in screen space. Unlike other log entries, texts retain a constant rotation and size.
Only the point of their origin is transformed regularly.
</summary>
<param name="screenPos"></param>
<param name="text"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawText(System.Single,System.Single,System.Single,System.String)">
<summary>
Draws a text in world space. Unlike other log entries, texts retain a constant rotation and size.
Only the point of their origin is transformed regularly.
</summary>
<param name="worldX"></param>
<param name="worldY"></param>
<param name="worldZ"></param>
<param name="text"></param>
<returns></returns>
</member>
<member name="M:Duality.VisualLog.DrawText(Duality.Vector3,System.String)">
<summary>
Draws a text in world space. Unlike other log entries, texts retain a constant rotation and size.
Only the point of their origin is transformed regularly.
</summary>
<param name="worldPos"></param>
<param name="text"></param>
<returns></returns>
</member>
<member name="P:Duality.VisualLog.All">
<summary>
[GET] Enumerates all currently existing logs.
</summary>
</member>
<member name="P:Duality.VisualLog.Default">
<summary>
[GET] Returns the default log, which can be used for quick output hacks and miscellaneous data.
To set up a distinct layer for specific kinds of data, use <see cref="M:Duality.VisualLog.Get(System.String)">a different</see>
log.
</summary>
</member>
<member name="P:Duality.VisualLog.Name">
<summary>
[GET] The VisualLog's name
</summary>
</member>
<member name="P:Duality.VisualLog.Visible">
<summary>
[GET / SET] Whether or not this log will be displayed. It's basically an on / off switch.
</summary>
</member>
<member name="P:Duality.VisualLog.BaseColor">
<summary>
[GET / SET] The logs base color, which is used for coloring all the displayed log entries.
</summary>
</member>
<member name="P:Duality.VisualLog.VisibilityGroup">
<summary>
[GET / SET] Similar to a <see cref="T:Duality.Components.Renderer">renderers</see> visibility group,
this property can be used to make the log visible to only certain Cameras.
</summary>
</member>
<member name="P:Duality.VisualLog.Entries">
<summary>
[GET] Enumerates all log entries that have been added to this log and are currently active.
</summary>
</member>
<member name="T:Duality.VisualLogTextEntry">
<summary>
Represents a textual description of a certain point in space in the context of <see cref="T:Duality.VisualLog">visual logging</see>.
</summary>
</member>
<member name="T:Duality.VisualLogEntry">
<summary>
Represents an entry of a <see cref="T:Duality.VisualLog"/>, which will be generated by calling one of the
available drawing methods on one of the available logs.
</summary>
</member>
<member name="F:Duality.VisualLogEntry.DefaultOutlineWidth">
<summary>
Default width of the outline of a log entries visual representation.
</summary>
</member>
<member name="M:Duality.VisualLogEntry.Remove">
<summary>
Removes this log entry by killing it immediately.
</summary>
</member>
<member name="M:Duality.VisualLogEntry.Update">
<summary>
Updates the entry. This method is automatically called by the system.
</summary>
</member>
<member name="M:Duality.VisualLogEntry.Draw(Duality.Drawing.Canvas)">
<summary>
Draws the entry to the specified <see cref="T:Duality.Drawing.Canvas"/>.
</summary>
<param name="target"></param>
</member>
<member name="M:Duality.VisualLogEntry.Draw(Duality.Drawing.Canvas,Duality.Vector3,System.Single,System.Single)">
<summary>
Draws the entry to the specified <see cref="T:Duality.Drawing.Canvas"/>. Its parameters provide information
about the log entries anchor and should be interpreted as parent transform.
</summary>
<param name="target"></param>
<param name="basePos">The anchors base position.</param>
<param name="baseRotation">The anchors base rotation.</param>
<param name="baseScale">The anchors base scale.</param>
</member>
<member name="P:Duality.VisualLogEntry.IsAlive">
<summary>
[GET] Returns whether this log entry is to be considered alive. Dead entries will
be removed immediately.
</summary>
</member>
<member name="P:Duality.VisualLogEntry.Lifetime">
<summary>
[GET / SET] The remaining lifetime of this log entry in milliseconds. If not specified otherwise,
a log entry is only displayed for a single frame.
</summary>
</member>
<member name="P:Duality.VisualLogEntry.LifetimeRatio">
<summary>
[GET] The relative amount of available lifetime this log entry has.
0.0f means "totally dead", 1.0f means "as alive as it gets".
</summary>
</member>
<member name="P:Duality.VisualLogEntry.DepthOffset">
<summary>
[GET / SET] The depth offset that is applied when rendering this visual log entry.
</summary>
</member>
<member name="P:Duality.VisualLogEntry.Color">
<summary>
[GET / SET] The log entries individual color.
</summary>
</member>
<member name="P:Duality.VisualLogEntry.LifetimeAsAlpha">
<summary>
[GET / SET] Whether the lifetime of this entry should be used as alpha-value of the specified color.
</summary>
</member>
<member name="P:Duality.VisualLogEntry.Anchor">
<summary>
[GET / SET] The anchor which is used for interpreting this log entries coordinates and sizes.
</summary>
</member>
<member name="P:Duality.VisualLogEntry.AnchorObj">
<summary>
[GET / SET] The GameObject to which this log entry is anchored.
</summary>
</member>
<member name="P:Duality.VisualLogTextEntry.Pos">
<summary>
[GET / SET] The point in space that is described by this text.
</summary>
</member>
<member name="P:Duality.VisualLogTextEntry.BlockAlignment">
<summary>
[GET / SET] The texts (multiline block) spatial alignment.
</summary>
</member>
<member name="P:Duality.VisualLogTextEntry.Text">
<summary>
[GET / SET] The text that will be displayed. Newline characters will
be parsed correctly and be correctly displayed as line breaks.
</summary>
</member>
<member name="P:Duality.VisualLogTextEntry.TextLines">
<summary>
[GET] The displayed text, broken up into distinct lines. Do not modify - use <see cref="P:Duality.VisualLogTextEntry.Text"/> instead.
</summary>
</member>
<member name="T:Duality.VisualLogPolygonEntry">
<summary>
Represents a polygon in the context of <see cref="T:Duality.VisualLog">visual logging</see>.
</summary>
</member>
<member name="P:Duality.VisualLogPolygonEntry.Pos">
<summary>
[GET / SET] The polygons origin in space.
</summary>
</member>
<member name="P:Duality.VisualLogPolygonEntry.Vertices">
<summary>
[GET / SET] The vertices that form the displayed polygon.
</summary>
</member>
<member name="P:Duality.VisualLogPolygonEntry.InvariantScale">
<summary>
[GET / SET] Whether or not the polygon area will be displayed at a constant size regardless of perspective scale.
</summary>
</member>
<member name="T:Duality.VisualLogConnectionEntry">
<summary>
Represents a connection between two points in space in the context of <see cref="T:Duality.VisualLog">visual logging</see>.
</summary>
</member>
<member name="P:Duality.VisualLogConnectionEntry.PosA">
<summary>
[GET / SET] The first points spatial location.
</summary>
</member>
<member name="P:Duality.VisualLogConnectionEntry.PosB">
<summary>
[GET / SET] The second points spatial location.
</summary>
</member>
<member name="T:Duality.VisualLogVectorEntry">
<summary>
Represents a vector based on a certain space origin in the context of <see cref="T:Duality.VisualLog">visual logging</see>.
</summary>
</member>
<member name="P:Duality.VisualLogVectorEntry.Origin">
<summary>
[GET / SET] The vectors origin in space.
</summary>
</member>
<member name="P:Duality.VisualLogVectorEntry.Vector">
<summary>
[GET / SET] The vector to display.
</summary>
</member>
<member name="P:Duality.VisualLogVectorEntry.InvariantScale">
<summary>
[GET / SET] Whether or not the vector will be displayed at a constant size regardless of perspective scale.
</summary>
</member>
<member name="T:Duality.VisualLogCircleEntry">
<summary>
Represents a circular area in space in the context of <see cref="T:Duality.VisualLog">visual logging</see>.
</summary>
</member>
<member name="P:Duality.VisualLogCircleEntry.Pos">
<summary>
[GET / SET] The circular areas center location.
</summary>
</member>
<member name="P:Duality.VisualLogCircleEntry.Radius">
<summary>
[GET / SET] The circles radius.
</summary>
</member>
<member name="P:Duality.VisualLogCircleEntry.MinAngle">
<summary>
[GET / SET] The minimum angle of the displayed circle area segment.
</summary>
</member>
<member name="P:Duality.VisualLogCircleEntry.MaxAngle">
<summary>
[GET / SET] The maximum angle of the displayed circle area segment.
</summary>
</member>
<member name="P:Duality.VisualLogCircleEntry.InvariantScale">
<summary>
[GET / SET] Whether or not the circle area will be displayed at a constant size regardless of perspective scale.
</summary>
</member>
<member name="T:Duality.VisualLogPointEntry">
<summary>
Represents a point in space in the context of <see cref="T:Duality.VisualLog">visual logging</see>. Points do not have a physical size
and thus are displayed invariantly to parent or perspective scale.
</summary>
</member>
<member name="P:Duality.VisualLogPointEntry.Pos">
<summary>
[GET / SET] The points spatial location.
</summary>
</member>
<member name="M:Duality.ProfileCounter.ResetFrame">
<summary>
Resets the counters frame-local measurement values.
</summary>
</member>
<member name="M:Duality.ProfileCounter.ResetAll">
<summary>
Resets all of the counter's measurement values, including min, max and average values.
</summary>
</member>
<member name="M:Duality.ProfileCounter.GetReportData(Duality.ProfileReportCounterData@)">
<summary>
Gathers ProfileCounter data for generating a profile report.
</summary>
<param name="data"></param>
<param name="options"></param>
</member>
<member name="P:Duality.ProfileCounter.Name">
<summary>
[GET / SET] The counters individual name, without any ancestor names included.
</summary>
</member>
<member name="P:Duality.ProfileCounter.FullName">
<summary>
[GET / SET] The counters full name, including possibly existing parent counters.
</summary>
</member>
<member name="P:Duality.ProfileCounter.DisplayName">
<summary>
[GET] The name that this ProfileCounter uses for value display.
</summary>
</member>
<member name="P:Duality.ProfileCounter.Parent">
<summary>
[GET] This counters parent counter.
</summary>
</member>
<member name="P:Duality.ProfileCounter.ParentDepth">
<summary>
[GET] Returns the depths of this counters <see cref="P:Duality.ProfileCounter.Parent">ancestry</see>.
</summary>
</member>
<member name="P:Duality.ProfileCounter.WasUsed">
<summary>
[GET] Returns whether this ProfileCounter was used last frame.
</summary>
</member>
<member name="P:Duality.ProfileCounter.HasData">
<summary>
[GET] Returns whether this ProfileCounter has gathered and processed any usable data yet.
</summary>
</member>
<member name="P:Duality.ProfileCounter.IsSingleValue">
<summary>
[GET / SET] Specifies whether this is a single value counter that doesn't need any MinMax processing.
</summary>
</member>
<member name="T:Duality.Profile">
<summary>
This class houses several performance counters and performance measurement utility
</summary>
</member>
<member name="M:Duality.Profile.ResetCounters">
<summary>
Completely resets all <see cref="T:Duality.ProfileCounter"/> instances, discarding
all data that has been collected so far and starting over.
</summary>
</member>
<member name="M:Duality.Profile.GetCounter``1(System.String)">
<summary>
Returns an existing <see cref="T:Duality.ProfileCounter"/> with the specified name.
</summary>
<typeparam name="T"></typeparam>
<param name="name">The <see cref="T:Duality.ProfileCounter"/> name to use for this measurement. For nested measurements, use path strings, e.g. "ParentCounter\ChildCounter"</param>
<returns></returns>
</member>
<member name="M:Duality.Profile.RequestCounter``1(System.String)">
<summary>
Returns an existing <see cref="T:Duality.ProfileCounter"/> with the specified name, or creates one if none is found.
</summary>
<typeparam name="T"></typeparam>
<param name="name">The <see cref="T:Duality.ProfileCounter"/> name to use for this measurement. For nested measurements, use path strings, e.g. "ParentCounter\ChildCounter"</param>
<returns></returns>
</member>
<member name="M:Duality.Profile.GetUsedCounters">
<summary>
Enumerates all <see cref="T:Duality.ProfileCounter"/> objects that have been actively used this frame.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Profile.BeginMeasure(System.String)">
<summary>
Begins time measurement using a new or existing <see cref="T:Duality.ProfileCounter"/> with the specified name.
</summary>
<param name="counter">The <see cref="T:Duality.ProfileCounter"/> name to use for this measurement. For nested measurements, use path strings, e.g. "ParentCounter\ChildCounter"</param>
<returns></returns>
</member>
<member name="M:Duality.Profile.EndMeasure(System.String)">
<summary>
Ends time measurement using an existing <see cref="T:Duality.ProfileCounter"/> with the specified name.
</summary>
<param name="counter">The <see cref="T:Duality.ProfileCounter"/> name to use for this measurement. For nested measurements, use path strings, e.g. "ParentCounter\ChildCounter"</param>
</member>
<member name="M:Duality.Profile.GetMeasure(System.String)">
<summary>
Queries this frames time measurement value from an existing <see cref="T:Duality.ProfileCounter"/> with the specified name.
</summary>
<param name="counter">The <see cref="T:Duality.ProfileCounter"/> name to use for this measurement. For nested measurements, use path strings, e.g. "ParentCounter\ChildCounter"</param>
<returns></returns>
</member>
<member name="M:Duality.Profile.AddToStat(System.String,System.Int32)">
<summary>
Accumulates a statistical information value to a new or existing <see cref="T:Duality.ProfileCounter"/> with the specified name.
</summary>
<param name="counter">The <see cref="T:Duality.ProfileCounter"/> name to use for this measurement. For nested measurements, use path strings, e.g. "ParentCounter\ChildCounter"</param>
<param name="value"></param>
</member>
<member name="M:Duality.Profile.GetStat(System.String)">
<summary>
Queries a statistical information value from an existing <see cref="T:Duality.ProfileCounter"/> with the specified name.
</summary>
<param name="counter">The <see cref="T:Duality.ProfileCounter"/> name to use for this measurement. For nested measurements, use path strings, e.g. "ParentCounter\ChildCounter"</param>
<param name="value"></param>
</member>
<member name="M:Duality.Profile.SaveTextReport(System.String)">
<summary>
Saves a text report of the current profiling data to the specified file.
</summary>
<param name="filePath"></param>
</member>
<member name="M:Duality.Profile.SaveTextReport(System.IO.Stream)">
<summary>
Saves a text report of the current profiling data to the specified stream.
</summary>
<param name="filePath"></param>
</member>
<member name="M:Duality.Profile.GetTextReport(System.Collections.Generic.IEnumerable{Duality.ProfileCounter},Duality.ProfileReportOptions)">
<summary>
Creates a text report of the current profiling data and returns it as string.
</summary>
<param name="filePath"></param>
</member>
<member name="T:Duality.ContentProvider">
<summary>
<para>
The ContentProvider is Duality's main instance for content management. If you need any kind of <see cref="T:Duality.Resource"/>,
simply request it from the ContentProvider. It keeps track of which Resources are loaded and valid and prevents
Resources from being loaded more than once at a time, thus reducing loading times and redundancy.
</para>
<para>
You can also manually <see cref="M:Duality.ContentProvider.AddContent(System.String,Duality.Resource)">register Resources</see> that have been created at runtime
using a string alias of your choice.
</para>
</summary>
<seealso cref="T:Duality.Resource"/>
<seealso cref="T:Duality.ContentRef`1"/>
<seealso cref="T:Duality.IContentRef"/>
</member>
<member name="F:Duality.ContentProvider.VirtualContentPath">
<summary>
(Virtual) base path for Duality's embedded default content.
</summary>
</member>
<member name="M:Duality.ContentProvider.GetNameFromPath(System.String)">
<summary>
Determines the name of a Resource based on its path.
</summary>
<param name="resPath"></param>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.GetFullNameFromPath(System.String)">
<summary>
Determines the full (hierarchical) name of a Resource based on its path.
</summary>
<param name="resPath"></param>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.InitDefaultContent">
<summary>
Initializes Dualitys embedded default content.
</summary>
</member>
<member name="M:Duality.ContentProvider.DisposeDefaultContent">
<summary>
Initializes Dualitys embedded default content.
</summary>
</member>
<member name="M:Duality.ContentProvider.IsDefaultContentPath(System.String)">
<summary>
Returns whether or not the specified path points to Duality default content.
</summary>
<param name="resPath"></param>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.GetDefaultContent``1">
<summary>
Returns a list of embedded default content that matches the specified type.
</summary>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.GetDefaultContent(System.Type)">
<summary>
Returns a list of embedded default content that matches the specified type.
</summary>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.GetLoadedContent``1">
<summary>
Returns a list of all currently loaded content matching the specified Type
</summary>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.GetLoadedContent(System.Type)">
<summary>
Returns a list of all currently loaded content matching the specified Type
</summary>
<param name="t"></param>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.GetAvailableContent``1(System.String)">
<summary>
Returns a list of all available / existing content matching the specified Type
</summary>
<typeparam name="T"></typeparam>
<param name="baseDirectory">The base directory to search in. Defaults to <see cref="F:Duality.DualityApp.DataDirectory"/> if not specified otherwise.</param>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.GetAvailableContent(System.Type,System.String)">
<summary>
Returns a list of all available / existing content matching the specified Type
</summary>
<param name="t"></param>
<param name="baseDirectory">The base directory to search in. Defaults to <see cref="F:Duality.DualityApp.DataDirectory"/> if not specified otherwise.</param>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.ClearContent(System.Boolean)">
<summary>
Clears all non-default content.
</summary>
<param name="dispose">If true, unregistered content is also disposed.</param>
</member>
<member name="M:Duality.ContentProvider.AddContent(System.String,Duality.Resource)">
<summary>
Registers a <see cref="T:Duality.Resource"/> and maps it to the specified path key.
</summary>
<param name="path">The path key to map the Resource to</param>
<param name="content">The Resource to register.</param>
</member>
<member name="M:Duality.ContentProvider.HasContent(System.String)">
<summary>
Returns whether or not there is any content currently registered under the specified path key.
</summary>
<param name="path">The path key to look for content</param>
<returns>True, if there is content available for that path key, false if not.</returns>
</member>
<member name="M:Duality.ContentProvider.RemoveContent(Duality.Resource,System.Boolean)">
<summary>
Explicitly removes a specific Resource from the ContentProvider.
</summary>
<param name="res"></param>
<param name="dispose"></param>
<returns></returns>
</member>
<member name="M:Duality.ContentProvider.RemoveContent(System.String,System.Boolean)">
<summary>
Unregisters content that has been registered using the specified path key.
</summary>
<param name="path">The path key to unregister.</param>
<param name="dispose">If true, unregistered content is also disposed.</param>
<returns>True, if the content has been found and successfully removed. False, if no</returns>
</member>
<member name="M:Duality.ContentProvider.RemoveContentTree(System.String,System.Boolean)">
<summary>
Unregisters all content that has been registered using paths contained within
the specified directory.
</summary>
<param name="dir">The directory to unregister</param>
<param name="dispose">If true, unregistered content is also disposed.</param>
</member>
<member name="M:Duality.ContentProvider.RemoveAllContent``1(System.Boolean)">
<summary>
Unregisters all content of the specified Type or subclassed Types.
</summary>
<typeparam name="T">The content Type to look for.</typeparam>
<param name="dispose">If true, unregistered content is also disposed.</param>
</member>
<member name="M:Duality.ContentProvider.RemoveAllContent(System.Type,System.Boolean)">
<summary>
Unregisters all content of the specified Type or subclassed Types.
</summary>
<param name="t">The content Type to look for.</param>
<param name="dispose">If true, unregistered content is also disposed.</param>
</member>
<member name="M:Duality.ContentProvider.RenameContent(System.String,System.String)">
<summary>
Changes the path key under which a specific Resource can be found. If the target path is registered already, it will be replaced.
If the source path isn't registered / is unknown, the operation will fail.
</summary>
<param name="path">The Resources current path key.</param>
<param name="newPath">The Resources new path key.</param>
<returns>True, if the renaming operation was successful. False, if not.</returns>
</member>
<member name="M:Duality.ContentProvider.RenameContentTree(System.String,System.String)">
<summary>
Changes the path key under which a set of Resource can be found, i.e.
renames all path keys located inside the specified directory.
</summary>
<param name="dir">The Resources current directory</param>
<param name="newDir">The Resources new directory</param>
</member>
<member name="M:Duality.ContentProvider.RequestContent``1(System.String)">
<summary>
Requests a <see cref="T:Duality.Resource"/>.
</summary>
<typeparam name="T">
The requested Resource type. Does not affect actual data, only the kind of <see cref="T:Duality.ContentRef`1"/> that is obtained.
</typeparam>
<param name="path">
The path key to identify the Resource. If there is no matching Resource available yet, the ContentProvider attemps
to load a Resource from that path.
</param>
<returns>A <see cref="T:Duality.ContentRef`1"/> to the requested Resource.</returns>
</member>
<member name="M:Duality.ContentProvider.RequestContent(System.String)">
<summary>
Requests a <see cref="T:Duality.Resource"/>.
</summary>
<param name="path">
The path key to identify the Resource. If there is no matching Resource available yet, the ContentProvider attemps
to load a Resource from that path.
</param>
<returns>A <see cref="T:Duality.IContentRef"/> to the requested Resource.</returns>
</member>
<member name="T:Duality.ExtMethodsIList">
<summary>
Provides extension methods for lists.
</summary>
</member>
<member name="M:Duality.ExtMethodsIList.StableSort``1(System.Collections.Generic.IList{``0})">
<summary>
Performs a stable sort.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="list">List to perform the sort operation on.</param>
</member>
<member name="M:Duality.ExtMethodsIList.StableSort``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IComparer{``0})">
<summary>
Performs a stable sort.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="list">List to perform the sort operation on.</param>
<param name="comparer">The comparer to use.</param>
</member>
<member name="M:Duality.ExtMethodsIList.StableSort``1(System.Collections.Generic.IList{``0},System.Comparison{``0})">
<summary>
Performs a stable sort.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="list">List to perform the sort operation on.</param>
<param name="comparison">The comparison to use.</param>
</member>
<member name="M:Duality.ExtMethodsIList.StableSort``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32)">
<summary>
Performs a stable sort.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="list">List to perform the sort operation on.</param>
<param name="index"></param>
<param name="count"></param>
</member>
<member name="M:Duality.ExtMethodsIList.StableSort``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32,System.Collections.Generic.IComparer{``0})">
<summary>
Performs a stable sort.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="list">List to perform the sort operation on.</param>
<param name="index"></param>
<param name="count"></param>
<param name="comparer">The comparer to use.</param>
</member>
<member name="M:Duality.ExtMethodsIList.StableSort``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32,System.Comparison{``0})">
<summary>
Performs a stable sort.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="list">List to perform the sort operation on.</param>
<param name="index"></param>
<param name="count"></param>
<param name="comparison">The comparison to use.</param>
</member>
<member name="M:Duality.ExtMethodsIList.IndexOfFirst``1(System.Collections.Generic.IList{``0},``0)">
<summary>
Returns the index of the first object matching the specified one.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="collection">List to perform the sort operation on.</param>
<param name="val">Object to compare the lists contents to.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIList.IndexOfFirst``1(System.Collections.Generic.IList{``0},System.Predicate{``0})">
<summary>
Returns the index of the first object matching the specified predicate.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="collection">List to perform the sort operation on.</param>
<param name="pred">The predicate to use on the lists contents.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIList.IndexOfLast``1(System.Collections.Generic.IList{``0},``0)">
<summary>
Returns the index of the last object matching the specified one.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="collection">List to perform the sort operation on.</param>
<param name="val">Object to compare the lists contents to.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIList.IndexOfLast``1(System.Collections.Generic.IList{``0},System.Predicate{``0})">
<summary>
Returns the index of the last object matching the specified predicate.
</summary>
<typeparam name="T">The lists object type.</typeparam>
<param name="collection">List to perform the sort operation on.</param>
<param name="pred">The predicate to use on the lists contents.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIList.GetCombinedHashCode(System.Collections.Generic.IList{System.Byte},System.Int32,System.Int32)">
<summary>
Returns the combined hash code of the specified byte list.
</summary>
<param name="list"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIList.GetCombinedHashCode``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32)">
<summary>
Returns the combined hash code of the specified list.
</summary>
<param name="list"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsIList.BoundingBox(System.Collections.Generic.IList{Duality.Vector2})">
<summary>
Determines the bounding box of a list of vectors.
</summary>
<param name="list"></param>
<returns></returns>
</member>
<member name="T:Duality.ExtMethodsRandom">
<summary>
Provides extension methods for <see cref="T:System.Random">random number generators</see>.
</summary>
</member>
<member name="M:Duality.ExtMethodsRandom.NextByte(System.Random)">
<summary>
Returns a random byte.
</summary>
<param name="r">A random number generator.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextByte(System.Random,System.Byte)">
<summary>
Returns a random byte.
</summary>
<param name="r">A random number generator.</param>
<param name="max">Exclusive maximum value.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextByte(System.Random,System.Byte,System.Byte)">
<summary>
Returns a random byte.
</summary>
<param name="r">A random number generator.</param>
<param name="min">Inclusive minimum value.</param>
<param name="max">Exclusive maximum value.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextFloat(System.Random)">
<summary>
Returns a random float.
</summary>
<param name="r">A random number generator.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextFloat(System.Random,System.Single)">
<summary>
Returns a random float.
</summary>
<param name="r">A random number generator.</param>
<param name="max">Exclusive maximum value.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextFloat(System.Random,System.Single,System.Single)">
<summary>
Returns a random float.
</summary>
<param name="r">A random number generator.</param>
<param name="min">Inclusive minimum value.</param>
<param name="max">Exclusive maximum value.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextBool(System.Random)">
<summary>
Returns a random bool.
</summary>
<param name="r">A random number generator.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextVector2(System.Random)">
<summary>
Returns a random <see cref="T:Duality.Vector2"/> with length one.
</summary>
<param name="r">A random number generator.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextVector2(System.Random,System.Single)">
<summary>
Returns a random <see cref="T:Duality.Vector2"/>.
</summary>
<param name="r">A random number generator.</param>
<param name="radius">Length of the vector.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextVector2(System.Random,System.Single,System.Single)">
<summary>
Returns a random <see cref="T:Duality.Vector2"/>.
</summary>
<param name="r">A random number generator.</param>
<param name="minRadius">Minimum length of the vector</param>
<param name="maxRadius">Maximum length of the vector</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextVector2(System.Random,System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns a random <see cref="T:Duality.Vector2"/> pointing to a position inside the specified rect.
</summary>
<param name="r">A random number generator.</param>
<param name="x">Rectangle that contains the random vector.</param>
<param name="y">Rectangle that contains the random vector.</param>
<param name="w">Rectangle that contains the random vector.</param>
<param name="h">Rectangle that contains the random vector.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextVector2(System.Random,Duality.Rect)">
<summary>
Returns a random <see cref="T:Duality.Vector2"/> pointing to a position inside the specified rect.
</summary>
<param name="r">A random number generator.</param>
<param name="rect">Rectangle that contains the random vector.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextVector3(System.Random)">
<summary>
Returns a random <see cref="T:Duality.Vector3"/> with length one.
</summary>
<param name="r">A random number generator.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextVector3(System.Random,System.Single)">
<summary>
Returns a random <see cref="T:Duality.Vector3"/>.
</summary>
<param name="r">A random number generator.</param>
<param name="radius">Maximum length of the vector.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextVector3(System.Random,System.Single,System.Single)">
<summary>
Returns a random <see cref="T:Duality.Vector3"/>.
</summary>
<param name="r">A random number generator.</param>
<param name="minRadius">Minimum length of the vector</param>
<param name="maxRadius">Maximum length of the vector</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextVector3(System.Random,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns a random <see cref="T:Duality.Vector3"/> pointing to a position inside the specified cube.
</summary>
<param name="r">A random number generator.</param>
<param name="x">Cube that contains the random vector.</param>
<param name="y">Cube that contains the random vector.</param>
<param name="w">Cube that contains the random vector.</param>
<param name="h">Cube that contains the random vector.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextColorRgba(System.Random)">
<summary>
Returns a random <see cref="T:Duality.Drawing.ColorRgba"/> with full saturation and maximum brightness.
</summary>
<param name="r"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextColorRgba(System.Random,Duality.Drawing.ColorRgba,Duality.Drawing.ColorRgba)">
<summary>
Returns a component-wise random <see cref="T:Duality.Drawing.ColorRgba"/>.
</summary>
<param name="r"></param>
<param name="min"></param>
<param name="max"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextColorHsva(System.Random)">
<summary>
Returns a random <see cref="T:Duality.Drawing.ColorHsva"/> with full saturation and maximum brightness.
</summary>
<param name="r"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.NextColorHsva(System.Random,Duality.Drawing.ColorHsva,Duality.Drawing.ColorHsva)">
<summary>
Returns a component-wise random <see cref="T:Duality.Drawing.ColorHsva"/>.
</summary>
<param name="r"></param>
<param name="min"></param>
<param name="max"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.OneOfWeighted``1(System.Random,System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{System.Single})">
<summary>
Returns a random value from a weighted value pool.
</summary>
<typeparam name="T">Type of the random values.</typeparam>
<param name="r">A random number generator.</param>
<param name="values">A pool of values.</param>
<param name="weights">One weight for each value in the pool.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.OneOfWeighted``1(System.Random,System.Collections.Generic.IEnumerable{``0},System.Single[])">
<summary>
Returns a random value from a weighted value pool.
</summary>
<typeparam name="T">Type of the random values.</typeparam>
<param name="r">A random number generator.</param>
<param name="values">A pool of values.</param>
<param name="weights">One weight for each value in the pool.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.OneOfWeighted``1(System.Random,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,System.Single}})">
<summary>
Returns a random value from a weighted value pool.
</summary>
<typeparam name="T">Type of the random values.</typeparam>
<param name="r">A random number generator.</param>
<param name="weightedValues">A weighted value pool.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.OneOfWeighted``1(System.Random,System.Collections.Generic.KeyValuePair{``0,System.Single}[])">
<summary>
Returns a random value from a weighted value pool.
</summary>
<typeparam name="T">Type of the random values.</typeparam>
<param name="r">A random number generator.</param>
<param name="weightedValues">A weighted value pool.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.OneOfWeighted``1(System.Random,System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Single})">
<summary>
Returns a random value from a weighted value pool.
</summary>
<typeparam name="T">Type of the random values.</typeparam>
<param name="r">A random number generator.</param>
<param name="values">A pool of values.</param>
<param name="weightFunc">A weight function that provides a weight for each value from the pool.</param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsRandom.OneOf``1(System.Random,System.Collections.Generic.IEnumerable{``0})">
<summary>
Returns one randomly selected element.
</summary>
<typeparam name="T"></typeparam>
<param name="r"></param>
<param name="values"></param>
<returns></returns>
</member>
<member name="T:Duality.ExtMethodsString">
<summary>
Provides extension methods for strings.
</summary>
</member>
<member name="M:Duality.ExtMethodsString.Multiply(System.String,System.Int32)">
<summary>
Returns a string containing n times the source string.
</summary>
<param name="source"></param>
<param name="times"></param>
<returns></returns>
</member>
<member name="T:Duality.ReflectionInfo">
<summary>
Provides Reflection data on Properties and Fields.
</summary>
</member>
<member name="T:Duality.ReflectionHelper">
<summary>
Provides reflection-related helper methods.
</summary>
</member>
<member name="M:Duality.ReflectionHelper.GetAttributesCached``1(System.Reflection.MemberInfo)">
<summary>
Returns all custom attributes of the specified Type that are attached to the specified member.
Inherites attributes are returned as well. This method is usually faster than comparable .Net methods,
because it caches previous results internally.
</summary>
<typeparam name="T"></typeparam>
<param name="member"></param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.HasAttributeCached``1(System.Reflection.MemberInfo)">
<summary>
Returns all custom attributes of the specified Type that are attached to the specified member.
Inherites attributes are returned as well. This method is usually faster than comparable .Net methods,
because it caches previous results internally.
</summary>
<typeparam name="T"></typeparam>
<param name="member"></param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.VisitObjectsDeep``1(System.Object,System.Func{``0,``0},System.Boolean)">
<summary>
Visits all fields of an object and all its sub-objects in order to find and / or adjust values of a certain Type. This is likely to be a very expensive operation.
</summary>
<typeparam name="T">The value type that is searched for.</typeparam>
<param name="obj">The root object where the search begins.</param>
<param name="visitor">An object field visitor. Returns a new value for the visited object.</param>
<param name="stopAtTarget">If true, visited objects of the target type won't be investigated deeply. If false, even target objects are unwrapped in order to check their sub-objects.</param>
</member>
<member name="M:Duality.ReflectionHelper.CleanEventBindings(System.Object,System.Reflection.Assembly)">
<summary>
Cleans the specified object instance from event bindings that lead to a specific invalid Assembly.
This method is used to sweep forgotten event bindings upon plugin reload.
</summary>
<param name="targetObject"></param>
<param name="invalidAssembly"></param>
<returns>Returns true, if any event binding was removed.</returns>
</member>
<member name="M:Duality.ReflectionHelper.CleanEventBindings(System.Type,System.Reflection.Assembly)">
<summary>
Cleans the specified class from static event bindings that lead to a specific invalid Assembly.
This method is used to sweep forgotten event bindings upon plugin reload.
</summary>
<param name="targetType"></param>
<param name="invalidAssembly"></param>
<returns>Returns true, if any event binding was removed.</returns>
</member>
<member name="M:Duality.ReflectionHelper.CanReferenceResource(System.Type,System.Type)">
<summary>
Returns whether a certain <see cref="T:Duality.Resource"/> Type is able to reference another specific <see cref="T:Duality.Resource"/> Type.
This is a pure optimization method that doesn't guarantee exact information in all cases - returns true, when in doubt.
</summary>
<param name="sourceResType"></param>
<param name="targetResType"></param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.IsPlainOldData(System.Reflection.TypeInfo)">
<summary>
Returns whether the specified type is a primitive, enum, string, decimal, or struct that
consists only of those types.
</summary>
<param name="baseObj"></param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.ResolveType(System.String,System.Reflection.MethodInfo)">
<summary>
Resolves a Type based on its <see cref="M:Duality.ReflectionHelper.GetTypeId(System.Type)">type id</see>.
</summary>
<param name="typeString">The type string to resolve.</param>
<param name="declaringMethod">The generic method that is declaring the Type. Only necessary when resolving a generic methods parameter Type.</param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.ResolveMember(System.String)">
<summary>
Resolves a Member based on its <see cref="M:Duality.ReflectionHelper.GetMemberId(System.Reflection.MemberInfo)">member id</see>.
</summary>
<param name="memberString">The <see cref="M:Duality.ReflectionHelper.GetMemberId(System.Reflection.MemberInfo)">member id</see> of the member.</param>
<param name="throwOnError">If true, an Exception is thrown on failure.</param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.GetShortAssemblyName(System.Reflection.Assembly)">
<summary>
Returns the short version of an Assembly name.
</summary>
<param name="assembly"></param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.GetShortAssemblyName(System.Reflection.AssemblyName)">
<summary>
Returns the short version of an Assembly name.
</summary>
<param name="assemblyName"></param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.GetShortAssemblyName(System.String)">
<summary>
Returns the short version of an Assembly name.
</summary>
<param name="assemblyName"></param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.GetTypeCSCodeName(System.Type,System.Boolean)">
<summary>
Returns a string describing a certain Type.
</summary>
<param name="type">The Type to describe</param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.GetTypeId(System.Type)">
<summary>
Returns a string describing a certain Type.
</summary>
<param name="T">The Type to describe</param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.GetMemberId(System.Reflection.MemberInfo)">
<summary>
Returns a string describing a certain Member of a Type.
</summary>
<param name="member">The Member to describe.</param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.SplitArgs(System.String,System.Char,System.Char,System.Char,System.Int32)">
<summary>
Performs a selective split operation on the specified string. Intended to be used on hierarchial argument lists.
</summary>
<param name="argList">The argument list to split.</param>
<param name="pushLevel">The char that increases the current hierarchy level.</param>
<param name="popLevel">The char that decreases the current hierarchy level.</param>
<param name="separator">The char that separates two arguments.</param>
<param name="splitLevel">The hierarchy level at which to perform the split operation.</param>
<returns></returns>
</member>
<member name="M:Duality.ReflectionHelper.ClearTypeCache">
<summary>
Clears the ReflectionHelpers Type cache.
</summary>
</member>
<member name="E:Duality.ReflectionHelper.TypeResolve">
<summary>
Fired when automatically resolving a certain Type has failed. Allows any subscriber to provide a suitable match.
</summary>
</member>
<member name="E:Duality.ReflectionHelper.MemberResolve">
<summary>
Fired when automatically resolving a certain Member has failed. Allows any subscriber to provide a suitable match.
</summary>
</member>
<member name="P:Duality.ResolveMemberEventArgs.MemberId">
<summary>
[GET] The Member id to resolve.
</summary>
</member>
<member name="P:Duality.ResolveMemberEventArgs.ResolvedMember">
<summary>
[GET / SET] The resolved Member.
</summary>
</member>
<member name="T:Duality.Components.Camera">
<summary>
A Camera is responsible for rendering the current <see cref="T:Duality.Resources.Scene"/>.
</summary>
</member>
<member name="M:Duality.Components.Camera.Render(Duality.Rect)">
<summary>
Renders the current <see cref="T:Duality.Resources.Scene"/>.
</summary>
<param name="viewportRect">The viewport area to which will be rendered.</param>
</member>
<member name="M:Duality.Components.Camera.RenderPickingMap(Duality.Point2,System.Boolean)">
<summary>
Renders a picking map of the current <see cref="T:Duality.Resources.Scene"/>.
This method needs to be called each frame a picking operation is to be performed.
</summary>
<param name="viewportSize">Size of the viewport area to which will be rendered.</param>
<param name="renderOverlay">Whether or not to render screen overlay renderers onto the picking target.</param>
</member>
<member name="M:Duality.Components.Camera.PickRendererAt(System.Int32,System.Int32)">
<summary>
Picks the <see cref="T:Duality.ICmpRenderer"/> that owns the pixel at the specified position.
The resulting information is only accurate if <see cref="M:Duality.Components.Camera.RenderPickingMap(Duality.Point2,System.Boolean)"/> has been called this frame.
</summary>
<param name="x">x-Coordinate of the pixel to check.</param>
<param name="y">y-Coordinate of the pixel to check.</param>
<returns>The <see cref="T:Duality.ICmpRenderer"/> that owns the pixel.</returns>
</member>
<member name="M:Duality.Components.Camera.PickRenderersIn(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Picks all <see cref="T:Duality.ICmpRenderer">ICmpRenderers</see> contained within the specified
rectangular area.
The resulting information is only accurate if <see cref="M:Duality.Components.Camera.RenderPickingMap(Duality.Point2,System.Boolean)"/> has been called this frame.
</summary>
<param name="x">x-Coordinate of the Rect.</param>
<param name="y">y-Coordinate of the Rect.</param>
<param name="w">Width of the Rect.</param>
<param name="h">Height of the Rect.</param>
<returns>A set of all <see cref="T:Duality.ICmpRenderer">ICmpRenderers</see> that have been picked.</returns>
</member>
<member name="M:Duality.Components.Camera.GetScaleAtZ(System.Single)">
<summary>
Returns the scale factor of objects that are located at the specified (world space) z-Coordinate.
</summary>
<param name="z"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Camera.GetSpaceCoord(Duality.Vector3)">
<summary>
Transforms screen space coordinates to world space coordinates. The screen positions Z coordinate is
interpreted as the target world Z coordinate.
</summary>
<param name="screenPos"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Camera.GetSpaceCoord(Duality.Vector2)">
<summary>
Transforms screen space coordinates to world space coordinates.
</summary>
<param name="screenPos"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Camera.GetScreenCoord(Duality.Vector3)">
<summary>
Transforms world space coordinates to screen space coordinates.
</summary>
<param name="spacePos"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Camera.GetScreenCoord(Duality.Vector2)">
<summary>
Transforms world space coordinates to screen space coordinates.
</summary>
<param name="spacePos"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Camera.IsCoordInView(Duality.Vector3,System.Single)">
<summary>
Returns whether the specified world-space position is visible in the Cameras view space.
</summary>
<param name="c">The position to test.</param>
<param name="boundRad">The visual bounding radius to assume for the specified position.</param>
<returns>True, if the position or a portion of its bounding circle is visible, false if not.</returns>
</member>
<member name="P:Duality.Components.Camera.NearZ">
<summary>
[GET / SET] The lowest Z value that can be displayed by the device.
</summary>
</member>
<member name="P:Duality.Components.Camera.FarZ">
<summary>
[GET / SET] The highest Z value that can be displayed by the device.
</summary>
</member>
<member name="P:Duality.Components.Camera.FocusDist">
<summary>
[GET / SET] Reference distance for calculating the view projection. When using <see cref="F:Duality.Drawing.PerspectiveMode.Parallax"/>,
an object this far away from the Camera will always appear in its original size and without offset.
</summary>
</member>
<member name="P:Duality.Components.Camera.Perspective">
<summary>
[GET / SET] Specified the perspective effect that is applied when rendering the world.
</summary>
</member>
<member name="P:Duality.Components.Camera.VisibilityMask">
<summary>
[GET / SET] A bitmask flagging all visibility groups that are considered visible to this drawing device.
</summary>
</member>
<member name="P:Duality.Components.Camera.ClearColor">
<summary>
[GET / SET] The background color of the rendered image.
</summary>
</member>
<member name="P:Duality.Components.Camera.Passes">
<summary>
[GET / SET] A set of passes that describes the Cameras rendering process. Is never null nor empty.
</summary>
</member>
<member name="T:Duality.Components.Camera.Pass">
<summary>
Describes a single pass in the overall rendering process.
</summary>
</member>
<member name="E:Duality.Components.Camera.Pass.CollectDrawcalls">
<summary>
Fired when collecting drawcalls for this pass. Note that not all passes do collect drawcalls (see <see cref="P:Duality.Components.Camera.Pass.Input"/>)
</summary>
</member>
<member name="P:Duality.Components.Camera.Pass.Input">
<summary>
The input to use for rendering. This can for example be a <see cref="T:Duality.Resources.Texture"/> that
has been rendered to before and is now bound to perform a postprocessing step. If this is null, the current
<see cref="T:Duality.Resources.Scene"/> is used as input - which is usually the case in the first rendering pass.
</summary>
</member>
<member name="P:Duality.Components.Camera.Pass.Output">
<summary>
The output to render to in this pass. If this is null, the screen is used as rendering target.
</summary>
</member>
<member name="P:Duality.Components.Camera.Pass.ClearColor">
<summary>
[GET / SET] The clear color to apply when clearing the color buffer
</summary>
</member>
<member name="P:Duality.Components.Camera.Pass.ClearDepth">
<summary>
[GET / SET] The clear depth to apply when clearing the depth buffer
</summary>
</member>
<member name="P:Duality.Components.Camera.Pass.ClearFlags">
<summary>
[GET / SET] Specifies which buffers to clean before rendering this pass
</summary>
</member>
<member name="P:Duality.Components.Camera.Pass.MatrixMode">
<summary>
[GET / SET] How to set up the coordinate space before rendering
</summary>
</member>
<member name="P:Duality.Components.Camera.Pass.VisibilityMask">
<summary>
[GET / SET] A Pass-local bitmask flagging all visibility groups that are considered visible to this drawing device.
</summary>
</member>
<member name="T:Duality.Components.Transform">
<summary>
Represents a <see cref="T:Duality.GameObject">GameObjects</see> physical location in the world, relative to its <see cref="P:Duality.GameObject.Parent"/>.
</summary>
</member>
<member name="M:Duality.Components.Transform.GetWorldPoint(Duality.Vector3)">
<summary>
Calculates a world coordinate from a Transform-local coordinate.
</summary>
<param name="local"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetWorldPoint(Duality.Vector2)">
<summary>
Calculates a world coordinate from a Transform-local coordinate.
</summary>
<param name="local"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetLocalPoint(Duality.Vector3)">
<summary>
Calculates a Transform-local coordinate from a world coordinate.
</summary>
<param name="world"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetLocalPoint(Duality.Vector2)">
<summary>
Calculates a Transform-local coordinate from a world coordinate.
</summary>
<param name="world"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetWorldVector(Duality.Vector3)">
<summary>
Calculates a world vector from a Transform-local vector.
Does only take scale and rotation into account, but not position.
</summary>
<param name="local"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetWorldVector(Duality.Vector2)">
<summary>
Calculates a world vector from a Transform-local vector.
Does only take scale and rotation into account, but not position.
</summary>
<param name="local"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetLocalVector(Duality.Vector3)">
<summary>
Calculates a Transform-local vector from a world vector.
Does only take scale and rotation into account, but not position.
</summary>
<param name="world"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetLocalVector(Duality.Vector2)">
<summary>
Calculates a Transform-local vector from a world vector.
Does only take scale and rotation into account, but not position.
</summary>
<param name="world"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetWorldVelocityAt(Duality.Vector3)">
<summary>
Calculates the Transforms world velocity at a given world coordinate;
</summary>
<param name="world"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetWorldVelocityAt(Duality.Vector2)">
<summary>
Calculates the Transforms world velocity at a given world coordinate;
</summary>
<param name="world"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetLocalVelocityAt(Duality.Vector3)">
<summary>
Calculates the Transforms local velocity at a given local coordinate;
</summary>
<param name="local"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.GetLocalVelocityAt(Duality.Vector2)">
<summary>
Calculates the Transforms local velocity at a given local coordinate;
</summary>
<param name="local"></param>
<returns></returns>
</member>
<member name="M:Duality.Components.Transform.MoveBy(Duality.Vector3)">
<summary>
Moves the object by the given vector. This will affect the Transforms <see cref="P:Duality.Components.Transform.Vel">velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.MoveBy(Duality.Vector2)">
<summary>
Moves the object by the given vector. This will affect the Transforms <see cref="P:Duality.Components.Transform.Vel">velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.MoveByAbs(Duality.Vector3)">
<summary>
Moves the object by given absolute vector. This will affect the Transforms <see cref="P:Duality.Components.Transform.Vel">velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.MoveByAbs(Duality.Vector2)">
<summary>
Moves the object by given absolute vector. This will affect the Transforms <see cref="P:Duality.Components.Transform.Vel">velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.MoveTo(Duality.Vector3)">
<summary>
Moves the object to the given relative position. This will affect the Transforms <see cref="P:Duality.Components.Transform.Vel">velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.MoveTo(Duality.Vector2)">
<summary>
Moves the object to the given relative position. This will affect the Transforms <see cref="P:Duality.Components.Transform.Vel">velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.MoveToAbs(Duality.Vector3)">
<summary>
Moves the object to the given absolute position. This will affect the Transforms <see cref="P:Duality.Components.Transform.Vel">velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.MoveToAbs(Duality.Vector2)">
<summary>
Moves the object to the given absolute position. This will affect the Transforms <see cref="P:Duality.Components.Transform.Vel">velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.TurnBy(System.Single)">
<summary>
Turns the object by the given radian angle. This will affect the Transforms <see cref="P:Duality.Components.Transform.AngleVel">angular velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.TurnTo(System.Single)">
<summary>
Turns the object to the given relative radian angle. This will affect the Transforms <see cref="P:Duality.Components.Transform.AngleVel">angular velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.TurnToAbs(System.Single)">
<summary>
Turns the object to the given absolute radian angle. This will affect the Transforms <see cref="P:Duality.Components.Transform.AngleVel">angular velocity</see> value.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.Components.Transform.SetTransform(Duality.Vector3,System.Single,System.Single)">
<summary>
Updates the Transforms data all at once.
</summary>
<param name="pos"></param>
<param name="vel"></param>
<param name="scale"></param>
<param name="angle"></param>
<param name="angleVel"></param>
</member>
<member name="M:Duality.Components.Transform.SetTransform(Duality.Components.Transform)">
<summary>
Updates the Transforms data all at once.
</summary>
<param name="other"></param>
</member>
<member name="M:Duality.Components.Transform.SetRelativeTransform(Duality.Vector3,System.Single,System.Single)">
<summary>
Updates the Transforms data all at once.
</summary>
<param name="pos"></param>
<param name="vel"></param>
<param name="scale"></param>
<param name="angle"></param>
<param name="angleVel"></param>
</member>
<member name="M:Duality.Components.Transform.SetRelativeTransform(Duality.Components.Transform)">
<summary>
Updates the Transforms data all at once.
</summary>
<param name="other"></param>
</member>
<member name="M:Duality.Components.Transform.CommitChanges(Duality.Component)">
<summary>
Checks whether transform values have been changed, clears the changelist and fires the appropriate events
</summary>
<param name="sender"></param>
</member>
<member name="P:Duality.Components.Transform.RelativePos">
<summary>
[GET / SET] The objects position relative to its parent object.
</summary>
</member>
<member name="P:Duality.Components.Transform.RelativeVel">
<summary>
[GET / SET] The objects velocity relative to its parent object.
</summary>
</member>
<member name="P:Duality.Components.Transform.RelativeAngle">
<summary>
[GET / SET] The objects angle / rotation relative to its parent object, in radians.
</summary>
</member>
<member name="P:Duality.Components.Transform.RelativeAngleVel">
<summary>
[GET / SET] The objects angle / rotation velocity relative to its parent object, in radians.
</summary>
</member>
<member name="P:Duality.Components.Transform.RelativeScale">
<summary>
[GET / SET] The objects scale relative to its parent object.
</summary>
</member>
<member name="P:Duality.Components.Transform.IgnoreParent">
<summary>
[GET / SET] Specifies whether the Transform component should ignore its parent transform.
</summary>
</member>
<member name="P:Duality.Components.Transform.DeriveAngle">
<summary>
[GET / SET] If false, this objects rotation values aren't relative to its parent.
However, its position, velocity, etc. still depend on parent rotation.
</summary>
</member>
<member name="P:Duality.Components.Transform.RelativeForward">
<summary>
[GET] The objects forward vector, relative to its parent object.
</summary>
</member>
<member name="P:Duality.Components.Transform.RelativeRight">
<summary>
[GET] The objects right (directional) vector, relative to its parent object.
</summary>
</member>
<member name="P:Duality.Components.Transform.Pos">
<summary>
[GET / SET] The objects position.
</summary>
</member>
<member name="P:Duality.Components.Transform.Vel">
<summary>
[GET] The objects velocity.
</summary>
</member>
<member name="P:Duality.Components.Transform.Angle">
<summary>
[GET / SET] The objects angle / rotation, in radians.
</summary>
</member>
<member name="P:Duality.Components.Transform.AngleVel">
<summary>
[GET] The objects angle / rotation velocity, in radians.
</summary>
</member>
<member name="P:Duality.Components.Transform.Scale">
<summary>
[GET / SET] The objects scale.
</summary>
</member>
<member name="P:Duality.Components.Transform.Forward">
<summary>
[GET] The objects forward vector.
</summary>
</member>
<member name="P:Duality.Components.Transform.Right">
<summary>
[GET] The objects right (directional) vector.
</summary>
</member>
<member name="T:Duality.Components.Transform.DirtyFlags">
<summary>
Flags that are used to specify, whether certain Properties have been changed.
</summary>
</member>
<member name="T:Duality.DualityApp">
<summary>
This class controls Duality's main program flow control and general maintenance functionality.
It initializes the engine, loads plugins, provides access to user input, houses global data structures
and handles logfiles internally.
</summary>
</member>
<member name="M:Duality.DualityApp.Init(Duality.DualityApp.ExecutionEnvironment,Duality.DualityApp.ExecutionContext,Duality.Backend.IPluginLoader,System.String[])">
<summary>
Initializes this DualityApp. Should be called before performing any operations within Duality.
</summary>
<param name="context">The <see cref="T:Duality.DualityApp.ExecutionContext"/> in which Duality runs.</param>
<param name="commandLineArgs">
Command line arguments to run this DualityApp with.
Usually these are just the ones from the host application, passed on.
</param>
</member>
<member name="M:Duality.DualityApp.OpenWindow(Duality.Backend.WindowOptions)">
<summary>
Opens up a window for Duality to render into. This also initializes the part of Duality that requires a
valid rendering context. Should be called before performing any rendering related operations with Duality.
</summary>
</member>
<member name="M:Duality.DualityApp.InitPostWindow">
<summary>
Initializes the part of Duality that requires a valid rendering context.
Should be called before performing any rendering related operations with Duality.
Is called implicitly when using <see cref="M:Duality.DualityApp.OpenWindow(Duality.Backend.WindowOptions)"/>.
</summary>
</member>
<member name="M:Duality.DualityApp.Terminate">
<summary>
Terminates this DualityApp. This does not end the current Process, but will instruct the engine to
leave main loop and message processing as soon as possible.
</summary>
</member>
<member name="M:Duality.DualityApp.ApplyResolution(System.Int32,System.Int32,System.Boolean)">
<summary>
Applies the specified screen resolution to both game and display device. This is a shorthand for
assigning a modified version of <see cref="T:Duality.DualityUserData"/> to <see cref="P:Duality.DualityApp.UserData"/>.
</summary>
<param name="width"></param>
<param name="height"></param>
<param name="fullscreen"></param>
</member>
<member name="M:Duality.DualityApp.Update">
<summary>
Performs a single update cycle.
</summary>
</member>
<member name="M:Duality.DualityApp.Render(Duality.Rect,System.Predicate{Duality.Components.Camera})">
<summary>
Performs a single render cycle.
</summary>
<param name="camPredicate">Optional predicate to select which Cameras may be rendered and which not.</param>
</member>
<member name="M:Duality.DualityApp.DisposeLater(System.Object)">
<summary>
Schedules the specified object for disposal. It is guaranteed to be disposed by the end of the current update cycle.
</summary>
<param name="o">The object to schedule for disposal.</param>
</member>
<member name="M:Duality.DualityApp.RunCleanup">
<summary>
Performs all scheduled disposal calls and cleans up internal data. This is done automatically at the
end of each <see cref="M:Duality.DualityApp.Update">frame update</see> and you shouldn't need to call this in general.
Invoking this method while an update is still in progress may result in undefined behavior. Don't do this.
</summary>
</member>
<member name="M:Duality.DualityApp.LoadAppData">
<summary>
Triggers Duality to (re)load its <see cref="T:Duality.DualityAppData"/>.
</summary>
</member>
<member name="M:Duality.DualityApp.LoadUserData">
<summary>
Triggers Duality to (re)load its <see cref="T:Duality.DualityUserData"/>.
</summary>
</member>
<member name="M:Duality.DualityApp.SaveAppData">
<summary>
Triggers Duality to save its <see cref="T:Duality.DualityAppData"/>.
</summary>
</member>
<member name="M:Duality.DualityApp.SaveUserData">
<summary>
Triggers Duality to save its <see cref="T:Duality.DualityUserData"/>.
</summary>
</member>
<member name="M:Duality.DualityApp.LoadPlugin(System.Reflection.Assembly,System.String)">
<summary>
Adds an already loaded plugin Assembly to the internal Duality CorePlugin registry.
You shouldn't need to call this method in general, since Duality manages its plugins
automatically.
</summary>
<remarks>
This method can be useful in certain cases when it is necessary to treat an Assembly as a
Duality plugin, even though it isn't located in the Plugins folder, or is not available
as a file at all. A typical case for this is Unit Testing where the testing Assembly may
specify additional Duality types such as Components, Resources, etc.
</remarks>
<param name="pluginAssembly"></param>
<param name="pluginFilePath"></param>
<returns></returns>
</member>
<member name="M:Duality.DualityApp.ReloadPlugin(System.String)">
<summary>
Reloads the specified plugin. Does not initialize it.
</summary>
<param name="pluginFilePath"></param>
</member>
<member name="M:Duality.DualityApp.GetDualityAssemblies">
<summary>
Enumerates all currently loaded assemblies that are part of Duality, i.e. Duality itsself and all loaded plugins.
</summary>
<returns></returns>
</member>
<member name="M:Duality.DualityApp.GetAvailDualityTypes(System.Type)">
<summary>
Enumerates all available Duality <see cref="T:System.Type">Types</see> that are assignable
to the specified Type.
</summary>
<param name="baseType">The base type to use for matching the result types.</param>
<returns>An enumeration of all Duality types deriving from the specified type.</returns>
<example>
The following code logs all available kinds of <see cref="T:Duality.Components.Renderer">Renderers</see>:
<code>
var rendererTypes = DualityApp.GetAvailDualityTypes(typeof(Duality.Components.Renderer));
foreach (Type rt in rendererTypes)
{
Log.Core.Write("Renderer Type '{0}' from Assembly '{1}'", Log.Type(rt), rt.Assembly.FullName);
}
</code>
</example>
</member>
<member name="M:Duality.DualityApp.Dbg(System.Action)">
<summary>
This method performs an action only when compiling your plugin in debug mode.
In release mode, any calls to this method (and thus the specified action) are omitted
by the compiler. It is essentially syntactical sugar for one-line #if DEBUG blocks.
This method is intended to be used conveniently in conjunction with lambda expressions.
</summary>
<param name="action"></param>
</member>
<member name="M:Duality.DualityApp.EditorGuard(System.Action)">
<summary>
When executed from within the editor environment, this method wraps the specified
action in a safe try-catch block in order to be able to recover gracefully. In regular
game execution, it will simply invoke the action without safety measures.
</summary>
<param name="action"></param>
</member>
<member name="E:Duality.DualityApp.FocusChanged">
<summary>
Called when the game becomes focused or loses focus.
</summary>
</member>
<member name="E:Duality.DualityApp.UserDataChanged">
<summary>
Called when the games UserData changes
</summary>
</member>
<member name="E:Duality.DualityApp.AppDataChanged">
<summary>
Called when the games AppData changes
</summary>
</member>
<member name="E:Duality.DualityApp.Terminating">
<summary>
Called when Duality is being terminated by choice (e.g. not because of crashes or similar).
It is also called in an editor environment.
</summary>
</member>
<member name="E:Duality.DualityApp.DiscardPluginData">
<summary>
Called when Duality needs to discard plugin data such as cached Types and values.
</summary>
</member>
<member name="E:Duality.DualityApp.PluginReady">
<summary>
Fired whenever a core plugin has been initialized. This is the case after loading or reloading one.
</summary>
</member>
<member name="P:Duality.DualityApp.PluginManager">
<summary>
[GET] The plugin manager that is used by Duality. Don't use this unless you know exactly what you're doing.
If you want to load a plugin, use the <see cref="T:Duality.CorePluginManager"/> from this property.
If you want to load a non-plugin Assembly, use the <see cref="P:Duality.DualityApp.PluginLoader"/>.
</summary>
</member>
<member name="P:Duality.DualityApp.PluginLoader">
<summary>
[GET] The plugin loader that is used by Duality. Don't use this unless you know exactly what you're doing.
If you want to load a plugin, use the <see cref="P:Duality.DualityApp.PluginManager"/>.
If you want to load a non-plugin Assembly, use the <see cref="T:Duality.Backend.IPluginLoader"/> from this property.
</summary>
</member>
<member name="P:Duality.DualityApp.SystemBackend">
<summary>
[GET] The system backend that is used by Duality. Don't use this unless you know exactly what you're doing.
</summary>
</member>
<member name="P:Duality.DualityApp.GraphicsBackend">
<summary>
[GET] The graphics backend that is used by Duality. Don't use this unless you know exactly what you're doing.
</summary>
</member>
<member name="P:Duality.DualityApp.AudioBackend">
<summary>
[GET] The audio backend that is used by Duality. Don't use this unless you know exactly what you're doing.
</summary>
</member>
<member name="P:Duality.DualityApp.TargetResolution">
<summary>
[GET / SET] The size of the current rendering surface (full screen, a single window, etc.) in pixels. Setting this will not actually change
Duality's state - this is a pure "for your information" property.
</summary>
</member>
<member name="P:Duality.DualityApp.IsFocused">
<summary>
[GET] Returns whether the Duality application is currently focused, i.e. can be considered
to be the users main activity right now.
</summary>
</member>
<member name="P:Duality.DualityApp.Mouse">
<summary>
[GET] Provides access to mouse user input.
</summary>
</member>
<member name="P:Duality.DualityApp.Keyboard">
<summary>
[GET] Provides access to keyboard user input
</summary>
</member>
<member name="P:Duality.DualityApp.Joysticks">
<summary>
[GET] Provides access to extended user input via joystick or gamepad.
</summary>
</member>
<member name="P:Duality.DualityApp.Gamepads">
<summary>
[GET] Provides access to gamepad user input.
</summary>
</member>
<member name="P:Duality.DualityApp.Sound">
<summary>
[GET] Provides access to the main <see cref="T:Duality.Audio.SoundDevice"/>.
</summary>
</member>
<member name="P:Duality.DualityApp.AppData">
<summary>
[GET / SET] Provides access to Duality's current <see cref="T:Duality.DualityAppData">application data</see>. This is never null.
Any kind of data change event is fired as soon as you re-assign this property. Be sure to do that after changing its data.
</summary>
</member>
<member name="P:Duality.DualityApp.UserData">
<summary>
[GET / SET] Provides access to Duality's current <see cref="T:Duality.DualityUserData">user data</see>. This is never null.
Any kind of data change event is fired as soon as you re-assign this property. Be sure to do that after changing its data.
</summary>
</member>
<member name="P:Duality.DualityApp.AppDataPath">
<summary>
[GET] Returns the path where this DualityApp's <see cref="T:Duality.DualityAppData">application data</see> is located at.
</summary>
</member>
<member name="P:Duality.DualityApp.UserDataPath">
<summary>
[GET] Returns the path where this DualityApp's <see cref="T:Duality.DualityUserData">user data</see> is located at.
</summary>
</member>
<member name="P:Duality.DualityApp.ExecContext">
<summary>
[GET] Returns the <see cref="T:Duality.DualityApp.ExecutionContext"/> in which this DualityApp is currently running.
</summary>
</member>
<member name="P:Duality.DualityApp.ExecEnvironment">
<summary>
[GET] Returns the <see cref="T:Duality.DualityApp.ExecutionEnvironment"/> in which this DualityApp is currently running.
</summary>
</member>
<member name="P:Duality.DualityApp.LoadedPlugins">
<summary>
[GET] Enumerates all currently loaded plugins.
</summary>
</member>
<member name="P:Duality.DualityApp.DisposedPlugins">
<summary>
[GET] Enumerates all plugin assemblies that have been loaded before, but have been discarded due to a runtime plugin reload operation.
This is usually only the case when being executed from withing the editor or manually triggering a plugin reload. However,
this is normally unnecessary.
</summary>
</member>
<member name="T:Duality.DualityApp.ExecutionContext">
<summary>
Describes the context in which the current DualityApp runs.
</summary>
</member>
<member name="F:Duality.DualityApp.ExecutionContext.Terminated">
<summary>
Duality has been terminated. There is no guarantee that any object is still valid or usable.
</summary>
</member>
<member name="F:Duality.DualityApp.ExecutionContext.Unknown">
<summary>
The context in which Duality is executed is unknown.
</summary>
</member>
<member name="F:Duality.DualityApp.ExecutionContext.Game">
<summary>
Duality runs in a game environment.
</summary>
</member>
<member name="F:Duality.DualityApp.ExecutionContext.Editor">
<summary>
Duality runs in an editing environment.
</summary>
</member>
<member name="T:Duality.DualityApp.ExecutionEnvironment">
<summary>
Describes the environment in which the current DualityApp runs.
</summary>
</member>
<member name="F:Duality.DualityApp.ExecutionEnvironment.Unknown">
<summary>
The environment in which Duality is executed is unknown.
</summary>
</member>
<member name="F:Duality.DualityApp.ExecutionEnvironment.Launcher">
<summary>
Duality runs in the DualityLauncher
</summary>
</member>
<member name="F:Duality.DualityApp.ExecutionEnvironment.Editor">
<summary>
Duality runs in the DualityEditor
</summary>
</member>
<member name="T:Duality.GameObject">
<summary>
GameObjects are what every <see cref="T:Duality.Resources.Scene"/> consists of. They represent nodes in the hierarchial scene graph and
can maintain a <see cref="T:Duality.Resources.PrefabLink"/> connection. A GameObject's main duty is to group several <see cref="T:Duality.Component"/>s
to form one logical instance of an actual object as part of the game, such as "Car" or "PlayerCharacter". However,
the GameObjects itsself does not contain any game-related logic and, by default, doesn't even occupy a position in space.
This is the job of its Components.
</summary>
<seealso cref="T:Duality.Component"/>
<seealso cref="T:Duality.Resources.Scene"/>
<seealso cref="T:Duality.Resources.PrefabLink"/>
</member>
<member name="M:Duality.GameObject.#ctor">
<summary>
Creates a new, empty GameObject.
</summary>
</member>
<member name="M:Duality.GameObject.#ctor(System.String,Duality.GameObject)">
<summary>
Creates a new, empty GameObject with a specific name.
</summary>
<param name="name"></param>
<param name="parent"></param>
</member>
<member name="M:Duality.GameObject.#ctor(Duality.ContentRef{Duality.Resources.Prefab})">
<summary>
Creates a GameObject based on a specific <see cref="T:Duality.Resources.Prefab"/>.
</summary>
<param name="prefab">The Prefab that will be applied to this GameObject.</param>
<seealso cref="T:Duality.Resources.Prefab"/>
</member>
<member name="M:Duality.GameObject.LinkToPrefab(Duality.ContentRef{Duality.Resources.Prefab})">
<summary>
Sets or alters this GameObject's <see cref="T:Duality.Resources.PrefabLink"/> to reference the specified <see cref="T:Duality.Resources.Prefab"/>.
</summary>
<param name="prefab">The Prefab that will be linked to.</param>
<seealso cref="T:Duality.Resources.PrefabLink"/>
<seealso cref="T:Duality.Resources.Prefab"/>
</member>
<member name="M:Duality.GameObject.BreakPrefabLink">
<summary>
Breaks this GameObject's <see cref="T:Duality.Resources.PrefabLink"/>
</summary>
</member>
<member name="M:Duality.GameObject.ChildByName(System.String)">
<summary>
Returns the first child GameObject with the specified name. You may also specify a full name to access children's children.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.GameObject.ChildAtIndex(System.Int32)">
<summary>
Returns the child GameObject that is internally stored at the specified index.
</summary>
<param name="index">The index at which the desired GameObject is located.</param>
<returns>The child GameObject at the specified index. Null, if the index is not valid.</returns>
</member>
<member name="M:Duality.GameObject.ChildAtIndexPath(System.Collections.Generic.IEnumerable{System.Int32})">
<summary>
Executes a series of <see cref="M:Duality.GameObject.ChildAtIndex(System.Int32)"/> calls, beginning at this GameObject and
each on the last retrieved child object.
</summary>
<param name="indexPath">An enumeration of child indices.</param>
<returns>The last retrieved GameObject after executing all indexing steps.</returns>
<example>
Calling <c>ChildAtIndexPath(new[] { 0, 0 })</c> will return the first child of the first child.
</example>
</member>
<member name="M:Duality.GameObject.IndexOfChild(Duality.GameObject)">
<summary>
Determines the index of a specific child GameObject.
</summary>
<param name="child">The child GameObject of which the index is to be determined.</param>
<returns>The index of the specified child GameObject</returns>
<seealso cref="M:Duality.GameObject.ChildAtIndex(System.Int32)"/>
</member>
<member name="M:Duality.GameObject.IndexPathOfChild(Duality.GameObject)">
<summary>
Determines the index path from this GameObject to the specified child (or grandchild, etc.) of it.
</summary>
<param name="child">The child GameObject to lead to.</param>
<returns>A <see cref="T:System.Collections.Generic.List`1"/> of indices that lead from this GameObject to the specified child GameObject.</returns>
<seealso cref="M:Duality.GameObject.ChildAtIndexPath(System.Collections.Generic.IEnumerable{System.Int32})"/>
</member>
<member name="M:Duality.GameObject.IsChildOf(Duality.GameObject)">
<summary>
Returns whether this GameObject is a child, grandchild or similar of the specified GameObject.
</summary>
<param name="parent">The GameObject to check whether or not it is a parent of this one.</param>
<returns>True, if it is, false if not.</returns>
</member>
<member name="M:Duality.GameObject.GetComponent``1">
<summary>
Returns a single <see cref="T:Duality.Component"/> that matches the specified <see cref="T:System.Type"/>.
</summary>
<typeparam name="T">The Type to match the Components with.</typeparam>
<returns>A single Component that matches the specified Type. Null, if none was found.</returns>
</member>
<member name="M:Duality.GameObject.GetComponents``1">
<summary>
Enumerates all <see cref="T:Duality.Component"/>s of this GameObject that match the specified <see cref="T:System.Type"/> or subclass it.
</summary>
<typeparam name="T">The base Type to match when iterating through the Components.</typeparam>
<returns>An enumeration of all Components that match the specified conditions.</returns>
<seealso cref="M:Duality.GameObject.GetComponents(System.Type)"/>
</member>
<member name="M:Duality.GameObject.GetComponentsInChildren``1">
<summary>
Enumerates all <see cref="T:Duality.Component"/>s of this object's child GameObjects that match the specified <see cref="T:System.Type"/> or subclass it.
</summary>
<typeparam name="T">The base Type to match when iterating through the Components.</typeparam>
<returns>An enumeration of all Components that match the specified conditions.</returns>
<seealso cref="M:Duality.GameObject.GetComponentsInChildren(System.Type)"/>
</member>
<member name="M:Duality.GameObject.GetComponentsDeep``1">
<summary>
Enumerates all <see cref="T:Duality.Component"/>s of this GameObject or any child GameObject that match the specified <see cref="T:System.Type"/> or subclass it.
</summary>
<typeparam name="T">The base Type to match when iterating through the Components.</typeparam>
<returns>An enumeration of all Components that match the specified conditions.</returns>
<seealso cref="M:Duality.GameObject.GetComponentsDeep(System.Type)"/>
</member>
<member name="M:Duality.GameObject.GetComponents(System.Type)">
<summary>
Enumerates all <see cref="T:Duality.Component"/>s of this GameObject that match the specified <see cref="T:System.Type"/> or subclass it.
</summary>
<param name="t">The base Type to match when iterating through the Components.</param>
<returns>An enumeration of all Components that match the specified conditions.</returns>
<seealso cref="M:Duality.GameObject.GetComponents``1"/>
</member>
<member name="M:Duality.GameObject.GetComponentsInChildren(System.Type)">
<summary>
Enumerates all <see cref="T:Duality.Component"/>s of this object's child GameObjects that match the specified <see cref="T:System.Type"/> or subclass it.
</summary>
<param name="t">The base Type to match when iterating through the Components.</param>
<returns>An enumeration of all Components that match the specified conditions.</returns>
<seealso cref="M:Duality.GameObject.GetComponentsInChildren``1"/>
</member>
<member name="M:Duality.GameObject.GetComponentsDeep(System.Type)">
<summary>
Enumerates all <see cref="T:Duality.Component"/>s of this GameObject or any child GameObject that match the specified <see cref="T:System.Type"/> or subclass it.
</summary>
<param name="t">The base Type to match when iterating through the Components.</param>
<returns>An enumeration of all Components that match the specified conditions.</returns>
<seealso cref="M:Duality.GameObject.GetComponentsDeep``1"/>
</member>
<member name="M:Duality.GameObject.GetComponent(System.Type)">
<summary>
Returns a single <see cref="T:Duality.Component"/> that matches the specified <see cref="T:System.Type"/>.
</summary>
<param name="t">The Type to match the Components with.</param>
<returns>A single Component that matches the specified Type. Null, if none was found.</returns>
<seealso cref="M:Duality.GameObject.GetComponent``1"/>
</member>
<member name="M:Duality.GameObject.AddComponent``1">
<summary>
Adds a <see cref="T:Duality.Component"/> of the specified <see cref="T:System.Type"/> to this GameObject, if not existing yet.
Simply uses the existing Component otherwise.
</summary>
<typeparam name="T">The Type of which to request a Component instance.</typeparam>
<returns>A reference to a Component of the specified Type.</returns>
<seealso cref="M:Duality.GameObject.AddComponent(System.Type)"/>
</member>
<member name="M:Duality.GameObject.AddComponent(System.Type)">
<summary>
Adds a <see cref="T:Duality.Component"/> of the specified <see cref="T:System.Type"/> to this GameObject, if not existing yet.
Simply uses the existing Component otherwise.
</summary>
<param name="type">The Type of which to request a Component instance.</param>
<returns>A reference to a Component of the specified Type.</returns>
<seealso cref="M:Duality.GameObject.AddComponent``1"/>
</member>
<member name="M:Duality.GameObject.AddComponent``1(``0)">
<summary>
Adds the specified <see cref="T:Duality.Component"/> to this GameObject, if no Component of that Type is already part of this GameObject.
Simply uses the already added Component otherwise.
</summary>
<typeparam name="T">The Components Type.</typeparam>
<param name="newComp">The Component instance to add to this GameObject.</param>
<returns>A reference to a Component of the specified Type</returns>
<exception cref="T:System.ArgumentException">Thrown if the specified Component is already attached to a GameObject</exception>
</member>
<member name="M:Duality.GameObject.RemoveComponent``1">
<summary>
Removes a <see cref="T:Duality.Component"/> of the specified <see cref="T:System.Type"/> from this GameObject, if existing.
</summary>
<typeparam name="T">The Type of which to remove a Component instance.</typeparam>
<returns>A reference to the removed Component. Null otherwise.</returns>
<seealso cref="M:Duality.GameObject.RemoveComponent(System.Type)"/>
<seealso cref="M:Duality.GameObject.RemoveComponent(Duality.Component)"/>
</member>
<member name="M:Duality.GameObject.RemoveComponent(System.Type)">
<summary>
Removes a <see cref="T:Duality.Component"/> of the specified <see cref="T:System.Type"/> from this GameObject, if existing.
</summary>
<param name="t">The Type of which to remove a Component instance.</param>
<returns>A reference to the removed Component. Null otherwise.</returns>
<seealso cref="M:Duality.GameObject.RemoveComponent``1"/>
<seealso cref="M:Duality.GameObject.RemoveComponent(Duality.Component)"/>
</member>
<member name="M:Duality.GameObject.RemoveComponent(Duality.Component)">
<summary>
Removes a specific <see cref="T:Duality.Component"/> from this GameObject.
</summary>
<param name="cmp">The Component to remove from this GameObject</param>
<exception cref="T:System.ArgumentNullException">Thrown when the specified Component is a null reference.</exception>
<exception cref="T:System.ArgumentException">Thrown when the specified Component does not belong to this GameObject</exception>
<seealso cref="M:Duality.GameObject.RemoveComponent(System.Type)"/>
<seealso cref="M:Duality.GameObject.RemoveComponent``1"/>
</member>
<member name="M:Duality.GameObject.ClearComponents">
<summary>
Removes all <see cref="T:Duality.Component">Components</see> from this GameObject.
</summary>
</member>
<member name="M:Duality.GameObject.IterateComponents``1(System.Action{``0},System.Predicate{``0})">
<summary>
Iterates over all Components that are instances of Type T. Unlike iterating manually over <see cref="M:Duality.GameObject.GetComponents``1"/>,
this method allows the underlying collection to change while iterating, making it a good candidate for ICmp notify operations.
</summary>
<typeparam name="T">The base Type of Components that are iterated. May be an ICmp interface or similar.</typeparam>
<param name="forEach">The operation that is performed on each Component.</param>
<param name="where">An optional predicate that needs to return true in order to perform the operation.</param>
</member>
<member name="M:Duality.GameObject.IterateChildren(System.Action{Duality.GameObject},System.Predicate{Duality.GameObject})">
<summary>
Iterates over all child GameObjects. Unlike iterating manually over <see cref="P:Duality.GameObject.Children"/>,
this method allows the underlying collection to change while iterating, making it a good candidate for notify operations
that may execute code which adds or removed children.
</summary>
<param name="forEach">The operation that is performed on each child object.</param>
<param name="where">An optional predicate that needs to return true in order to perform the operation.</param>
</member>
<member name="M:Duality.GameObject.Dispose">
<summary>
Disposes this GameObject as well as all of its child GameObjects and <see cref="T:Duality.Component">Components</see>.
You usually don't need this - use <see cref="M:Duality.ExtMethodsIManageableObject.DisposeLater(Duality.IManageableObject)"/> instead.
</summary>
<seealso cref="M:Duality.ExtMethodsIManageableObject.DisposeLater(Duality.IManageableObject)"/>
</member>
<member name="M:Duality.GameObject.Clone">
<summary>
Creates a deep copy of this GameObject.
</summary>
<returns>A reference to a newly created deep copy of this GameObject.</returns>
</member>
<member name="M:Duality.GameObject.CopyTo(Duality.GameObject)">
<summary>
Deep-copies this GameObject's data to the specified target GameObject.
</summary>
<param name="target">The target GameObject to copy to.</param>
</member>
<member name="M:Duality.GameObject.GatherInitComponents(System.Collections.Generic.List{Duality.ICmpInitializable},System.Boolean)">
<summary>
Gathers a list of components that would be affected if this <see cref="T:Duality.GameObject"/>
changed its activation state. This excludes components and child objects that
are inactive in their own right.
</summary>
<param name="initList"></param>
<param name="deep"></param>
</member>
<member name="M:Duality.GameObject.EnsureConsistentData">
<summary>
Checks all internal data for consistency and fixes problems where possible.
This helps mitigate serialization problems that arise from changing data
structures during dev time.
</summary>
</member>
<member name="M:Duality.GameObject.EnsureComponentOrder">
<summary>
Checks the objects internal <see cref="T:Duality.Component"/> containers for the correct
execution order and sorts them where necessary.
</summary>
</member>
<member name="P:Duality.GameObject.Parent">
<summary>
[GET / SET] This GameObject's parent object in the scene graph.
A GameObject usually depends on its parent in some way, such as being
positioned relative to it when occupying a position in space.
</summary>
</member>
<member name="P:Duality.GameObject.ParentScene">
<summary>
[GET] The GameObjects parent <see cref="T:Duality.Resources.Scene"/>. Each GameObject can belong to
exactly one Scene, or no Scene at all. To add or remove GameObjects to / from a Scene, use the <see cref="M:Duality.Resources.Scene.AddObject(Duality.GameObject)"/> and
<see cref="M:Duality.Resources.Scene.RemoveObject(Duality.GameObject)"/> methods.
</summary>
</member>
<member name="P:Duality.GameObject.Active">
<summary>
[GET / SET] Whether or not the GameObject is currently active. To return true,
both the GameObject itsself and all of its parent GameObjects need to be active.
</summary>
<seealso cref="P:Duality.GameObject.ActiveSingle"/>
</member>
<member name="P:Duality.GameObject.ActiveSingle">
<summary>
[GET / SET] Whether or not the GameObject is currently active. Unlike <see cref="P:Duality.GameObject.Active"/>,
this property ignores parent activation states and depends only on this single GameObject.
The scene graph and other Duality instances usually check <see cref="P:Duality.GameObject.Active"/>, not ActiveSingle.
</summary>
<seealso cref="P:Duality.GameObject.Active"/>
</member>
<member name="P:Duality.GameObject.Name">
<summary>
[GET / SET] The name of this GameObject.
</summary>
</member>
<member name="P:Duality.GameObject.FullName">
<summary>
[GET] The path-like hierarchial name of this GameObject.
</summary>
<example>For an object called <c>Wheel</c> inside an object called <c>Car</c>, this would return <c>Car/Wheel</c>.</example>
</member>
<member name="P:Duality.GameObject.Id">
<summary>
[GET] The GameObjects persistent globally unique identifier.
</summary>
</member>
<member name="P:Duality.GameObject.Children">
<summary>
[GET] Enumerates this objects child GameObjects.
</summary>
</member>
<member name="P:Duality.GameObject.ChildrenDeep">
<summary>
[GET] Enumerates all GameObjects that are directly or indirectly parented to this object, i.e. its
children, grandchildren, etc.
</summary>
</member>
<member name="P:Duality.GameObject.PrefabLink">
<summary>
[GET] The <see cref="T:Duality.Resources.PrefabLink"/> that connects this object to a <see cref="T:Duality.Resources.Prefab"/>.
</summary>
<seealso cref="T:Duality.Resources.PrefabLink"/>
<seealso cref="T:Duality.Resources.Prefab"/>
</member>
<member name="P:Duality.GameObject.AffectedByPrefabLink">
<summary>
[GET] The <see cref="T:Duality.Resources.PrefabLink"/> that connects this object or one or its parent GameObjects to a <see cref="T:Duality.Resources.Prefab"/>.
</summary>
<remarks>
This does not necessarily mean that this GameObject will be affected by the PrefabLink, since it might not be part of
the linked Prefab. It simply indicates the returned PrefabLink's potential to adjust this GameObject when being applied.
</remarks>
<seealso cref="T:Duality.Resources.PrefabLink"/>
<seealso cref="T:Duality.Resources.Prefab"/>
</member>
<member name="P:Duality.GameObject.Disposed">
<summary>
[GET] Returns whether this GameObject has been disposed. Disposed GameObjects are not to be used and should
be treated specifically or as null references by your code.
</summary>
</member>
<member name="P:Duality.GameObject.Transform">
<summary>
[GET] The GameObject's <see cref="T:Duality.Components.Transform"/> Component, if existing.
This is a cached / faster shortcut-version of <see cref="M:Duality.GameObject.GetComponent``1"/>.
</summary>
<seealso cref="T:Duality.Components.Transform"/>
</member>
<member name="E:Duality.GameObject.EventParentChanged">
<summary>
Fired when this GameObjects parent has changed
</summary>
</member>
<member name="E:Duality.GameObject.EventComponentAdded">
<summary>
Fired when a Component has been added to the GameObject
</summary>
</member>
<member name="E:Duality.GameObject.EventComponentRemoving">
<summary>
Fired when a Component is about to be removed from the GameObject
</summary>
</member>
<member name="T:Duality.GameObjectManager">
<summary>
Manages a set of <see cref="T:Duality.GameObject">GameObject</see> and exposes suitable object enumerations as well as un/registeration events.
If a registered object has been disposed, it will be automatically unregistered.
</summary>
</member>
<member name="M:Duality.GameObjectManager.AddObject(Duality.GameObject)">
<summary>
Registers a GameObject and all of its children.
</summary>
<param name="obj"></param>
</member>
<member name="M:Duality.GameObjectManager.AddObject(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Registers a set of GameObjects
</summary>
<param name="objEnum"></param>
</member>
<member name="M:Duality.GameObjectManager.RemoveObject(Duality.GameObject)">
<summary>
Unregisters a GameObject and all of its children
</summary>
<param name="obj"></param>
</member>
<member name="M:Duality.GameObjectManager.RemoveObject(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Unregisters a set of GameObjects
</summary>
<param name="objEnum"></param>
</member>
<member name="M:Duality.GameObjectManager.Clear">
<summary>
Unregisters all GameObjects.
</summary>
</member>
<member name="M:Duality.GameObjectManager.Flush">
<summary>
Unregisters all dead / disposed GameObjects
</summary>
</member>
<member name="P:Duality.GameObjectManager.Count">
<summary>
[GET] The number of registered objects.
</summary>
</member>
<member name="P:Duality.GameObjectManager.AllObjects">
<summary>
[GET] Enumerates all registered GameObjects.
</summary>
</member>
<member name="P:Duality.GameObjectManager.ActiveObjects">
<summary>
[GET] Enumerates all registered GameObjects that are currently active.
</summary>
</member>
<member name="P:Duality.GameObjectManager.RootObjects">
<summary>
[GET] Enumerates all root GameObjects, i.e. all GameObjects without a parent object.
</summary>
</member>
<member name="P:Duality.GameObjectManager.ActiveRootObjects">
<summary>
[GET] Enumerates all <see cref="P:Duality.GameObjectManager.RootObjects"/> that are currently active.
</summary>
</member>
<member name="E:Duality.GameObjectManager.GameObjectAdded">
<summary>
Fired when a <see cref="T:Duality.GameObject"/> is registered.
</summary>
</member>
<member name="E:Duality.GameObjectManager.GameObjectRemoved">
<summary>
Fired when a <see cref="T:Duality.GameObject"/> is unregistered.
</summary>
</member>
<member name="E:Duality.GameObjectManager.GameObjectsAdded">
<summary>
Fired once for every <see cref="T:Duality.GameObject"/> add operation.
</summary>
</member>
<member name="E:Duality.GameObjectManager.GameObjectsRemoved">
<summary>
Fired once for every <see cref="T:Duality.GameObject"/> remove operation.
</summary>
</member>
<member name="E:Duality.GameObjectManager.ParentChanged">
<summary>
Fired when a registered GameObjects parent has changed
</summary>
</member>
<member name="E:Duality.GameObjectManager.ComponentAdded">
<summary>
Fired when a <see cref="T:Duality.Component"/> is added to an already registered GameObject.
</summary>
</member>
<member name="E:Duality.GameObjectManager.ComponentRemoving">
<summary>
Fired when a <see cref="T:Duality.Component"/> is removed from an already registered GameObject.
</summary>
</member>
<member name="T:Duality.InMemoryLogOutput">
<summary>
A <see cref="T:Duality.ILogOutput">Log output</see> that stores all log entries in memory.
</summary>
</member>
<member name="M:Duality.InMemoryLogOutput.Write(Duality.LogEntry)">
<inheritdoc />
</member>
<member name="P:Duality.InMemoryLogOutput.Entries">
<summary>
[GET] Allows to access all log entries that have been received.
</summary>
</member>
<member name="T:Duality.Log">
<summary>
Listens for log entries and writes them to registered <see cref="T:Duality.ILogOutput">ILogOutputs</see>.
</summary>
</member>
<member name="M:Duality.Log.#ctor(System.String,Duality.Log.SharedState,Duality.ILogOutput[])">
<summary>
Creates a new Log.
</summary>
<param name="name">The Logs name.</param>
<param name="stateHolder">The Logs state value holder that may be shared with other Logs.</param>
<param name="output">It will be initially connected to the specified outputs.</param>
</member>
<member name="M:Duality.Log.#ctor(System.String,Duality.ILogOutput[])">
<summary>
Creates a new Log.
</summary>
<param name="name">The Logs name</param>
<param name="output">It will be initially connected to the specified outputs.</param>
</member>
<member name="M:Duality.Log.AddOutput(Duality.ILogOutput)">
<summary>
Adds an output to write log entries to.
</summary>
<param name="writer"></param>
</member>
<member name="M:Duality.Log.RemoveOutput(Duality.ILogOutput)">
<summary>
Removes a certain output.
</summary>
<param name="writer"></param>
</member>
<member name="M:Duality.Log.PushIndent">
<summary>
Increases the current log entry indent.
</summary>
</member>
<member name="M:Duality.Log.PopIndent">
<summary>
Decreases the current log entry indent.
</summary>
</member>
<member name="M:Duality.Log.Write(System.String,System.Object[])">
<summary>
Writes a new log entry.
</summary>
<param name="format"></param>
<param name="obj"></param>
</member>
<member name="M:Duality.Log.WriteWarning(System.String,System.Object[])">
<summary>
Writes a new warning log entry.
</summary>
<param name="format"></param>
<param name="obj"></param>
</member>
<member name="M:Duality.Log.WriteError(System.String,System.Object[])">
<summary>
Writes a new error log entry.
</summary>
<param name="format"></param>
<param name="obj"></param>
</member>
<member name="M:Duality.Log.CurrentMethod(System.String,System.String,System.Int32)">
<summary>
Returns a string that can be used for representing the current line and method within a source code file.
This method uses caller information attributes on its parameters - omit them in order to let the compiler do its work.
</summary>
<param name="callerInfoMember"></param>
<param name="callerInfoFile"></param>
<param name="callerInfoLine"></param>
<returns></returns>
</member>
<member name="M:Duality.Log.Assembly(System.Reflection.Assembly)">
<summary>
Returns a string that can be used for representing a <see cref="T:System.Reflection.Assembly"/> in log entries.
</summary>
<param name="asm"></param>
<returns></returns>
</member>
<member name="M:Duality.Log.Type(System.Type)">
<summary>
Returns a string that can be used for representing a <see cref="T:System.Type"/> in log entries.
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:Duality.Log.Type(System.Reflection.TypeInfo)">
<summary>
Returns a string that can be used for representing a <see cref="T:System.Reflection.TypeInfo"/> in log entries.
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:Duality.Log.MethodInfo(System.Reflection.MethodInfo,System.Boolean)">
<summary>
Returns a string that can be used for representing a method in log entries.
</summary>
<param name="info"></param>
<param name="includeDeclaringType">If true, the methods declaring type is included in the returned name.</param>
<returns></returns>
</member>
<member name="M:Duality.Log.MethodInfo(System.Reflection.MethodBase,System.Boolean)">
<summary>
Returns a string that can be used for representing a method or constructor in log entries.
</summary>
<param name="info"></param>
<param name="includeDeclaringType">If true, the methods or constructors declaring type is included in the returned name.</param>
<returns></returns>
</member>
<member name="M:Duality.Log.ConstructorInfo(System.Reflection.ConstructorInfo,System.Boolean)">
<summary>
Returns a string that can be used for representing a constructor in log entries.
</summary>
<param name="info"></param>
<param name="includeDeclaringType">If true, the constructors declaring type is included in the returned name.</param>
<returns></returns>
</member>
<member name="M:Duality.Log.PropertyInfo(System.Reflection.PropertyInfo,System.Boolean)">
<summary>
Returns a string that can be used for representing a property in log entries.
</summary>
<param name="info"></param>
<param name="includeDeclaringType">If true, the properties declaring type is included in the returned name.</param>
<returns></returns>
</member>
<member name="M:Duality.Log.FieldInfo(System.Reflection.FieldInfo,System.Boolean)">
<summary>
Returns a string that can be used for representing a field in log entries.
</summary>
<param name="info"></param>
<param name="includeDeclaringType">If true, the fields declaring type is included in the returned name.</param>
<returns></returns>
</member>
<member name="M:Duality.Log.EventInfo(System.Reflection.EventInfo,System.Boolean)">
<summary>
Returns a string that can be used for representing an event in log entries.
</summary>
<param name="info"></param>
<param name="includeDeclaringType">If true, the events declaring type is included in the returned name.</param>
<returns></returns>
</member>
<member name="M:Duality.Log.MemberInfo(System.Reflection.MemberInfo,System.Boolean)">
<summary>
Returns a string that can be used for representing a(ny) member in log entries.
</summary>
<param name="info"></param>
<param name="includeDeclaringType">If true, the members declaring type is included in the returned name.</param>
<returns></returns>
</member>
<member name="M:Duality.Log.Exception(System.Exception,System.Boolean)">
<summary>
Returns a string that can be used for representing an exception in log entries.
It usually does not include the full call stack and is significantly shorter than
an <see cref="T:System.Exception">Exceptions</see> ToString method.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="P:Duality.Log.Game">
<summary>
[GET] A log for game-related entries. Use this for logging data from game plugins.
</summary>
</member>
<member name="P:Duality.Log.Core">
<summary>
[GET] A log for core-related entries. This is normally only used by Duality itsself.
</summary>
</member>
<member name="P:Duality.Log.Editor">
<summary>
[GET] A log for editor-related entries. This is used by the Duality editor and its plugins.
</summary>
</member>
<member name="P:Duality.Log.Name">
<summary>
[GET] The Log's name
</summary>
</member>
<member name="P:Duality.Log.Prefix">
<summary>
[GET] The Log's prefix, which is automatically determined by its name.
</summary>
</member>
<member name="P:Duality.Log.Indent">
<summary>
[GET] The Log's current indent level.
</summary>
</member>
<member name="P:Duality.Log.Outputs">
<summary>
[GET] Enumerates all the output writers of this log.
</summary>
</member>
<member name="T:Duality.Log.SharedState">
<summary>
Holds a Logs state values.
</summary>
</member>
<member name="P:Duality.Log.SharedState.Indent">
<summary>
[GET / SET] The Logs indent value.
</summary>
</member>
<member name="T:Duality.Resource">
<summary>
The abstract Resource class is inherited by any kind of Duality content. Instances of it or one of its subclasses
are usually handled wrapped inside a <see cref="T:Duality.ContentRef`1"/> and requested from the <see cref="T:Duality.ContentProvider"/>.
</summary>
<seealso cref="T:Duality.ContentRef`1"/>
<seealso cref="T:Duality.ContentProvider"/>
</member>
<member name="F:Duality.Resource.FileExt">
<summary>
A Resource files extension.
</summary>
</member>
<member name="F:Duality.Resource.assetInfo">
<summary>
Contains information on how this <see cref="T:Duality.Resource"/> should be treated during
Asset import operations in the editor.
</summary>
</member>
<member name="F:Duality.Resource.path">
<summary>
The path of this Resource.
</summary>
</member>
<member name="F:Duality.Resource.initState">
<summary>
The initialization state of the Resource. Also specifies a disposed-state.
</summary>
</member>
<member name="M:Duality.Resource.Save(System.String,System.Boolean)">
<summary>
Saves the Resource to the specified path.
</summary>
<param name="saveAsPath">The path to which this Resource is saved to. If null, the Resources <see cref="P:Duality.Resource.Path"/> is used as destination.</param>
<param name="makePermanent">
When true, the Resource will be made permanently available from now on. If it has been generated at runtime
or was loaded explicitly outside the ContentProvider, this will set the Resources <see cref="P:Duality.Resource.Path"/> Property
and register it in the ContentProvider. If the Resource already is a permanent, this parameter will be ignored.
</param>
</member>
<member name="M:Duality.Resource.Save(System.IO.Stream)">
<summary>
Saves the Resource to the specified stream.
</summary>
<param name="str"></param>
</member>
<member name="M:Duality.Resource.Clone">
<summary>
Creates a deep copy of this Resource.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Resource.CopyTo(Duality.Resource)">
<summary>
Deep-copies this Resource to the specified target Resource. The target Resource's Type must
match this Resource's Type.
</summary>
<param name="target">The target Resource to copy this Resource's data to</param>
</member>
<member name="M:Duality.Resource.OnSetupCloneTargets(System.Object,Duality.Cloning.ICloneTargetSetup)">
<summary>
This method prepares the <see cref="M:Duality.Resource.CopyTo(Duality.Resource)"/> operation for custom Resource Types.
It uses reflection to prepare the cloning operation automatically, but you can implement
this method in order to handle certain fields and cases manually. See <see cref="M:Duality.Cloning.ICloneExplicit.SetupCloneTargets(System.Object,Duality.Cloning.ICloneTargetSetup)"/>
for a more thorough explanation.
</summary>
<param name="setup"></param>
</member>
<member name="M:Duality.Resource.OnCopyDataTo(System.Object,Duality.Cloning.ICloneOperation)">
<summary>
This method performs the <see cref="M:Duality.Resource.CopyTo(Duality.Resource)"/> operation for custom Resource Types.
It uses reflection to perform the cloning operation automatically, but you can implement
this method in order to handle certain fields and cases manually. See <see cref="M:Duality.Cloning.ICloneExplicit.CopyDataTo(System.Object,Duality.Cloning.ICloneOperation)"/>
for a more thorough explanation.
</summary>
<param name="target">The target Resource where this Resources data is copied to.</param>
<param name="operation"></param>
</member>
<member name="M:Duality.Resource.OnSaving(System.String)">
<summary>
Called when this Resource is now beginning to be saved.
</summary>
</member>
<member name="M:Duality.Resource.OnSaved(System.String)">
<summary>
Called when this Resource has just been saved.
</summary>
</member>
<member name="M:Duality.Resource.OnLoaded">
<summary>
Called when this Resource has just been loaded.
</summary>
</member>
<member name="M:Duality.Resource.Dispose">
<summary>
Disposes the Resource. Please don't do something silly, like disposing a Scene while it is updated.. use <see cref="M:Duality.ExtMethodsIManageableObject.DisposeLater(Duality.IManageableObject)"/> instead!
</summary>
</member>
<member name="M:Duality.Resource.OnDisposing(System.Boolean)">
<summary>
Called when beginning to dispose the Resource.
</summary>
<param name="manually"></param>
</member>
<member name="M:Duality.Resource.GetContentRef">
<summary>
Creates a <see cref="T:Duality.ContentRef`1"/> referring to this Resource.
</summary>
<returns>A <see cref="T:Duality.ContentRef`1"/> referring to this Resource.</returns>
</member>
<member name="M:Duality.Resource.Load``1(System.String,System.Action{``0},System.Boolean)">
<summary>
Loads the Resource that is located at the specified path. You shouldn't need this method in almost all cases.
Only use it when you know exactly what you're doing. Consider requesting the Resource from the <see cref="T:Duality.ContentProvider"/> instead.
</summary>
<typeparam name="T">
Desired Type of the returned reference. Does not affect the loaded Resource in any way - it is simply returned as T.
Results in returning null if the loaded Resource's Type isn't assignable to T.
</typeparam>
<param name="path">The path to load the Resource from.</param>
<param name="loadCallback">An optional callback that is invoked right after loading the Resource, but before initializing it.</param>
<param name="initResource">
Specifies whether or not the Resource is initialized by calling <see cref="M:Duality.Resource.OnLoaded"/>. Never attempt to use
uninitialized Resources or register them in the ContentProvider.
</param>
<returns>The Resource that has been loaded.</returns>
</member>
<member name="M:Duality.Resource.Load``1(System.IO.Stream,System.String,System.Action{``0},System.Boolean)">
<summary>
Loads the Resource from the specified <see cref="T:System.IO.Stream"/>. You shouldn't need this method in almost all cases.
Only use it when you know exactly what you're doing. Consider requesting the Resource from the <see cref="T:Duality.ContentProvider"/> instead.
</summary>
<typeparam name="T">
Desired Type of the returned reference. Does not affect the loaded Resource in any way - it is simply returned as T.
Results in returning null if the loaded Resource's Type isn't assignable to T.
</typeparam>
<param name="str">The stream to load the Resource from.</param>
<param name="resPath">The path that is assumed as the loaded Resource's origin.</param>
<param name="loadCallback">An optional callback that is invoked right after loading the Resource, but before initializing it.</param>
<param name="initResource">
Specifies whether or not the Resource is initialized by calling <see cref="M:Duality.Resource.OnLoaded"/>. Never attempt to use
uninitialized Resources or register them in the ContentProvider.
</param>
<returns>The Resource that has been loaded.</returns>
</member>
<member name="M:Duality.Resource.Load``1(Duality.Serialization.Serializer,System.String,System.Action{``0},System.Boolean)">
<summary>
Loads the Resource from the specified <see cref="T:System.IO.Stream"/>. You shouldn't need this method in almost all cases.
Only use it when you know exactly what you're doing. Consider requesting the Resource from the <see cref="T:Duality.ContentProvider"/> instead.
</summary>
<typeparam name="T">
Desired Type of the returned reference. Does not affect the loaded Resource in any way - it is simply returned as T.
Results in returning null if the loaded Resource's Type isn't assignable to T.
</typeparam>
<param name="str">The stream to load the Resource from.</param>
<param name="resPath">The path that is assumed as the loaded Resource's origin.</param>
<param name="loadCallback">An optional callback that is invoked right after loading the Resource, but before initializing it.</param>
<param name="initResource">
Specifies whether or not the Resource is initialized by calling <see cref="M:Duality.Resource.OnLoaded"/>. Never attempt to use
uninitialized Resources or register them in the ContentProvider.
</param>
<returns>The Resource that has been loaded.</returns>
</member>
<member name="M:Duality.Resource.Init(Duality.Resource)">
<summary>
Initializes a Resource that has been loaded without initialization. You shouldn't need this method in almost all cases.
Only use it when you know exactly what you're doing. Consider requesting the Resource from the <see cref="T:Duality.ContentProvider"/> instead.
</summary>
<param name="res">The Resource to initialize.</param>
</member>
<member name="M:Duality.Resource.IsResourceFile(System.String)">
<summary>
Determines whether or not the specified path points to a Duality Resource file.
</summary>
<param name="filePath"></param>
<returns></returns>
</member>
<member name="M:Duality.Resource.GetResourceFiles(System.String)">
<summary>
Returns all Resource files that are located in the specified directory. This doesn't affect
any actual content- or load states.
</summary>
<param name="folderPath"></param>
<returns></returns>
</member>
<member name="M:Duality.Resource.GetFileExtByType(System.Type)">
<summary>
Returns the Resource file extension for a specific Resource Type.
</summary>
<param name="resType">The Resource Type to return the file extension from.</param>
<returns>The specified Resource Type's file extension.</returns>
</member>
<member name="M:Duality.Resource.GetFileExtByType``1">
<summary>
Returns the Resource file extension for a specific Resource Type.
</summary>
<param name="resType">The Resource Type to return the file extension from.</param>
<returns>The specified Resource Type's file extension.</returns>
</member>
<member name="M:Duality.Resource.GetTypeByFileName(System.String)">
<summary>
Returns the Resource Type that is associated with the specified file, based on its extension.
</summary>
<param name="filePath">Path to the file of whichs Resource Type will be returned</param>
<returns>The Resource Type of the specified file</returns>
</member>
<member name="M:Duality.Resource.DontSerializeResourceBlocker(System.Reflection.FieldInfo,System.Object)">
<summary>
A <see cref="P:Duality.Serialization.Serializer.FieldBlockers">FieldBlocker</see> to prevent
fields flagged with a <see cref="T:Duality.DontSerializeResourceAttribute"/> from being serialized.
</summary>
<param name="field"></param>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:Duality.Resource.PrefabLinkedFieldBlocker(System.Reflection.FieldInfo,System.Object)">
<summary>
A <see cref="P:Duality.Serialization.Serializer.FieldBlockers">FieldBlocker</see> to prevent
fields of <see cref="T:Duality.Resources.PrefabLink">PrefabLink-ed</see> objects from being serialized unnecessarily.
</summary>
<param name="field"></param>
<param name="obj"></param>
<returns></returns>
</member>
<member name="P:Duality.Resource.Disposed">
<summary>
[GET] Returns whether the Resource has been disposed.
Disposed Resources are not to be used and are treated the same as a null value by most methods.
</summary>
</member>
<member name="P:Duality.Resource.Path">
<summary>
[GET] The path where this Resource has been originally loaded from or was first saved to.
It is also the path under which this Resource is registered at the ContentProvider.
</summary>
</member>
<member name="P:Duality.Resource.AssetInfo">
<summary>
[GET / SET] Provides information on the way this <see cref="T:Duality.Resource"/> should be treated during
Asset import operations in the editor. This information is not available at runtime and can only be
accessed or set outside a <see cref="F:Duality.DualityApp.ExecutionEnvironment.Launcher"/> environment.
</summary>
</member>
<member name="P:Duality.Resource.Name">
<summary>
[GET] The name of the Resource.
</summary>
</member>
<member name="P:Duality.Resource.FullName">
<summary>
[GET] The full name of the Resource, including its path but not its file extension
</summary>
</member>
<member name="P:Duality.Resource.IsDefaultContent">
<summary>
[GET] Returns whether the Resource is part of Duality's embedded default content.
</summary>
</member>
<member name="P:Duality.Resource.IsRuntimeResource">
<summary>
[GET] Returns whether the Resource has been generated at runtime and cannot be retrieved via content path.
</summary>
</member>
<member name="T:Duality.DontSerializeResourceAttribute">
<summary>
Indicates that a field will be assumed null when serializing it as part of a Resource serialization.
</summary>
</member>
<member name="T:Duality.ExplicitResourceReferenceAttribute">
<summary>
Allows to explicitly specify what kinds of Resources a certain Resource Type is able to reference.
This is an optional attribute that is used for certain runtime optimizations.
</summary>
</member>
<member name="T:Duality.Resources.AbstractShader">
<summary>
Represents an OpenGL Shader in an abstract form.
</summary>
</member>
<member name="M:Duality.Resources.AbstractShader.Compile">
<summary>
Compiles the shader. This is done automatically when loading the shader
or attaching it to a <see cref="T:Duality.Resources.ShaderProgram"/>.
</summary>
</member>
<member name="P:Duality.Resources.AbstractShader.Native">
<summary>
[GET] The shaders native backend. Don't use this unless you know exactly what you're doing.
</summary>
</member>
<member name="P:Duality.Resources.AbstractShader.Type">
<summary>
The type of OpenGL shader that is represented.
</summary>
</member>
<member name="P:Duality.Resources.AbstractShader.Compiled">
<summary>
[GET] Whether this shader has been compiled yet or not.
</summary>
</member>
<member name="P:Duality.Resources.AbstractShader.Source">
<summary>
[GET] The shaders source code.
</summary>
</member>
<member name="T:Duality.Resources.AudioData">
<summary>
Stores compressed audio data (Ogg Vorbis) in system memory as well as a reference to the
OpenAL buffer containing actual PCM data, once set up. The OpenAL buffer is set up lazy
i.e. as soon as demanded by accessing the AlBuffer property or calling SetupAlBuffer.
</summary>
<seealso cref="T:Duality.Resources.Sound"/>
</member>
<member name="M:Duality.Resources.AudioData.#ctor">
<summary>
Creates a new, empty AudioData without any data.
</summary>
</member>
<member name="M:Duality.Resources.AudioData.#ctor(System.Byte[])">
<summary>
Creates a new AudioData based on an Ogg Vorbis memory chunk.
</summary>
<param name="oggVorbisData">An Ogg Vorbis memory chunk</param>
</member>
<member name="M:Duality.Resources.AudioData.#ctor(System.IO.Stream)">
<summary>
Creates a new AudioData based on a <see cref="T:System.IO.Stream"/> containing Ogg Vorbis data.
</summary>
<param name="oggVorbisDataStream">A <see cref="T:System.IO.Stream"/> containing Ogg Vorbis data</param>
</member>
<member name="M:Duality.Resources.AudioData.DisposeNativeBuffer">
<summary>
Disposes the AudioDatas native buffer.
</summary>
<seealso cref="M:Duality.Resources.AudioData.SetupNativeBuffer"/>
</member>
<member name="M:Duality.Resources.AudioData.SetupNativeBuffer">
<summary>
Sets up a new native buffer for this AudioData. This will result in decompressing
the Ogg Vorbis data and uploading it to OpenAL, unless the AudioData is streamed.
</summary>
</member>
<member name="P:Duality.Resources.AudioData.Beep">
<summary>
[GET] A simple beep AudioData.
</summary>
</member>
<member name="P:Duality.Resources.AudioData.Native">
<summary>
[GET] The backends native audio buffer representation. Don't use this unless you know exactly what you're doing.
</summary>
</member>
<member name="P:Duality.Resources.AudioData.OggVorbisData">
<summary>
[GET / SET] A data chunk representing Ogg Vorbis compressed
audio data.
</summary>
</member>
<member name="P:Duality.Resources.AudioData.ForceStream">
<summary>
[GET / SET] If set to true, when playing a <see cref="T:Duality.Resources.Sound"/> that refers to this
AudioData, it is forced to be played streamed. Normally, streaming kicks in automatically when playing
very large sound files, such as music or large environmental ambience.
</summary>
</member>
<member name="P:Duality.Resources.AudioData.IsStreamed">
<summary>
[GET] Returns whether this AudioData will be played streamed.
</summary>
</member>
<member name="T:Duality.Resources.DrawTechnique">
<summary>
DrawTechniques represent the method by which a set of colors, <see cref="T:Duality.Resources.Texture">Textures</see> and
vertex data is applied to screen.
</summary>
<seealso cref="T:Duality.Resources.Material"/>
<seealso cref="T:Duality.Resources.ShaderProgram"/>
<seealso cref="T:Duality.Drawing.BlendMode"/>
</member>
<member name="M:Duality.Resources.DrawTechnique.#ctor">
<summary>
Creates a new, default DrawTechnique
</summary>
</member>
<member name="M:Duality.Resources.DrawTechnique.#ctor(Duality.Drawing.BlendMode)">
<summary>
Creates a new DrawTechnique that uses the specified <see cref="T:Duality.Drawing.BlendMode"/>.
</summary>
<param name="blendType"></param>
</member>
<member name="M:Duality.Resources.DrawTechnique.#ctor(Duality.Drawing.BlendMode,Duality.ContentRef{Duality.Resources.ShaderProgram},Duality.Drawing.VertexDeclaration)">
<summary>
Creates a new DrawTechnique using the specified <see cref="T:Duality.Drawing.BlendMode"/> and <see cref="T:Duality.Resources.ShaderProgram"/>.
</summary>
<param name="blendType"></param>
<param name="shader"></param>
<param name="formatPref"></param>
</member>
<member name="M:Duality.Resources.DrawTechnique.PrepareRendering(Duality.Drawing.IDrawDevice,Duality.Drawing.BatchInfo)">
<summary>
Prepares rendering using this DrawTechnique.
</summary>
<param name="device"></param>
<param name="material"></param>
</member>
<member name="P:Duality.Resources.DrawTechnique.Solid">
<summary>
Renders solid geometry without utilizing the alpha channel. This is the fastest default DrawTechnique.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.Mask">
<summary>
Renders alpha-masked solid geometry. This is the recommended DrawTechnique for regular sprite rendering.
If multisampling is available, it is utilized to smooth masked edges.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.SharpAlpha">
<summary>
Renders geometry using the alpha channel, but enforces sharp edges by using an adaptive antialiazing shader.
This is the recommended DrawTechnique for rendering text or stencil sprites.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.Add">
<summary>
Renders additive geometry. Ideal for glow effects.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.Alpha">
<summary>
Renders geometry and using the alpha channel. However, for stencil-sharp alpha edges, <see cref="P:Duality.Resources.DrawTechnique.Mask"/> might
be sufficient and is a lot faster. Consider using it.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.Multiply">
<summary>
Renders geometry multiplying the existing background with incoming color values. Can be used for shadowing effects.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.Light">
<summary>
Renders geometry adding incoming color values weighted based on the existing background. Can be used for lighting effects.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.Invert">
<summary>
Renders geometry inverting the background color.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.Picking">
<summary>
Renders geometry for a picking operation. This isn't used for regular rendering.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.SmoothAnim_Solid">
<summary>
Renders SmoothAnim solid geometry without utilizing the alpha channel. This is the fastest default DrawTechnique.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.SmoothAnim_Mask">
<summary>
Renders SmoothAnim alpha-masked solid geometry. This is the recommended DrawTechnique for regular sprite rendering.
If multisampling is available, it is utilized to smooth masked edges.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.SmoothAnim_Add">
<summary>
Renders SmoothAnim additive geometry. Ideal for glow effects.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.SmoothAnim_Alpha">
<summary>
Renders SmoothAnim geometry and using the alpha channel. However, for stencil-sharp alpha edges, <see cref="P:Duality.Resources.DrawTechnique.Mask"/> might
be sufficient and is a lot faster. Consider using it.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.SmoothAnim_Multiply">
<summary>
Renders SmoothAnim geometry multiplying the existing background with incoming color values. Can be used for shadowing effects.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.SmoothAnim_Light">
<summary>
Renders SmoothAnim geometry adding incoming color values weighted based on the existing background. Can be used for lighting effects.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.SmoothAnim_Invert">
<summary>
Renders SmoothAnim geometry inverting the background color.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.Blending">
<summary>
[GET / SET] Specifies how incoming color values interact with the existing background color.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.Shader">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.ShaderProgram"/> that is used for rendering.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.PreferredVertexFormat">
<summary>
[GET / SET] The vertex format that is preferred by this DrawTechnique. If there is no specific preference,
null is returned.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.NeedsZSort">
<summary>
[GET] Returns whether this DrawTechnique requires z sorting. It is derived from its <see cref="P:Duality.Resources.DrawTechnique.Blending"/>.
</summary>
</member>
<member name="P:Duality.Resources.DrawTechnique.NeedsPreparation">
<summary>
[GET] Returns whether this DrawTechnique requires any <see cref="M:Duality.Resources.DrawTechnique.PrepareRendering(Duality.Drawing.IDrawDevice,Duality.Drawing.BatchInfo)">rendering preparation</see>.
This is false for all standard DrawTechniques, but may return true when deriving custom DrawTechniques.
</summary>
</member>
<member name="T:Duality.Resources.FragmentShader">
<summary>
Represents an OpenGL FragmentShader.
</summary>
</member>
<member name="P:Duality.Resources.FragmentShader.Minimal">
<summary>
[GET] A minimal FragmentShader. It performs a texture lookup
and applies vertex-coloring.
</summary>
</member>
<member name="P:Duality.Resources.FragmentShader.Picking">
<summary>
[GET] A FragmentShader designed for picking operations. It uses
the provided texture for alpha output and forwards the incoming RGB color value.
</summary>
</member>
<member name="P:Duality.Resources.FragmentShader.SmoothAnim">
<summary>
[GET] The SmoothAnim FragmentShader. It performs two lookups
on the same texture and blends the results using an incoming float value.
</summary>
</member>
<member name="P:Duality.Resources.FragmentShader.SharpAlpha">
<summary>
[GET] The SharpMask FragmentShader. It enforces an antialiazed sharp mask when upscaling linearly blended textures.
</summary>
</member>
<member name="T:Duality.Resources.Font">
<summary>
Represents a font. While any system font or imported TrueType font can be used, they are internally
pre-rasterized and stored in a <see cref="T:Duality.Resources.Texture"/> with an <see cref="P:Duality.Resources.Pixmap.Atlas"/>.
</summary>
</member>
<member name="M:Duality.Resources.Font.SetGlyphData(Duality.Drawing.PixelData,Duality.Rect[],Duality.Resources.Font.GlyphData[],Duality.Resources.FontMetrics)">
<summary>
Applies a new set of rendered glyphs to the <see cref="T:Duality.Resources.Font"/>, adjusts its typeface metadata and clears out the <see cref="P:Duality.Resources.Font.GlyphsDirty"/> flag.
This method is used by the editor to update a Font after adjusting its properties.
</summary>
<param name="bitmap"></param>
<param name="atlas"></param>
<param name="glyphs"></param>
<param name="metrics"></param>
</member>
<member name="M:Duality.Resources.Font.UpdateKerningData">
<summary>
Updates this Fonts kerning sample data.
</summary>
</member>
<member name="M:Duality.Resources.Font.GetGlyphData(System.Char,Duality.Resources.Font.GlyphData@)">
<summary>
Retrieves information about a single glyph.
</summary>
<param name="glyph">The glyph to retrieve information about.</param>
<param name="data">A struct holding the retrieved information.</param>
<returns>True, if successful, false if the specified glyph is not supported.</returns>
</member>
<member name="M:Duality.Resources.Font.GetGlyphBitmap(System.Char)">
<summary>
Retrieves the rasterized <see cref="T:Duality.Drawing.PixelData"/> for a single glyph.
</summary>
<param name="glyph">The glyph of which to retrieve the Bitmap.</param>
<returns>The Bitmap that has been retrieved, or null if the glyph is not supported.</returns>
</member>
<member name="M:Duality.Resources.Font.EmitTextVertices(System.String,Duality.Drawing.VertexC1P3T2[]@,System.Single,System.Single,System.Single)">
<summary>
Emits a set of vertices based on a text. To render this text, simply use that set of vertices combined with
the Fonts <see cref="P:Duality.Resources.Font.Material"/>.
</summary>
<param name="text">The text to render.</param>
<param name="vertices">The set of vertices that is emitted. You can re-use the same array each frame.</param>
<param name="x">An X-Offset applied to the position of each emitted vertex.</param>
<param name="y">An Y-Offset applied to the position of each emitted vertex.</param>
<param name="z">An Z-Offset applied to the position of each emitted vertex.</param>
<returns>The number of emitted vertices. This values isn't necessarily equal to the emitted arrays length.</returns>
</member>
<member name="M:Duality.Resources.Font.EmitTextVertices(System.String,Duality.Drawing.VertexC1P3T2[]@,System.Single,System.Single,System.Single,Duality.Drawing.ColorRgba,System.Single,System.Single)">
<summary>
Emits a set of vertices based on a text. To render this text, simply use that set of vertices combined with
the Fonts <see cref="P:Duality.Resources.Font.Material"/>.
</summary>
<param name="text">The text to render.</param>
<param name="vertices">The set of vertices that is emitted. You can re-use the same array each frame.</param>
<param name="x">An X-Offset applied to the position of each emitted vertex.</param>
<param name="y">An Y-Offset applied to the position of each emitted vertex.</param>
<param name="z">An Z-Offset applied to the position of each emitted vertex.</param>
<param name="clr">The color value that is applied to each emitted vertex.</param>
<param name="angle">An angle by which the text is rotated (before applying the offset).</param>
<param name="scale">A factor by which the text is scaled (before applying the offset).</param>
<returns>The number of emitted vertices. This values isn't necessarily equal to the emitted arrays length.</returns>
</member>
<member name="M:Duality.Resources.Font.EmitTextVertices(System.String,Duality.Drawing.VertexC1P3T2[]@,System.Single,System.Single,Duality.Drawing.ColorRgba)">
<summary>
Emits a set of vertices based on a text. To render this text, simply use that set of vertices combined with
the Fonts <see cref="P:Duality.Resources.Font.Material"/>.
</summary>
<param name="text">The text to render.</param>
<param name="vertices">The set of vertices that is emitted. You can re-use the same array each frame.</param>
<param name="x">An X-Offset applied to the position of each emitted vertex.</param>
<param name="y">An Y-Offset applied to the position of each emitted vertex.</param>
<param name="clr">The color value that is applied to each emitted vertex.</param>
<returns>The number of emitted vertices. This values isn't necessarily equal to the emitted arrays length.</returns>
</member>
<member name="M:Duality.Resources.Font.EmitTextVertices(System.String,Duality.Drawing.VertexC1P3T2[]@)">
<summary>
Emits a set of vertices based on a text. To render this text, simply use that set of vertices combined with
the Fonts <see cref="P:Duality.Resources.Font.Material"/>.
</summary>
<param name="text">The text to render.</param>
<param name="vertices">The set of vertices that is emitted. You can re-use the same array each frame.</param>
<returns>The number of emitted vertices. This values isn't necessarily equal to the emitted arrays length.</returns>
</member>
<member name="M:Duality.Resources.Font.RenderToBitmap(System.String,Duality.Drawing.PixelData,System.Single,System.Single)">
<summary>
Renders a text to the specified target <see cref="T:Duality.Resources.Pixmap"/> <see cref="T:Duality.Drawing.PixelData"/>.
</summary>
<param name="text"></param>
<param name="target"></param>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:Duality.Resources.Font.RenderToBitmap(System.String,Duality.Drawing.PixelData,System.Single,System.Single,Duality.Drawing.ColorRgba)">
<summary>
Renders a text to the specified target <see cref="T:Duality.Drawing.PixelData"/>.
</summary>
<param name="text"></param>
<param name="target"></param>
<param name="x"></param>
<param name="y"></param>
<param name="clr"></param>
</member>
<member name="M:Duality.Resources.Font.MeasureText(System.String)">
<summary>
Measures the size of a text rendered using this Font.
</summary>
<param name="text">The text to measure.</param>
<returns>The size of the measured text.</returns>
</member>
<member name="M:Duality.Resources.Font.MeasureText(System.String[])">
<summary>
Measures the size of a multiline text rendered using this Font.
</summary>
<param name="text">The text to measure.</param>
<returns>The size of the measured text.</returns>
</member>
<member name="M:Duality.Resources.Font.FitText(System.String,System.Single,Duality.Drawing.FitTextMode)">
<summary>
Returns a text that is cropped to fit a maximum width using this Font.
</summary>
<param name="text">The original text.</param>
<param name="maxWidth">The maximum width it may occupy.</param>
<param name="fitMode">The mode by which the text fitting algorithm operates.</param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Font.MeasureTextGlyph(System.String,System.Int32)">
<summary>
Measures position and size of a specific glyph inside a text.
</summary>
<param name="text">The text that contains the glyph to measure.</param>
<param name="index">The index of the glyph to measure.</param>
<returns>A rectangle that describes the specified glyphs position and size.</returns>
</member>
<member name="M:Duality.Resources.Font.PickTextGlyph(System.String,System.Single,System.Single)">
<summary>
Returns the index of the glyph that is located at a certain location within a text.
</summary>
<param name="text">The text from which to pick a glyph.</param>
<param name="x">X-Coordinate of the position where to look for a glyph.</param>
<param name="y">Y-Coordinate of the position where to look for a glyph.</param>
<returns>The index of the glyph that is located at the specified position.</returns>
</member>
<member name="P:Duality.Resources.Font.GenericMonospace8">
<summary>
A generic <see cref="P:Duality.Resources.Font.MonoSpace">monospace</see> Font (Size 8) that has been loaded from your systems font library.
This is usually "Courier New".
</summary>
</member>
<member name="P:Duality.Resources.Font.GenericMonospace10">
<summary>
A generic <see cref="P:Duality.Resources.Font.MonoSpace">monospace</see> Font (Size 10) that has been loaded from your systems font library.
This is usually "Courier New".
</summary>
</member>
<member name="P:Duality.Resources.Font.Size">
<summary>
[GET] The size of the Font.
</summary>
</member>
<member name="P:Duality.Resources.Font.Style">
<summary>
[GET] The style of the font.
This property is obsolete and will be removed in the next major version step.
</summary>
</member>
<member name="P:Duality.Resources.Font.GlyphRenderMode">
<summary>
[GET / SET] Specifies how the glyphs of this <see cref="T:Duality.Resources.Font"/> are rendered in a text.
</summary>
</member>
<member name="P:Duality.Resources.Font.Material">
<summary>
[GET] The <see cref="T:Duality.Resources.Material"/> to use when rendering text of this Font.
</summary>
</member>
<member name="P:Duality.Resources.Font.CharSpacing">
<summary>
[GET / SET] Additional spacing between each character. This is usually one tenth of the Fonts <see cref="P:Duality.Resources.Font.Size"/>.
</summary>
</member>
<member name="P:Duality.Resources.Font.LineHeightFactor">
<summary>
[GET / SET] A factor for the Fonts <see cref="P:Duality.Resources.Font.Height"/> value that affects line spacings but not actual glyph sizes.
</summary>
</member>
<member name="P:Duality.Resources.Font.MonoSpace">
<summary>
[GET] Whether this is considered a monospace Font. If true, each character occupies exactly the same space.
</summary>
</member>
<member name="P:Duality.Resources.Font.Kerning">
<summary>
[GET / SET] Whether this Font uses kerning, a technique where characters are moved closer together based on their actual shape,
which usually looks much nicer. It has no visual effect when active at the same time with <see cref="P:Duality.Resources.Font.MonoSpace"/>, however
kerning sample data will be available on glyphs.
</summary>
<seealso cref="T:Duality.Resources.Font.GlyphData"/>
</member>
<member name="P:Duality.Resources.Font.GlyphsDirty">
<summary>
[GET] Returns whether this Font requires to re-render its glyphs in order to match the
changes that have been made to its Properties.
This property is obsolete and will be removed in the next major version step.
</summary>
</member>
<member name="P:Duality.Resources.Font.EmbeddedTrueTypeFont">
<summary>
[GET] Returns a chunk of memory that contains this Fonts embedded TrueType data for rendering glyphs.
This property is obsolete and will be removed in the next major version step.
</summary>
</member>
<member name="P:Duality.Resources.Font.IsPixelGridAligned">
<summary>
[GET] Returns whether this Font is (requesting to be) aligned to the pixel grid.
</summary>
</member>
<member name="P:Duality.Resources.Font.Height">
<summary>
[GET] The Fonts height.
</summary>
</member>
<member name="P:Duality.Resources.Font.LineSpacing">
<summary>
[GET] The y offset in pixels between two lines.
</summary>
</member>
<member name="P:Duality.Resources.Font.Ascent">
<summary>
[GET] The Fonts ascent value.
</summary>
</member>
<member name="P:Duality.Resources.Font.BodyAscent">
<summary>
[GET] The Fonts body ascent value.
</summary>
</member>
<member name="P:Duality.Resources.Font.Descent">
<summary>
[GET] The Fonts descent value.
</summary>
</member>
<member name="P:Duality.Resources.Font.BaseLine">
<summary>
[GET] The Fonts base line height.
</summary>
</member>
<member name="P:Duality.Resources.Font.Metrics">
<summary>
[GET] Provides access to various metrics that are inherent to this <see cref="T:Duality.Resources.Font"/> instance,
such as size, height, and various typographic measures.
</summary>
</member>
<member name="T:Duality.Resources.Font.RenderMode">
<summary>
Specifies how a Font is rendered. This affects both internal glyph rasterization and rendering.
</summary>
</member>
<member name="F:Duality.Resources.Font.RenderMode.MonochromeBitmap">
<summary>
A monochrome bitmap is used to store glyphs. Rendering is unfiltered and pixel-perfect.
</summary>
</member>
<member name="F:Duality.Resources.Font.RenderMode.GrayscaleBitmap">
<summary>
A greyscale bitmap is used to store glyphs. Rendering is unfiltered and pixel-perfect.
</summary>
</member>
<member name="F:Duality.Resources.Font.RenderMode.SmoothBitmap">
<summary>
A greyscale bitmap is used to store glyphs. Rendering is properly filtered but may blur text display a little.
</summary>
</member>
<member name="F:Duality.Resources.Font.RenderMode.SharpBitmap">
<summary>
A greyscale bitmap is used to store glyphs. Rendering is properly filtered and uses a shader to enforce sharp masked edges.
</summary>
</member>
<member name="T:Duality.Resources.Font.GlyphData">
<summary>
Contains data about a single glyph.
</summary>
</member>
<member name="F:Duality.Resources.Font.GlyphData.Glyph">
<summary>
The glyph that is encoded.
</summary>
</member>
<member name="F:Duality.Resources.Font.GlyphData.Width">
<summary>
The width of the glyph.
</summary>
</member>
<member name="F:Duality.Resources.Font.GlyphData.Height">
<summary>
The height of the glyph.
</summary>
</member>
<member name="F:Duality.Resources.Font.GlyphData.OffsetX">
<summary>
The glyphs X offset when rendering it.
</summary>
</member>
<member name="F:Duality.Resources.Font.GlyphData.OffsetY">
<summary>
The glyphs Y offset when rendering it.
</summary>
</member>
<member name="F:Duality.Resources.Font.GlyphData.KerningSamplesLeft">
<summary>
The glyphs kerning samples to the left.
</summary>
</member>
<member name="F:Duality.Resources.Font.GlyphData.KerningSamplesRight">
<summary>
The glyphs kerning samples to the right.
</summary>
</member>
<member name="T:Duality.Resources.ShaderProgram">
<summary>
Represents an OpenGL ShaderProgram which consists of a Vertex- and a FragmentShader
</summary>
<seealso cref="T:Duality.Resources.AbstractShader"/>
<seealso cref="T:Duality.Resources.VertexShader"/>
<seealso cref="T:Duality.Resources.FragmentShader"/>
</member>
<member name="M:Duality.Resources.ShaderProgram.#ctor">
<summary>
Creates a new, empty ShaderProgram.
</summary>
</member>
<member name="M:Duality.Resources.ShaderProgram.#ctor(Duality.ContentRef{Duality.Resources.VertexShader},Duality.ContentRef{Duality.Resources.FragmentShader})">
<summary>
Creates a new ShaderProgram based on a <see cref="T:Duality.Resources.VertexShader">Vertex-</see> and a <see cref="T:Duality.Resources.FragmentShader"/>.
</summary>
<param name="v"></param>
<param name="f"></param>
</member>
<member name="M:Duality.Resources.ShaderProgram.Compile">
<summary>
Compiles the ShaderProgram. This is done automatically when loading the ShaderProgram
or when binding it.
</summary>
</member>
<member name="P:Duality.Resources.ShaderProgram.Minimal">
<summary>
A minimal ShaderProgram, using a <see cref="P:Duality.Resources.VertexShader.Minimal"/> VertexShader and
a <see cref="P:Duality.Resources.FragmentShader.Minimal"/> FragmentShader.
</summary>
</member>
<member name="P:Duality.Resources.ShaderProgram.Picking">
<summary>
A ShaderProgram designed for picking operations. It uses a
<see cref="P:Duality.Resources.VertexShader.Minimal"/> VertexShader and a
<see cref="P:Duality.Resources.FragmentShader.Picking"/> FragmentShader.
</summary>
</member>
<member name="P:Duality.Resources.ShaderProgram.SmoothAnim">
<summary>
The SmoothAnim ShaderProgram, using a <see cref="P:Duality.Resources.VertexShader.SmoothAnim"/> VertexShader and
a <see cref="P:Duality.Resources.FragmentShader.SmoothAnim"/> FragmentShader. Some <see cref="T:Duality.Components.Renderer">Renderers</see>
might react automatically to <see cref="T:Duality.Resources.Material">Materials</see> using this ShaderProgram and provide a suitable
vertex format.
</summary>
</member>
<member name="P:Duality.Resources.ShaderProgram.SharpAlpha">
<summary>
The SharpMask ShaderProgram, using a <see cref="P:Duality.Resources.VertexShader.Minimal"/> VertexShader and
a <see cref="P:Duality.Resources.FragmentShader.SharpAlpha"/> FragmentShader.
</summary>
</member>
<member name="P:Duality.Resources.ShaderProgram.Native">
<summary>
[GET] The shaders native backend. Don't use this unless you know exactly what you're doing.
</summary>
</member>
<member name="P:Duality.Resources.ShaderProgram.Compiled">
<summary>
[GET] Returns whether this ShaderProgram has been compiled.
</summary>
</member>
<member name="P:Duality.Resources.ShaderProgram.Fields">
<summary>
[GET] Returns an array containing information about the variables that have been declared in shader source code.
</summary>
</member>
<member name="P:Duality.Resources.ShaderProgram.Vertex">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.VertexShader"/> that is used by this ShaderProgram.
</summary>
</member>
<member name="P:Duality.Resources.ShaderProgram.Fragment">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.FragmentShader"/> that is used by this ShaderProgram.
</summary>
</member>
<member name="T:Duality.Resources.Material">
<summary>
Materials are standardized <see cref="T:Duality.Drawing.BatchInfo">BatchInfos</see>, stored as a Resource.
Just like BatchInfo objects, they describe how an object, represented by a set of vertices,
looks like. Using Materials is generally more performant than using BatchInfos but not always
reasonable, for example when there is a single, unique GameObject with a special appearance:
This is a typical <see cref="T:Duality.Drawing.BatchInfo"/> case.
</summary>
<seealso cref="T:Duality.Drawing.BatchInfo"/>
</member>
<member name="M:Duality.Resources.Material.#ctor">
<summary>
Creates a new Material
</summary>
</member>
<member name="M:Duality.Resources.Material.#ctor(Duality.ContentRef{Duality.Resources.DrawTechnique},Duality.Drawing.ColorRgba,Duality.ContentRef{Duality.Resources.Texture})">
<summary>
Creates a new single-texture Material.
</summary>
<param name="technique">The <see cref="T:Duality.Resources.DrawTechnique"/> to use.</param>
<param name="mainColor">The <see cref="P:Duality.Resources.Material.MainColor"/> to use.</param>
<param name="mainTex">The main <see cref="T:Duality.Resources.Texture"/> to use.</param>
</member>
<member name="M:Duality.Resources.Material.#ctor(Duality.ContentRef{Duality.Resources.DrawTechnique},Duality.Drawing.ColorRgba,System.Collections.Generic.Dictionary{System.String,Duality.ContentRef{Duality.Resources.Texture}},System.Collections.Generic.Dictionary{System.String,System.Single[]})">
<summary>
Creates a new complex Material.
</summary>
<param name="technique">The <see cref="T:Duality.Resources.DrawTechnique"/> to use.</param>
<param name="mainColor">The <see cref="P:Duality.Resources.Material.MainColor"/> to use.</param>
<param name="textures">A set of <see cref="T:Duality.Resources.Texture">Textures</see> to use.</param>
<param name="uniforms">A set of <see cref="T:Duality.Resources.ShaderFieldInfo">uniform values</see> to use.</param>
</member>
<member name="M:Duality.Resources.Material.#ctor(Duality.Drawing.BatchInfo)">
<summary>
Creates a new Material based on the specified BatchInfo
</summary>
<param name="info"></param>
</member>
<member name="M:Duality.Resources.Material.GetTexture(System.String)">
<summary>
Gets a texture by name. Returns a null reference if the name doesn't exist.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Material.SetTexture(System.String,Duality.ContentRef{Duality.Resources.Texture})">
<summary>
Sets a texture within the Material.
</summary>
<param name="name"></param>
<param name="tex"></param>
</member>
<member name="M:Duality.Resources.Material.GetUniform(System.String)">
<summary>
Gets a uniform by name. Returns a null reference if the name doesn't exist.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Material.SetUniform(System.String,System.Single[])">
<summary>
Sets a uniform value within the Material.
</summary>
<param name="name"></param>
<param name="uniform"></param>
</member>
<member name="M:Duality.Resources.Material.SetUniform(System.String,System.Int32,System.Single)">
<summary>
Sets a uniform value within the Material.
</summary>
<param name="name"></param>
<param name="index"></param>
<param name="uniformVal"></param>
</member>
<member name="P:Duality.Resources.Material.SolidWhite">
<summary>
A solid, white Material.
</summary>
</member>
<member name="P:Duality.Resources.Material.SolidBlack">
<summary>
A solid, black Material.
</summary>
</member>
<member name="P:Duality.Resources.Material.InvertWhite">
<summary>
A Material that inverts its background.
</summary>
</member>
<member name="P:Duality.Resources.Material.DualityIcon">
<summary>
A Material showing the Duality icon.
</summary>
</member>
<member name="P:Duality.Resources.Material.DualityIconB">
<summary>
A Material showing the Duality icon, but without the text on it.
</summary>
</member>
<member name="P:Duality.Resources.Material.DualityLogoBig">
<summary>
A Material showing the Duality logo.
</summary>
</member>
<member name="P:Duality.Resources.Material.DualityLogoMedium">
<summary>
A Material showing the Duality logo.
</summary>
</member>
<member name="P:Duality.Resources.Material.DualityLogoSmall">
<summary>
A Material showing the Duality logo.
</summary>
</member>
<member name="P:Duality.Resources.Material.Checkerboard">
<summary>
A Material showing a black and white checkerboard.
</summary>
</member>
<member name="P:Duality.Resources.Material.Info">
<summary>
[GET] Returns a new <see cref="T:Duality.Drawing.BatchInfo"/> object that mirrors the Materials current settings.
</summary>
</member>
<member name="P:Duality.Resources.Material.InfoDirect">
<summary>
[GET] Returns the Materials internal <see cref="T:Duality.Drawing.BatchInfo"/> instance that is used for rendering and holds its actual data.
</summary>
</member>
<member name="P:Duality.Resources.Material.Technique">
<summary>
[GET / SET] The <see cref="T:Duality.Resources.DrawTechnique"/> that is used.
</summary>
</member>
<member name="P:Duality.Resources.Material.MainColor">
<summary>
[GET / SET] The main color, typically used for coloring displayed vertices.
</summary>
</member>
<member name="P:Duality.Resources.Material.Textures">
<summary>
[GET / SET] The set of <see cref="T:Duality.Resources.Texture">Textures</see> to use.
</summary>
</member>
<member name="P:Duality.Resources.Material.MainTexture">
<summary>
[GET / SET] The Materials main texture.
</summary>
</member>
<member name="P:Duality.Resources.Material.Uniforms">
<summary>
[GET / SET] The set of <see cref="T:Duality.Resources.ShaderFieldInfo">uniform values</see> to use.
</summary>
</member>
<member name="T:Duality.Resources.RenderTarget">
<summary>
Instead of rendering to screen, RenderTargets can serve as an alternative drawing surface for a <see cref="T:Duality.Components.Camera"/>.
The image is applied to one or several <see cref="T:Duality.Resources.Texture">Textures</see>. By default, only the first attached Texture
is actually used, but you can use a custom <see cref="T:Duality.Resources.FragmentShader"/> to use all available Textures for storing
information.
</summary>
<seealso cref="T:Duality.Resources.Texture"/>
</member>
<member name="M:Duality.Resources.RenderTarget.#ctor">
<summary>
Creates a new, empty RenderTarget
</summary>
</member>
<member name="M:Duality.Resources.RenderTarget.#ctor(Duality.AAQuality,Duality.ContentRef{Duality.Resources.Texture}[])">
<summary>
Creates a new RenderTarget based on a set of <see cref="T:Duality.Resources.Texture">Textures</see>
</summary>
<param name="multisampling">The level of multisampling that is requested from this RenderTarget.</param>
<param name="targets">An array of <see cref="T:Duality.Resources.Texture">Textures</see> used as data destination.</param>
</member>
<member name="M:Duality.Resources.RenderTarget.SetupTarget">
<summary>
Sets up this RenderTarget, so it can be actively used. This is done automatically - unless
one of the target textures gets resized or set up with different parameters after this
target was already initialized, you shouldn't need to call this.
</summary>
</member>
<member name="M:Duality.Resources.RenderTarget.GetPixelData(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Retrieves the pixel data that is currently stored in video memory.
</summary>
<param name="targetIndex">The <see cref="P:Duality.Resources.RenderTarget.Targets"/> index to read from.</param>
<param name="x">The x position of the rectangular area to read.</param>
<param name="y">The y position of the rectangular area to read.</param>
<param name="width">The width of the rectangular area to read. Defaults to the <see cref="T:Duality.Resources.RenderTarget"/> <see cref="P:Duality.Resources.RenderTarget.Width"/>.</param>
<param name="height">The height of the rectangular area to read. Defaults to the <see cref="T:Duality.Resources.RenderTarget"/> <see cref="P:Duality.Resources.RenderTarget.Height"/>.</param>
</member>
<member name="M:Duality.Resources.RenderTarget.GetPixelData(Duality.Drawing.PixelData,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Retrieves the pixel data that is currently stored in video memory.
</summary>
<param name="target">The target image to store the retrieved pixel data in.</param>
<param name="targetIndex">The <see cref="P:Duality.Resources.RenderTarget.Targets"/> index to read from.</param>
<param name="x">The x position of the rectangular area to read.</param>
<param name="y">The y position of the rectangular area to read.</param>
<param name="width">The width of the rectangular area to read. Defaults to the <see cref="T:Duality.Resources.RenderTarget"/> <see cref="P:Duality.Resources.RenderTarget.Width"/>.</param>
<param name="height">The height of the rectangular area to read. Defaults to the <see cref="T:Duality.Resources.RenderTarget"/> <see cref="P:Duality.Resources.RenderTarget.Height"/>.</param>
</member>
<member name="M:Duality.Resources.RenderTarget.GetPixelData``1(``0[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Retrieves the pixel data that is currently stored in video memory.
</summary>
<param name="buffer">The buffer (Rgba8 format) to store all the pixel data in. Its byte length needs to be at least width * height * 4.</param>
<param name="targetIndex">The <see cref="P:Duality.Resources.RenderTarget.Targets"/> index to read from.</param>
<param name="x">The x position of the rectangular area to read.</param>
<param name="y">The y position of the rectangular area to read.</param>
<param name="width">The width of the rectangular area to read. Defaults to the <see cref="T:Duality.Resources.RenderTarget"/> <see cref="P:Duality.Resources.RenderTarget.Width"/>.</param>
<param name="height">The height of the rectangular area to read. Defaults to the <see cref="T:Duality.Resources.RenderTarget"/> <see cref="P:Duality.Resources.RenderTarget.Height"/>.</param>
<returns>The number of bytes that were read.</returns>
</member>
<member name="M:Duality.Resources.RenderTarget.FreeNativeRes">
<summary>
Frees up any native resources that this RenderTarget might have occupied.
</summary>
</member>
<member name="M:Duality.Resources.RenderTarget.SetupNativeRes">
<summary>
Sets up all necessary native resources for this RenderTarget.
</summary>
</member>
<member name="P:Duality.Resources.RenderTarget.Native">
<summary>
[GET] The backends native rendering target. You shouldn't use this unless you know exactly what you're doing.
</summary>
</member>
<member name="P:Duality.Resources.RenderTarget.Multisampling">
<summary>
[GET / SET] Whether this RenderTarget is multisampled.
</summary>
</member>
<member name="P:Duality.Resources.RenderTarget.Targets">
<summary>
[GET / SET] An array of <see cref="T:Duality.Resources.Texture">Textures</see> used as data
destination by this RenderTarget.
</summary>
</member>
<member name="P:Duality.Resources.RenderTarget.Width">
<summary>
[GET] Width of this RenderTarget. This values is derived by its <see cref="P:Duality.Resources.RenderTarget.Targets"/>.
</summary>
</member>
<member name="P:Duality.Resources.RenderTarget.Height">
<summary>
[GET] Height of this RenderTarget. This values is derived by its <see cref="P:Duality.Resources.RenderTarget.Targets"/>.
</summary>
</member>
<member name="P:Duality.Resources.RenderTarget.UVRatio">
<summary>
[GET] UVRatio of this RenderTarget. This values is derived by its <see cref="P:Duality.Resources.RenderTarget.Targets"/>.
</summary>
</member>
<member name="T:Duality.Resources.Sound">
<summary>
A Sound is parameterized <see cref="T:Duality.Resources.AudioData"/>. Note that a Sound
Resource does not contain any kind of audio data by itsself.
</summary>
<example>
While there may be one AudioData Resource sounding like an Explosion effect, there could
be many Sounds referring to it, like a very loud or very quiet Explosion or one that is
noticable on higher distance than others.
</example>
<seealso cref="T:Duality.Resources.AudioData"/>
</member>
<member name="M:Duality.Resources.Sound.#ctor">
<summary>
Creates a new, empty sound. Since it does not refer to any <see cref="T:Duality.Resources.AudioData"/> yet,
it can't be played.
</summary>
</member>
<member name="M:Duality.Resources.Sound.#ctor(Duality.ContentRef{Duality.Resources.AudioData})">
<summary>
Creates a new Sound referring to an existing <see cref="T:Duality.Resources.AudioData"/>.
</summary>
<param name="baseData"></param>
</member>
<member name="M:Duality.Resources.Sound.#ctor(System.Collections.Generic.IEnumerable{Duality.ContentRef{Duality.Resources.AudioData}})">
<summary>
Creates a new Sound referring to an existing set of <see cref="T:Duality.Resources.AudioData"/>.
</summary>
<param name="baseData"></param>
</member>
<member name="M:Duality.Resources.Sound.FetchData">
<summary>
Upon playing the Sound, this method is called once to determine which of the referenced
<see cref="T:Duality.Resources.AudioData"/> objects is to be played.
</summary>
<returns></returns>
</member>
<member name="P:Duality.Resources.Sound.Beep">
<summary>
[GET] A simple beep Sound.
</summary>
</member>
<member name="P:Duality.Resources.Sound.Data">
<summary>
[GET / SET] A collection of <see cref="T:Duality.Resources.AudioData"/>, which are used by this Sound.
</summary>
</member>
<member name="P:Duality.Resources.Sound.MainData">
<summary>
[GET / SET] The main source <see cref="T:Duality.Resources.AudioData"/> that is used by this Sound.
</summary>
</member>
<member name="P:Duality.Resources.Sound.Type">
<summary>
[GET / SET] The category to which this Sound belongs.
</summary>
</member>
<member name="P:Duality.Resources.Sound.MaxInstances">
<summary>
[GET / SET] Maximum number of <see cref="T:Duality.Audio.SoundInstance">SoundInstances</see> of this Sound that can
play simultaneously. If exceeded, any new instances of it are discarded.
</summary>
</member>
<member name="P:Duality.Resources.Sound.VolumeFactor">
<summary>
[GET / SET] A volume factor that is applied when playing this sound.
</summary>
</member>
<member name="P:Duality.Resources.Sound.PitchFactor">
<summary>
[GET / SET] A pitch factor that is applied when playing this sound.
</summary>
</member>
<member name="P:Duality.Resources.Sound.LowpassFactor">
<summary>
[GET / SET] A lowpass factor that is applied when playing this sound.
</summary>
</member>
<member name="P:Duality.Resources.Sound.FadeOutAt">
<summary>
[GET / SET] Play time in seconds at which <see cref="T:Duality.Audio.SoundInstance">SoundInstances</see> of this Sound
automatically fade out.
</summary>
</member>
<member name="P:Duality.Resources.Sound.FadeOutTime">
<summary>
[GET / SET] If <see cref="P:Duality.Resources.Sound.FadeOutAt"/> has been triggered, this is the fade out time in seconds that is used.
</summary>
</member>
<member name="P:Duality.Resources.Sound.MinDistFactor">
<summary>
[GET / SET] The distance at which the sound is played at full volume. Getting nearer to the source won't increase the volume anymore.
Note that the value is a factor to <see cref="P:Duality.Audio.SoundDevice.DefaultMinDist"/>.
</summary>
<seealso cref="P:Duality.Resources.Sound.MinDist"/>
</member>
<member name="P:Duality.Resources.Sound.MaxDistFactor">
<summary>
[GET / SET] The distance at which the sound is played at zero volume.
Note that the value is a factor to <see cref="P:Duality.Audio.SoundDevice.DefaultMaxDist"/>.
</summary>
<seealso cref="P:Duality.Resources.Sound.MaxDist"/>
</member>
<member name="P:Duality.Resources.Sound.MinDist">
<summary>
[GET / SET] The distance at which the sound is played at full volume. Getting nearer to the source won't increase the volume anymore.
</summary>
<seealso cref="P:Duality.Resources.Sound.MinDistFactor"/>
</member>
<member name="P:Duality.Resources.Sound.MaxDist">
<summary>
[GET / SET] The distance at which the sound is played at zero volume.
</summary>
<seealso cref="P:Duality.Resources.Sound.MaxDistFactor"/>
</member>
<member name="T:Duality.Resources.Texture">
<summary>
A Texture refers to pixel data stored in video memory
</summary>
<seealso cref="T:Duality.Resources.Pixmap"/>
<seealso cref="T:Duality.Resources.RenderTarget"/>
</member>
<member name="M:Duality.Resources.Texture.#ctor">
<summary>
Sets up a new, uninitialized Texture.
</summary>
</member>
<member name="M:Duality.Resources.Texture.#ctor(Duality.ContentRef{Duality.Resources.Pixmap},Duality.Drawing.TextureSizeMode,Duality.Drawing.TextureMagFilter,Duality.Drawing.TextureMinFilter,Duality.Drawing.TextureWrapMode,Duality.Drawing.TextureWrapMode,Duality.Drawing.TexturePixelFormat)">
<summary>
Creates a new Texture based on a <see cref="T:Duality.Resources.Pixmap"/>.
</summary>
<param name="basePixmap">The <see cref="T:Duality.Resources.Pixmap"/> to use as source for pixel data.</param>
<param name="sizeMode">Specifies behaviour in case the source data has non-power-of-two dimensions.</param>
<param name="filterMag">The OpenGL filter mode for drawing the Texture bigger than it is.</param>
<param name="filterMin">The OpenGL fitler mode for drawing the Texture smaller than it is.</param>
<param name="wrapX">The OpenGL wrap mode on the texel x axis.</param>
<param name="wrapY">The OpenGL wrap mode on the texel y axis.</param>
<param name="format">The format in which OpenGL stores the pixel data.</param>
</member>
<member name="M:Duality.Resources.Texture.#ctor(System.Int32,System.Int32,Duality.Drawing.TextureSizeMode,Duality.Drawing.TextureMagFilter,Duality.Drawing.TextureMinFilter,Duality.Drawing.TextureWrapMode,Duality.Drawing.TextureWrapMode,Duality.Drawing.TexturePixelFormat)">
<summary>
Creates a new empty Texture with the specified size.
</summary>
<param name="width">The Textures width.</param>
<param name="height">The Textures height</param>
<param name="sizeMode">Specifies behaviour in case the specified size has non-power-of-two dimensions.</param>
<param name="filterMag">The OpenGL filter mode for drawing the Texture bigger than it is.</param>
<param name="filterMin">The OpenGL fitler mode for drawing the Texture smaller than it is.</param>
<param name="wrapX">The OpenGL wrap mode on the texel x axis.</param>
<param name="wrapY">The OpenGL wrap mode on the texel y axis.</param>
<param name="format">The format in which OpenGL stores the pixel data.</param>
</member>
<member name="M:Duality.Resources.Texture.ReloadData">
<summary>
Reloads this Textures pixel data. If the referred <see cref="T:Duality.Resources.Pixmap"/> has been modified,
changes will now be visible.
</summary>
</member>
<member name="M:Duality.Resources.Texture.LoadData(Duality.ContentRef{Duality.Resources.Pixmap})">
<summary>
Loads the specified <see cref="T:Duality.Resources.Pixmap">Pixmaps</see> pixel data.
</summary>
<param name="basePixmap">The <see cref="T:Duality.Resources.Pixmap"/> that is used as pixel data source.</param>
</member>
<member name="M:Duality.Resources.Texture.LoadData(Duality.ContentRef{Duality.Resources.Pixmap},Duality.Drawing.TextureSizeMode)">
<summary>
Loads the specified <see cref="T:Duality.Resources.Pixmap">Pixmaps</see> pixel data.
</summary>
<param name="basePixmap">The <see cref="T:Duality.Resources.Pixmap"/> that is used as pixel data source.</param>
<param name="sizeMode">Specifies behaviour in case the source data has non-power-of-two dimensions.</param>
</member>
<member name="M:Duality.Resources.Texture.GetPixelData">
<summary>
Retrieves the pixel data that is currently stored in video memory.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Resources.Texture.GetPixelData(Duality.Drawing.PixelData)">
<summary>
Retrieves the pixel data that is currently stored in video memory.
</summary>
<param name="target">The target image to store the retrieved pixel data in.</param>
</member>
<member name="M:Duality.Resources.Texture.GetPixelData``1(``0[])">
<summary>
Retrieves the pixel data that is currently stored in video memory.
</summary>
<param name="targetBuffer">The buffer (Rgba8 format) to store all the pixel data in.
Its byte length should be at least <see cref="P:Duality.Resources.Texture.TexelWidth"/> * <see cref="P:Duality.Resources.Texture.TexelHeight"/> * 4.</param>
<returns>The number of bytes that were read.</returns>
</member>
<member name="M:Duality.Resources.Texture.LookupAtlas(System.Int32,Duality.Rect@)">
<summary>
Does a safe (null-checked, clamped) texture <see cref="P:Duality.Resources.Pixmap.Atlas"/> lookup.
</summary>
<param name="index"></param>
<param name="uv"></param>
</member>
<member name="M:Duality.Resources.Texture.LookupAtlas(System.Int32)">
<summary>
Does a safe (null-checked, clamped) texture <see cref="P:Duality.Resources.Pixmap.Atlas"/> lookup.
</summary>
<param name="index"></param>
</member>
<member name="M:Duality.Resources.Texture.AdjustSize(System.Single,System.Single)">
<summary>
Processes the specified size based on the Textures <see cref="T:Duality.Drawing.TextureSizeMode"/>.
</summary>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.Resources.Texture.SetupNativeRes">
<summary>
Sets up the Textures OpenGL resources, clearing previously uploaded pixel data.
</summary>
</member>
<member name="P:Duality.Resources.Texture.DualityIcon">
<summary>
[GET] A Texture showing the Duality icon.
</summary>
</member>
<member name="P:Duality.Resources.Texture.DualityIconB">
<summary>
[GET] A Texture showing the Duality icon without the text on it.
</summary>
</member>
<member name="P:Duality.Resources.Texture.DualityLogoBig">
<summary>
A Texture showing the Duality logo.
</summary>
</member>
<member name="P:Duality.Resources.Texture.DualityLogoMedium">
<summary>
A Texture showing the Duality logo.
</summary>
</member>
<member name="P:Duality.Resources.Texture.DualityLogoSmall">
<summary>
A Texture showing the Duality logo.
</summary>
</member>
<member name="P:Duality.Resources.Texture.White">
<summary>
[GET] A plain white 1x1 Texture. Can be used as a dummy.
</summary>
</member>
<member name="P:Duality.Resources.Texture.Checkerboard">
<summary>
[GET] A 256x256 black and white checkerboard texture.
</summary>
</member>
<member name="P:Duality.Resources.Texture.TexelWidth">
<summary>
[GET] The Textures internal texel width
</summary>
</member>
<member name="P:Duality.Resources.Texture.TexelHeight">
<summary>
[GET] The Textures internal texel height
</summary>
</member>
<member name="P:Duality.Resources.Texture.PixelWidth">
<summary>
[GET] The Textures original pixel width
</summary>
</member>
<member name="P:Duality.Resources.Texture.PixelHeight">
<summary>
[GET] The Textures original pixel height
</summary>
</member>
<member name="P:Duality.Resources.Texture.Native">
<summary>
[GET] The backends native texture. You shouldn't use this unless you know exactly what you're doing.
</summary>
</member>
<member name="P:Duality.Resources.Texture.UVRatio">
<summary>
[GET] UV (Texture) coordinates for the Textures lower right
</summary>
</member>
<member name="P:Duality.Resources.Texture.HasMipmaps">
<summary>
[GET] Returns whether or not the texture uses mipmaps.
</summary>
</member>
<member name="P:Duality.Resources.Texture.NeedsReload">
<summary>
Indicates that the textures parameters have been changed in a way that will make it
necessary to reload its data before using it next time.
</summary>
</member>
<member name="P:Duality.Resources.Texture.Size">
<summary>
[GET / SET] The Textures size. Readonly, when created from a <see cref="P:Duality.Resources.Texture.BasePixmap"/>.
</summary>
</member>
<member name="P:Duality.Resources.Texture.FilterMag">
<summary>
[GET / SET] The Textures magnifying filter
</summary>
</member>
<member name="P:Duality.Resources.Texture.FilterMin">
<summary>
[GET / SET] The Textures minifying filter
</summary>
</member>
<member name="P:Duality.Resources.Texture.AnisotropicFilter">
<summary>
[GET / SET] Specifies whether this texture uses anisotropic filtering.
</summary>
</member>
<member name="P:Duality.Resources.Texture.WrapX">
<summary>
[GET / SET] The Textures horizontal wrap mode
</summary>
</member>
<member name="P:Duality.Resources.Texture.WrapY">
<summary>
[GET / SET] The Textures vertical wrap mode
</summary>
</member>
<member name="P:Duality.Resources.Texture.PixelFormat">
<summary>
[GET / SET] The Textures pixel format
</summary>
</member>
<member name="P:Duality.Resources.Texture.TexSizeMode">
<summary>
[GET / SET] Handles how the Textures base Pixmap is adjusted in order to fit GPU texture size requirements (Power of Two dimensions)
</summary>
</member>
<member name="P:Duality.Resources.Texture.BasePixmap">
<summary>
[GET / SET] Reference to a Pixmap that contains the pixel data that is or has been uploaded to the Texture
</summary>
</member>
<member name="T:Duality.Resources.Pixmap">
<summary>
A Pixmap stores pixel data in system memory.
</summary>
<seealso cref="T:Duality.Resources.Texture"/>
</member>
<member name="M:Duality.Resources.Pixmap.#ctor">
<summary>
Creates a new, empty Pixmap.
</summary>
</member>
<member name="M:Duality.Resources.Pixmap.#ctor(Duality.Drawing.PixelData)">
<summary>
Creates a new Pixmap from the specified <see cref="T:Duality.Drawing.PixelData"/>.
</summary>
<param name="image"></param>
</member>
<member name="M:Duality.Resources.Pixmap.GenerateAnimAtlas(System.Int32,System.Int32,System.Int32)">
<summary>
Generates a <see cref="P:Duality.Resources.Pixmap.Atlas">pixmap atlas</see> for sprite animations but leaves
previously existing atlas entries as they are, if possible. An automatically generated
pixmap atlas will always occupy the first indices, followed by custom atlas entries.
</summary>
<param name="cols">The number of columns in an animated sprite Pixmap</param>
<param name="rows">The number of rows in an animated sprite Pixmap</param>
</member>
<member name="M:Duality.Resources.Pixmap.LookupAtlas(System.Int32,Duality.Rect@)">
<summary>
Does a safe (null-checked, clamped) pixmap <see cref="P:Duality.Resources.Pixmap.Atlas"/> lookup.
</summary>
<param name="index"></param>
<param name="region"></param>
</member>
<member name="M:Duality.Resources.Pixmap.LookupAtlas(System.Int32)">
<summary>
Does a safe (null-checked, clamped) pixmap <see cref="P:Duality.Resources.Pixmap.Atlas"/> lookup.
</summary>
<param name="index"></param>
</member>
<member name="P:Duality.Resources.Pixmap.DualityIcon">
<summary>
[GET] A Pixmap showing the Duality icon.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.DualityIconB">
<summary>
[GET] A Pixmap showing the Duality icon without the text on it.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.DualityLogoBig">
<summary>
A Pixmap showing the Duality logo.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.DualityLogoMedium">
<summary>
A Pixmap showing the Duality logo.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.DualityLogoSmall">
<summary>
A Pixmap showing the Duality logo.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.White">
<summary>
[GET] A plain white 1x1 Pixmap. Can be used as a dummy.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.Checkerboard">
<summary>
[GET] A 256x256 black and white checkerboard image.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.MainLayer">
<summary>
[GET / SET] The main <see cref="T:Duality.Drawing.PixelData"/> layer of this <see cref="T:Duality.Resources.Pixmap"/>.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.PixelData">
<summary>
[GET / SET] A list of <see cref="T:Duality.Drawing.PixelData"/> layers.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.Width">
<summary>
[GET] The Width of the actual pixel data.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.Height">
<summary>
[GET] The Height of the actual pixel data.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.Atlas">
<summary>
[GET / SET] The Pixmaps atlas array, distinguishing different areas in pixel coordinates
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.AnimFrameBorder">
<summary>
[GET / SET] Pixel size of the border around each individual animation frame.
within the image.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.AnimCols">
<summary>
[GET / SET] Information about different animation frames contained in this Pixmap.
Setting this will lead to an auto-generated atlas map according to the animation.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.AnimRows">
<summary>
[GET / SET] Information about different animation frames contained in this Pixmap.
Setting this will lead to an auto-generated atlas map according to the animation.
</summary>
</member>
<member name="P:Duality.Resources.Pixmap.AnimFrames">
<summary>
[GET] Total number of animation frames in this Pixmap
</summary>
</member>
<member name="T:Duality.Resources.Prefab">
<summary>
Prefab is short for "prefabricated object" and encapsulates a single <see cref="T:Duality.GameObject"/> that can serve as a template.
When creating a GameObject out of a Prefab, it maintains a connection to it using a <see cref="T:Duality.Resources.PrefabLink"/> object. This
ensures that changes made to the Prefab propagate to all of its instances as well. It also keeps track of Properties that
have been deliberately modified in the editor and restores them after re-applying the original Prefabs data.
</summary>
</member>
<member name="M:Duality.Resources.Prefab.#ctor">
<summary>
Creates a new, empty Prefab.
</summary>
</member>
<member name="M:Duality.Resources.Prefab.#ctor(Duality.GameObject)">
<summary>
Creates a new Prefab out of a GameObject.
</summary>
<param name="obj"></param>
</member>
<member name="M:Duality.Resources.Prefab.Inject(Duality.GameObject)">
<summary>
Discards previous data and injects the specified <see cref="T:Duality.GameObject"/> into the Prefab.
The GameObject itsself will not be affected, instead a <see cref="M:Duality.GameObject.Clone"/> of it
will be used for the Prefab.
</summary>
<param name="obj">The object to inject as Prefab root object.</param>
</member>
<member name="M:Duality.Resources.Prefab.Instantiate">
<summary>
Creates a new instance of the Prefab. You will need to add it to a Scene in most cases.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Resources.Prefab.Instantiate(Duality.Vector3,System.Single,System.Single)">
<summary>
Creates a new instance of the Prefab with specified world space transform values.
This is a convenience method that calls <see cref="M:Duality.Resources.Prefab.Instantiate"/> and modifies the resulting
object, in case it contains a Transform Component.
</summary>
<param name="position"></param>
<param name="angle"></param>
<param name="scale"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Prefab.CopyTo(Duality.GameObject)">
<summary>
Copies this Prefabs data to a GameObject without linking itsself to it.
</summary>
<param name="obj">The GameObject to which the Prefabs data is copied.</param>
</member>
<member name="M:Duality.Resources.Prefab.CopyTo(System.Collections.Generic.IEnumerable{System.Int32},Duality.Component)">
<summary>
Copies a subset of this Prefabs data to a specific Component.
</summary>
<param name="baseObjAddress">The GameObject IndexPath to locate the source Component</param>
<param name="target">The Component to which the Prefabs data is copied.</param>
</member>
<member name="M:Duality.Resources.Prefab.HasGameObject(System.Collections.Generic.IEnumerable{System.Int32})">
<summary>
Returns whether this Prefab contains a <see cref="T:Duality.GameObject"/> with the specified <see cref="M:Duality.GameObject.IndexPathOfChild(Duality.GameObject)">index path</see>.
It is based on this Prefabs root GameObject.
</summary>
<param name="indexPath">The <see cref="M:Duality.GameObject.IndexPathOfChild(Duality.GameObject)">index path</see> at which to search for a GameObject.</param>
<returns>True, if such child GameObjects exists, false if not.</returns>
</member>
<member name="M:Duality.Resources.Prefab.HasComponent(System.Collections.Generic.IEnumerable{System.Int32},System.Type)">
<summary>
Returns whether this Prefab contains a <see cref="T:Duality.Component"/> inside a GameObject with the specified <see cref="M:Duality.GameObject.IndexPathOfChild(Duality.GameObject)">index path</see>.
It is based on this Prefabs root GameObject.
</summary>
<param name="gameObjIndexPath">The <see cref="M:Duality.GameObject.IndexPathOfChild(Duality.GameObject)">index path</see> at which to search for a GameObject.</param>
<param name="cmpType">The Component type to search for inside the found GameObject.</param>
<returns></returns>
</member>
<member name="P:Duality.Resources.Prefab.ContainsData">
<summary>
[GET] Returns whether this Prefab contains any data.
</summary>
</member>
<member name="T:Duality.Resources.PrefabLink">
<summary>
Represents a <see cref="T:Duality.GameObject">GameObjects</see> connection to the <see cref="P:Duality.Resources.PrefabLink.Prefab"/> it has been instanciated from.
</summary>
<seealso cref="P:Duality.Resources.PrefabLink.Prefab"/>
<seealso cref="T:Duality.GameObject"/>
</member>
<member name="M:Duality.Resources.PrefabLink.#ctor(Duality.GameObject,Duality.ContentRef{Duality.Resources.Prefab})">
<summary>
Creates a new PrefabLink, connecting a GameObject to a Prefab.
</summary>
<param name="obj">The GameObject to link.</param>
<param name="prefab">The Prefab to connect the GameObject with.</param>
</member>
<member name="M:Duality.Resources.PrefabLink.RelocateChanges(Duality.Resources.PrefabLink)">
<summary>
Relocates the internal change list from this PrefabLink to a different, hierarchially lower PrefabLink.
</summary>
<param name="other">
The PrefabLink to which to relocate changes. It needs to be hierarchially lower than
this one for the relocation to succeed.
</param>
<remarks>
<para>
In general, each PrefabLink is responsible for all hierarchially lower GameObjects. If one of them has
a PrefabLink on its own, then the higher PrefabLinks responsibility ends there.
</para>
<para>
Change relocation is done when linking an existing GameObject to a Prefab although it is already affected by a
hierarchially higher PrefabLink. In order to prevent both PrefabLinks to interfere with each other,
all higher PrefabLink change list entries referring to that GameObject are relocated to the new, lower
PrefabLink that is specifically targetting it.
</para>
<para>
This way, the above responsibility guideline remains applicable.
</para>
</remarks>
</member>
<member name="M:Duality.Resources.PrefabLink.Clone(Duality.GameObject,Duality.ContentRef{Duality.Resources.Prefab})">
<summary>
Clones the PrefabLink, but targets a different GameObject and Prefab.
</summary>
<param name="newObj">The GameObject which the clone is connected to.</param>
<param name="newPrefab">The Prefab which the clone will connect its GameObject to.</param>
<returns>A cloned version of this PrefabLink</returns>
</member>
<member name="M:Duality.Resources.PrefabLink.Clone(Duality.GameObject)">
<summary>
Clones the PrefabLink, but targets a different GameObject.
</summary>
<param name="newObj">The GameObject which the clone is connected to.</param>
<returns>A cloned version of this PrefabLink</returns>
</member>
<member name="M:Duality.Resources.PrefabLink.Clone">
<summary>
Clones the PrefabLink.
</summary>
<returns>A cloned version of this PrefabLink</returns>
</member>
<member name="M:Duality.Resources.PrefabLink.Apply">
<summary>
Applies both Prefab and change list to this PrefabLinks GameObject.
</summary>
</member>
<member name="M:Duality.Resources.PrefabLink.ApplyPrefab">
<summary>
Applies the Prefab to this PrefabLinks GameObject. This will overwrite
all of its existing data and establish the state as defined in the Prefab.
</summary>
</member>
<member name="M:Duality.Resources.PrefabLink.ApplyChanges">
<summary>
Applies this PrefabLinks change list to its GameObject. This will restore
all deliberate modifications (made in the editor) of the GameObjects Properties
after linking it to the Prefab.
</summary>
</member>
<member name="M:Duality.Resources.PrefabLink.UpdateChanges">
<summary>
Updates all existing change list entries by the GameObjects current Property values.
</summary>
</member>
<member name="M:Duality.Resources.PrefabLink.PushChange(System.Object,System.Reflection.PropertyInfo,System.Object)">
<summary>
Creates a new change list entry.
</summary>
<param name="target">The target object in which the change has been made. Must be a GameObject or Component.</param>
<param name="prop">The target objects <see cref="T:System.Reflection.PropertyInfo">Property</see> that has been changed.</param>
<param name="value">The value to which the specified Property has been changed to.</param>
</member>
<member name="M:Duality.Resources.PrefabLink.PushChange(System.Object,System.Reflection.PropertyInfo)">
<summary>
Creates a new change list entry.
</summary>
<param name="target">The target object in which the change has been made. Must be a GameObject or Component.</param>
<param name="prop">The target objects <see cref="T:System.Reflection.PropertyInfo">Property</see> that has been changed.</param>
</member>
<member name="M:Duality.Resources.PrefabLink.PopChange(System.Object,System.Reflection.PropertyInfo)">
<summary>
Removes an existing change list entry.
</summary>
<param name="target">The target object in which the change has been made. Must be a GameObject or Component.</param>
<param name="prop">The target objects <see cref="T:System.Reflection.PropertyInfo">Property</see> that has been changed.</param>
</member>
<member name="M:Duality.Resources.PrefabLink.HasChange(System.Object,System.Reflection.PropertyInfo)">
<summary>
Returns whether there is a specific change list entry.
</summary>
<param name="target">The target object in which the change has been made. Must be a GameObject or Component.</param>
<param name="prop">The target objects <see cref="T:System.Reflection.PropertyInfo">Property</see> that has been changed.</param>
<returns>True, if such change list entry exists, false if not.</returns>
</member>
<member name="M:Duality.Resources.PrefabLink.ClearChanges">
<summary>
Clears the change list.
</summary>
</member>
<member name="M:Duality.Resources.PrefabLink.ClearChanges(Duality.GameObject,System.Reflection.TypeInfo,System.Reflection.PropertyInfo)">
<summary>
Clears the change list for certain objects
</summary>
</member>
<member name="M:Duality.Resources.PrefabLink.AffectsObject(Duality.Component)">
<summary>
Returns whether a specific object is affected by this PrefabLink.
</summary>
<param name="cmp"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.PrefabLink.AffectsObject(Duality.GameObject)">
<summary>
Returns whether a specific object is affected by this PrefabLink.
</summary>
<param name="cmp"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.PrefabLink.ApplyAllLinks(System.Collections.Generic.IEnumerable{Duality.GameObject},System.Predicate{Duality.Resources.PrefabLink})">
<summary>
Applies all PrefabLinks in a set of GameObjects.
</summary>
<param name="objEnum">An enumeration of all GameObjects containing PrefabLinks that are to <see cref="M:Duality.Resources.PrefabLink.Apply">apply</see>.</param>
<param name="predicate">An optional predicate. If set, only PrefabLinks meeting its requirements are applied.</param>
<returns>A List of all PrefabLinks that have been applied.</returns>
</member>
<member name="P:Duality.Resources.PrefabLink.Obj">
<summary>
[GET] The GameObject this PrefabLink belongs to.
</summary>
</member>
<member name="P:Duality.Resources.PrefabLink.Prefab">
<summary>
[GET] The Prefab to which the GameObject is connected to.
</summary>
</member>
<member name="P:Duality.Resources.PrefabLink.ParentLink">
<summary>
[GET] If the connected GameObject is itsself contained within a hierarchy
of GameObjects which is affected by a higher PrefabLink, this link will be
returned.
</summary>
<seealso cref="P:Duality.GameObject.AffectedByPrefabLink"/>
</member>
<member name="T:Duality.Resources.VertexShader">
<summary>
Represents an OpenGL VertexShader.
</summary>
</member>
<member name="P:Duality.Resources.VertexShader.Minimal">
<summary>
[GET] A minimal VertexShader. It performs OpenGLs default transformation
and forwards a single texture coordinate and color to the fragment stage.
</summary>
</member>
<member name="P:Duality.Resources.VertexShader.SmoothAnim">
<summary>
[GET] The SmoothAnim VertexShader. In addition to the <see cref="P:Duality.Resources.VertexShader.Minimal"/>
setup, it forwards the custom animBlend vertex attribute to the fragment stage.
</summary>
</member>
<member name="T:Duality.Resources.Scene">
<summary>
A Scene encapsulates an organized set of <see cref="T:Duality.GameObject">GameObjects</see> and provides
update-, rendering- and maintenance functionality. In Duality, there is always exactly one Scene
<see cref="P:Duality.Resources.Scene.Current"/> which represents a level, gamestate or a combination of both, depending
on you own design.
</summary>
</member>
<member name="M:Duality.Resources.Scene.SwitchTo(Duality.ContentRef{Duality.Resources.Scene},System.Boolean)">
<summary>
Switches to the specified <see cref="T:Duality.Resources.Scene"/>, which will become the new <see cref="P:Duality.Resources.Scene.Current">current one</see>.
By default, this method does not guarantee to perform the Scene switch immediately, but may defer the switch
to the end of the current update cycle.
</summary>
<param name="scene">The Scene to switch to.</param>
<param name="forceImmediately">If true, an immediate switch is forced. Use only when necessary.</param>
</member>
<member name="M:Duality.Resources.Scene.Reload">
<summary>
Reloads the <see cref="P:Duality.Resources.Scene.Current">current Scene</see> or schedules it for reload at the end of the
frame, depending on whether it is considered safe to do so immediately. Similar to <see cref="M:Duality.Resources.Scene.SwitchTo(Duality.ContentRef{Duality.Resources.Scene},System.Boolean)"/> with
regard to execution planning.
</summary>
</member>
<member name="M:Duality.Resources.Scene.PerformScheduledSwitch">
<summary>
Performs a <see cref="T:Duality.Resources.Scene"/> switch operation that was scheduled using
<see cref="M:Duality.Resources.Scene.SwitchTo(Duality.ContentRef{Duality.Resources.Scene},System.Boolean)"/>.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.#ctor">
<summary>
Creates a new, empty scene which does not contain any <see cref="T:Duality.GameObject">GameObjects</see>.
</summary>
</member>
<member name="M:Duality.Resources.Scene.Render(Duality.Rect,System.Predicate{Duality.Components.Camera})">
<summary>
Renders the Scene
</summary>
<param name="viewportRect">The viewport to which will be rendered.</param>
<param name="camPredicate">Optional predicate to select which Cameras may be rendered and which not.</param>
</member>
<member name="M:Duality.Resources.Scene.Update">
<summary>
Updates the Scene
</summary>
</member>
<member name="M:Duality.Resources.Scene.EditorUpdate">
<summary>
Updates the Scene in the editor.
</summary>
</member>
<member name="M:Duality.Resources.Scene.RunCleanup">
<summary>
Cleanes up disposed Scene objects.
</summary>
</member>
<member name="M:Duality.Resources.Scene.ApplyPrefabLinks">
<summary>
Applies all <see cref="T:Duality.Resources.PrefabLink">PrefabLinks</see> contained withing this
Scenes <see cref="T:Duality.GameObject">GameObjects</see>.
</summary>
</member>
<member name="M:Duality.Resources.Scene.BreakPrefabLinks">
<summary>
Breaks all <see cref="T:Duality.Resources.PrefabLink">PrefabLinks</see> contained withing this
Scenes <see cref="T:Duality.GameObject">GameObjects</see>.
</summary>
</member>
<member name="M:Duality.Resources.Scene.Clear">
<summary>
Clears the Scene, unregistering all GameObjects. This does not <see cref="M:Duality.GameObject.Dispose">dispose</see> them.
</summary>
</member>
<member name="M:Duality.Resources.Scene.Append(Duality.ContentRef{Duality.Resources.Scene})">
<summary>
Appends a cloned version of the specified Scenes contents to this Scene.
</summary>
<param name="scene">The source Scene.</param>
</member>
<member name="M:Duality.Resources.Scene.Consume(Duality.ContentRef{Duality.Resources.Scene})">
<summary>
Appends the specified Scene's contents to this Scene and consumes the specified Scene.
</summary>
<param name="scene">The source Scene.</param>
</member>
<member name="M:Duality.Resources.Scene.AddObject(Duality.GameObject)">
<summary>
Registers a GameObject and all of its children.
</summary>
<param name="obj"></param>
</member>
<member name="M:Duality.Resources.Scene.AddObject(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Registers a set of GameObjects and all of their children.
</summary>
<param name="objEnum"></param>
</member>
<member name="M:Duality.Resources.Scene.RemoveObject(Duality.GameObject)">
<summary>
Unregisters a GameObject and all of its children
</summary>
<param name="obj"></param>
</member>
<member name="M:Duality.Resources.Scene.RemoveObject(System.Collections.Generic.IEnumerable{Duality.GameObject})">
<summary>
Unregisters a set of GameObjects and all of their children.
</summary>
<param name="objEnum"></param>
</member>
<member name="M:Duality.Resources.Scene.FindGameObjects(System.String)">
<summary>
Finds all GameObjects in the Scene that match the specified name or name path.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.FindGameObjects(System.Type)">
<summary>
Finds all GameObjects in the Scene which have a Component of the specified type.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.FindGameObjects``1">
<summary>
Finds all GameObjects in the Scene which have a Component of the specified type.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.FindComponents``1">
<summary>
Finds all Components of the specified type in this Scene.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.FindComponents(System.Type)">
<summary>
Finds all Components of the specified type in this Scene.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.FindGameObject(System.String,System.Boolean)">
<summary>
Finds a single GameObjects in the Scene that match the specified name or name path.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.FindGameObject(System.Type,System.Boolean)">
<summary>
Finds a single GameObject in the Scene that has a Component of the specified type.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.FindGameObject``1(System.Boolean)">
<summary>
Finds a single GameObject in the Scene that has a Component of the specified type.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.FindComponent``1(System.Boolean)">
<summary>
Finds a single Component of the specified type in this Scene.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.FindComponent(System.Type,System.Boolean)">
<summary>
Finds a single Component of the specified type in this Scene.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:Duality.Resources.Scene.AwakePhysics">
<summary>
Awakes all currently existing physical objects.
</summary>
</member>
<member name="P:Duality.Resources.Scene.PhysicsAlpha">
<summary>
[GET] When using fixed-timestep physics, the alpha value [0.0 - 1.0] indicates how
complete the next step is. This is used for linear interpolation inbetween fixed physics steps.
</summary>
</member>
<member name="P:Duality.Resources.Scene.PhysicsFixedTime">
<summary>
[GET] Is fixed-timestep physics calculation currently active?
</summary>
</member>
<member name="P:Duality.Resources.Scene.PhysicsWorld">
<summary>
[GET] Returns the current physics world.
</summary>
</member>
<member name="P:Duality.Resources.Scene.Current">
<summary>
[GET / SET] The Scene that is currently active i.e. updated and rendered. This is never null.
You may assign null in order to leave the current Scene and enter en empty dummy Scene.
</summary>
</member>
<member name="P:Duality.Resources.Scene.CurrentPath">
<summary>
[GET] The Resource file path of the current Scene.
</summary>
</member>
<member name="P:Duality.Resources.Scene.IsSwitching">
<summary>
[GET] Returns whether <see cref="P:Duality.Resources.Scene.Current"/> is in a transition between two different states, i.e.
whether the current Scene is being changed right now.
</summary>
</member>
<member name="E:Duality.Resources.Scene.Leaving">
<summary>
Fired just before leaving the current Scene.
</summary>
</member>
<member name="E:Duality.Resources.Scene.Entered">
<summary>
Fired right after entering the (now) current Scene.
</summary>
</member>
<member name="E:Duality.Resources.Scene.GameObjectParentChanged">
<summary>
Fired when a <see cref="T:Duality.GameObject">GameObjects</see> parent object has been changed in the current Scene.
</summary>
</member>
<member name="E:Duality.Resources.Scene.GameObjectAdded">
<summary>
Fired when a <see cref="T:Duality.GameObject"/> has been registered in the current Scene.
</summary>
</member>
<member name="E:Duality.Resources.Scene.GameObjectRemoved">
<summary>
Fired when a <see cref="T:Duality.GameObject"/> has been unregistered from the current Scene.
</summary>
</member>
<member name="E:Duality.Resources.Scene.GameObjectsAdded">
<summary>
Fired once every time a group of <see cref="T:Duality.GameObject"/> instances has been registered in the current Scene.
</summary>
</member>
<member name="E:Duality.Resources.Scene.GameObjectsRemoved">
<summary>
Fired once every time a group of <see cref="T:Duality.GameObject"/> instances has been unregistered from the current Scene.
</summary>
</member>
<member name="E:Duality.Resources.Scene.ComponentAdded">
<summary>
Fired when a <see cref="T:Duality.Component"/> has been added to a <see cref="T:Duality.GameObject"/> that is registered in the current Scene.
</summary>
</member>
<member name="E:Duality.Resources.Scene.ComponentRemoving">
<summary>
Fired when a <see cref="T:Duality.Component"/> has been removed from a <see cref="T:Duality.GameObject"/> that is registered in the current Scene.
</summary>
</member>
<member name="P:Duality.Resources.Scene.VisibilityStrategy">
<summary>
[GET / SET] The strategy that is used to determine which <see cref="T:Duality.ICmpRenderer">renderers</see> are visible.
</summary>
</member>
<member name="P:Duality.Resources.Scene.GlobalGravity">
<summary>
[GET / SET] Global gravity force that is applied to all objects that obey the laws of physics.
</summary>
</member>
<member name="P:Duality.Resources.Scene.AllObjects">
<summary>
[GET] Enumerates all registered objects.
</summary>
</member>
<member name="P:Duality.Resources.Scene.ActiveObjects">
<summary>
[GET] Enumerates all registered objects that are currently active.
</summary>
</member>
<member name="P:Duality.Resources.Scene.RootObjects">
<summary>
[GET] Enumerates all root GameObjects, i.e. all GameObjects without a parent object.
</summary>
</member>
<member name="P:Duality.Resources.Scene.ActiveRootObjects">
<summary>
[GET] Enumerates all <see cref="P:Duality.Resources.Scene.RootObjects"/> that are currently active.
</summary>
</member>
<member name="P:Duality.Resources.Scene.IsCurrent">
<summary>
[GET] Returns whether this Scene is <see cref="P:Duality.Resources.Scene.Current"/>.
</summary>
</member>
<member name="P:Duality.Resources.Scene.IsEmpty">
<summary>
[GET] Returns whether this Scene is completely empty.
</summary>
</member>
<member name="T:Duality.Audio.SoundDevice">
<summary>
Provides functionality to play and manage sound in Duality.
</summary>
</member>
<member name="M:Duality.Audio.SoundDevice.GetNumPlaying(Duality.ContentRef{Duality.Resources.Sound})">
<summary>
Determines the number of playing instances of a specific <see cref="T:Duality.Resources.Sound"/>.
</summary>
<param name="snd">The Sound of which to determine the number of playing instances.</param>
<returns>The number of the specified Sounds playing instances.</returns>
</member>
<member name="M:Duality.Audio.SoundDevice.RegisterPlaying(Duality.ContentRef{Duality.Resources.Sound},System.Boolean)">
<summary>
Registers a <see cref="T:Duality.Resources.Sound">Sounds</see> playing instance.
</summary>
<param name="snd">The Sound that is playing.</param>
<param name="is3D">Whether the instance is 3d or not.</param>
</member>
<member name="M:Duality.Audio.SoundDevice.UnregisterPlaying(Duality.ContentRef{Duality.Resources.Sound},System.Boolean)">
<summary>
Unregisters a <see cref="T:Duality.Resources.Sound">Sounds</see> playing instance.
</summary>
<param name="snd">The Sound that was playing.</param>
<param name="is3D">Whether the instance is 3d or not.</param>
</member>
<member name="M:Duality.Audio.SoundDevice.Update">
<summary>
Updates the SoundDevice.
</summary>
</member>
<member name="M:Duality.Audio.SoundDevice.PlaySound(Duality.ContentRef{Duality.Resources.Sound})">
<summary>
Plays a sound.
</summary>
<param name="snd">The Sound to play.</param>
<returns>A new SoundInstance representing the currentply playing sound.</returns>
</member>
<member name="M:Duality.Audio.SoundDevice.PlaySound3D(Duality.ContentRef{Duality.Resources.Sound},Duality.Vector3)">
<summary>
Plays a sound 3d "in space".
</summary>
<param name="snd">The Sound to play.</param>
<param name="pos">The position of the sound in space.</param>
<returns>A new SoundInstance representing the currentply playing sound.</returns>
</member>
<member name="M:Duality.Audio.SoundDevice.PlaySound3D(Duality.ContentRef{Duality.Resources.Sound},Duality.GameObject)">
<summary>
Plays a sound 3d "in space".
</summary>
<param name="snd">The Sound to play.</param>
<param name="attachTo">The GameObject to which the sound will be attached.</param>
<returns>A new SoundInstance representing the currentply playing sound.</returns>
</member>
<member name="M:Duality.Audio.SoundDevice.PlaySound3D(Duality.ContentRef{Duality.Resources.Sound},Duality.GameObject,Duality.Vector3)">
<summary>
Plays a sound 3d "in space".
</summary>
<param name="snd">The Sound to play.</param>
<param name="attachTo">The GameObject to which the sound will be attached.</param>
<param name="relativePos">The position of the sound relative to the GameObject.</param>
<returns>A new SoundInstance representing the currentply playing sound.</returns>
</member>
<member name="M:Duality.Audio.SoundDevice.StopAll">
<summary>
Stops all currently playing sounds.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.Listener">
<summary>
[GET / SET] The current listener object. This is automatically set to an available
<see cref="T:Duality.Components.SoundListener"/>.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.ListenerPos">
<summary>
[GET] The current listeners position.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.ListenerVel">
<summary>
[GET] The current listeners velocity.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.ListenerAngle">
<summary>
[GET] The current listeners rotation / angle in radians.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.Mute">
<summary>
[GET / SET] Whether all Duality audio is currently muted completely.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.DefaultMinDist">
<summary>
[GET] Returns a <see cref="T:Duality.Resources.Sound">Sounds</see> default minimum distance.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.DefaultMaxDist">
<summary>
[GET] Returns a <see cref="T:Duality.Resources.Sound">Sounds</see> default maximum distance.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.MaxOpenALSources">
<summary>
[GET] Returns the maximum number of available OpenAL sound sources.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.NumPlaying2D">
<summary>
[GET] Returns the number of currently playing 2d sounds.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.NumPlaying3D">
<summary>
[GET] Returns the number of currently playing 3d sounds.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.NumAvailable">
<summary>
[GET] Returns the number of currently available OpenAL sound sources.
</summary>
</member>
<member name="P:Duality.Audio.SoundDevice.Playing">
<summary>
[GET] Enumerates all currently playing SoundInstances.
</summary>
</member>
<member name="T:Duality.Audio.SoundInstance">
<summary>
An instance of a <see cref="T:Duality.Resources.Sound"/>.
</summary>
</member>
<member name="M:Duality.Audio.SoundInstance.Stop">
<summary>
Stops the sound immediately.
</summary>
</member>
<member name="M:Duality.Audio.SoundInstance.FadeTo(System.Single,System.Single)">
<summary>
Fades the sound to a specific target value.
</summary>
<param name="target">The target value to fade to.</param>
<param name="timeSeconds">The time in seconds the fading will take.</param>
</member>
<member name="M:Duality.Audio.SoundInstance.BeginFadeIn(System.Single)">
<summary>
Resets the sounds current fade value to zero and starts to fade it in.
</summary>
<param name="timeSeconds">The time in seconds the fading will take.</param>
</member>
<member name="M:Duality.Audio.SoundInstance.FadeIn(System.Single)">
<summary>
Fades the sound in from its current fade value. Note that SoundInstances are
initialized with a fade value of 1.0f because they aren't faded in generally.
To achieve a regular "fade in" effect, you should use <see cref="M:Duality.Audio.SoundInstance.BeginFadeIn(System.Single)"/>.
</summary>
<param name="timeSeconds">The time in seconds the fading will take.</param>
</member>
<member name="M:Duality.Audio.SoundInstance.FadeOut(System.Single)">
<summary>
Fades out the sound.
</summary>
<param name="timeSeconds">The time in seconds the fading will take.</param>
</member>
<member name="M:Duality.Audio.SoundInstance.StopFade">
<summary>
Halts the current fading, keepinf the current fade value as fade target.
</summary>
</member>
<member name="M:Duality.Audio.SoundInstance.Update">
<summary>
Updates the SoundInstance
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Native">
<summary>
[GET] The currently used native audio source, as provided by the Duality backend. Don't use this unless you know exactly what you're doing.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Disposed">
<summary>
[GET] Whether the SoundInstance has been disposed. Disposed objects are not to be
used anymore and should be treated as null or similar.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Sound">
<summary>
[GET] A reference to the <see cref="T:Duality.Resources.Sound"/> that is being played by
this SoundInstance.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.AudioData">
<summary>
[GET] A reference to the <see cref="T:Duality.Resources.AudioData"/> that is being played by
this SoundInstance.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.AttachedTo">
<summary>
[GET] The <see cref="T:Duality.GameObject"/> that this SoundInstance is attached to.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Is3D">
<summary>
[GET] Whether the sound is played 3d, "in space" or not.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Priority">
<summary>
[GET] The SoundInstances priority.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.CurrentFade">
<summary>
[GET] When fading in or out, this value represents the current fading state.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.FadeTarget">
<summary>
[GET] The target value for the current fade. Usually 0.0f or 1.0f for fadint out / in.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.PlayTime">
<summary>
[GET] The time in seconds that this SoundInstance has been playing its sound.
This value is affected by the sounds <see cref="P:Duality.Audio.SoundInstance.Pitch"/>.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Volume">
<summary>
[GET / SET] The sounds local volume factor.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Pitch">
<summary>
[GET / SET] The sounds local pitch factor.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Lowpass">
<summary>
[GET / SET] The sounds local lowpass value. Lower values cut off more frequencies.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Panning">
<summary>
[GET / SET] The sounds local stereo panning, ranging from -1.0f (left) to 1.0f (right).
Only available for 2D sounds.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Looped">
<summary>
[GET / SET] Whether the sound is played in a loop.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Paused">
<summary>
[GET / SET] Whether the sound is currently paused.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Pos">
<summary>
[GET / SET] The sounds position in space. If it is <see cref="P:Duality.Audio.SoundInstance.AttachedTo">attached</see> to a GameObject,
this value is considered relative to it.
</summary>
</member>
<member name="P:Duality.Audio.SoundInstance.Vel">
<summary>
[GET / SET] The sounds velocity. If it is <see cref="P:Duality.Audio.SoundInstance.AttachedTo">attached</see> to a GameObject,
this value is considered relative to it.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText">
<summary>
Provides functionality for analyzing, handling and displaying formatted text.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FormatSlash">
<summary>
Format string for displaying a slash (/) character.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FormatElement">
<summary>
Format string for beginning a new text element.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FormatColorTag">
<summary>
Format string for changing the current text color.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FormatFont">
<summary>
Format string for changing the current <see cref="T:Duality.Resources.Font"/>.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FormatIcon">
<summary>
Format string for inserting an icon.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FormatAlignLeft">
<summary>
Format string for changing the current text alignment to "Left".
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FormatAlignRight">
<summary>
Format string for changing the current text alignment to "Right".
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FormatAlignCenter">
<summary>
Format string for changing the current text alignment to "Center".
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FormatNewline">
<summary>
Format string for inserting a line break.
</summary>
</member>
<member name="M:Duality.Drawing.FormattedText.FormatColor(Duality.Drawing.ColorRgba)">
<summary>
Returns a format string for changing the current text color to the specified one.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.FormattedText.Clone">
<summary>
Creates a deep copy of the FormattedText and returns it.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.FormattedText.ApplySource(System.String)">
<summary>
Applies a new source text.
</summary>
<param name="text">The new source text to apply. If null, the current source text is re-applied.</param>
</member>
<member name="M:Duality.Drawing.FormattedText.Clear">
<summary>
Clears the text.
</summary>
</member>
<member name="M:Duality.Drawing.FormattedText.EmitVertices(Duality.Drawing.VertexC1P3T2[][]@,Duality.Drawing.VertexC1P3T2[]@,System.Single,System.Single,System.Single)">
<summary>
Emits sets of vertices for glyphs and icons based on this formatted text. To render it, use each set of vertices combined with
the corresponding Fonts <see cref="T:Duality.Resources.Material"/>.
</summary>
<param name="vertText">One set of vertices for each Font that is available to this ForattedText.</param>
<param name="vertIcons">A set of icon vertices.</param>
<param name="x">An X-Offset applied to the position of each emitted vertex.</param>
<param name="y">An Y-Offset applied to the position of each emitted vertex.</param>
<param name="z">An Z-Offset applied to the position of each emitted vertex.</param>
<returns>
Returns an array of vertex counts for each emitted vertex array.
Index 0 represents the number of emitted icon vertices, Index n represents the number of vertices emitted using Font n - 1.
</returns>
</member>
<member name="M:Duality.Drawing.FormattedText.EmitVertices(Duality.Drawing.VertexC1P3T2[][]@,Duality.Drawing.VertexC1P3T2[]@,System.Single,System.Single,Duality.Drawing.ColorRgba)">
<summary>
Emits sets of vertices for glyphs and icons based on this formatted text. To render it, use each set of vertices combined with
the corresponding Fonts <see cref="T:Duality.Resources.Material"/>.
</summary>
<param name="vertText">One set of vertices for each Font that is available to this ForattedText.</param>
<param name="vertIcons">A set of icon vertices.</param>
<param name="x">An X-Offset applied to the position of each emitted vertex.</param>
<param name="y">An Y-Offset applied to the position of each emitted vertex.</param>
<param name="clr">The color value that is applied to each emitted vertex.</param>
<returns>
Returns an array of vertex counts for each emitted vertex array.
Index 0 represents the number of emitted icon vertices, Index n represents the number of vertices emitted using Font n - 1.
</returns>
</member>
<member name="M:Duality.Drawing.FormattedText.EmitVertices(Duality.Drawing.VertexC1P3T2[][]@,Duality.Drawing.VertexC1P3T2[]@,System.Single,System.Single,System.Single,Duality.Drawing.ColorRgba,System.Single,System.Single)">
<summary>
Emits sets of vertices for glyphs and icons based on this formatted text. To render it, use each set of vertices combined with
the corresponding Fonts <see cref="T:Duality.Resources.Material"/>.
</summary>
<param name="vertText">One set of vertices for each Font that is available to this ForattedText.</param>
<param name="vertIcons">A set of icon vertices.</param>
<param name="x">An X-Offset applied to the position of each emitted vertex.</param>
<param name="y">An Y-Offset applied to the position of each emitted vertex.</param>
<param name="z">An Z-Offset applied to the position of each emitted vertex.</param>
<param name="clr">The color value that is applied to each emitted vertex.</param>
<param name="angle">An angle by which the text is rotated (before applying the offset).</param>
<param name="scale">A factor by which the text is scaled (before applying the offset).</param>
<returns>
Returns an array of vertex counts for each emitted vertex array.
Index 0 represents the number of emitted icon vertices, Index n represents the number of vertices emitted using Font n - 1.
</returns>
</member>
<member name="M:Duality.Drawing.FormattedText.EmitVertices(Duality.Drawing.VertexC1P3T2[][]@,Duality.Drawing.VertexC1P3T2[]@,System.Single,System.Single,System.Single,Duality.Drawing.ColorRgba,Duality.Vector2,Duality.Vector2)">
<summary>
Emits sets of vertices for glyphs and icons based on this formatted text. To render it, use each set of vertices combined with
the corresponding Fonts <see cref="T:Duality.Resources.Material"/>.
</summary>
<param name="vertText">One set of vertices for each Font that is available to this ForattedText.</param>
<param name="vertIcons">A set of icon vertices.</param>
<param name="x">An X-Offset applied to the position of each emitted vertex.</param>
<param name="y">An Y-Offset applied to the position of each emitted vertex.</param>
<param name="z">An Z-Offset applied to the position of each emitted vertex.</param>
<param name="clr">The color value that is applied to each emitted vertex.</param>
<param name="xDot">Dot product base for the transformed vertices.</param>
<param name="yDot">Dot product base for the transformed vertices.</param>
<returns>
Returns an array of vertex counts for each emitted vertex array.
Index 0 represents the number of emitted icon vertices, Index n represents the number of vertices emitted using Font n - 1.
</returns>
</member>
<member name="M:Duality.Drawing.FormattedText.EmitVertices(Duality.Drawing.VertexC1P3T2[][]@,Duality.Drawing.VertexC1P3T2[]@)">
<summary>
Emits sets of vertices for glyphs and icons based on this formatted text. To render it, use each set of vertices combined with
the corresponding Fonts <see cref="T:Duality.Resources.Material"/>.
</summary>
<param name="vertText">One set of vertices for each Font that is available to this FormattedText.</param>
<param name="vertIcons">A set of icon vertices.</param>
<returns>
Returns an array of vertex counts for each emitted vertex array.
Index 0 represents the number of emitted icon vertices, Index n represents the number of vertices emitted using Font n - 1.
</returns>
</member>
<member name="M:Duality.Drawing.FormattedText.UpdateVertexCache">
<summary>
Updates the cache that is used when emitting vertices. However, this is normally done automatically.
</summary>
</member>
<member name="M:Duality.Drawing.FormattedText.RenderToBitmap(System.String,Duality.Drawing.PixelData,System.Single,System.Single,Duality.Drawing.PixelData)">
<summary>
Renders a text to the specified target Image.
</summary>
<param name="text"></param>
<param name="target"></param>
</member>
<member name="P:Duality.Drawing.FormattedText.SourceText">
<summary>
[GET / SET] The source text that is used, containing all format strings as well as the displayed text.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.IsEmpty">
<summary>
[GET] Returns whether the text is empty.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.Icons">
<summary>
[GET / SET] A set of icons that is available in the text.
If you modify this value without re-assigning it, be sure to call <see cref="M:Duality.Drawing.FormattedText.UpdateVertexCache"/>.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.FlowAreas">
<summary>
[GET / SET] A set of flow areas to be considered in word wrap.
If you modify this value without re-assigning it, be sure to call <see cref="M:Duality.Drawing.FormattedText.UpdateVertexCache"/>.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.Fonts">
<summary>
[GET / SET] A set of <see cref="T:Duality.Resources.Font">Fonts</see> that is available in the text.
If you modify this value without re-assigning it, be sure to call <see cref="M:Duality.Drawing.FormattedText.UpdateVertexCache"/>.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.MaxWidth">
<summary>
[GET / SET] The maximum width of the displayed text block. Zero deactivates maximum width.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.MaxHeight">
<summary>
[GET / SET] The maximum height of the displayed text block. Zero deactivates maximum height.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.WordWrap">
<summary>
[GET / SET] The word wrapping behaviour to use.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.LineAlign">
<summary>
[GET / SET] Specifies the default horizontal alignment of each line, unless changed by format tags.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.TextMetrics">
<summary>
[GET] The text blocks metrics.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.Size">
<summary>
[GET] The text blocks boundary size.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.LineCount">
<summary>
[GET] The number of lines in the formatted text block.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.DisplayedText">
<summary>
[GET] The text that is actually displayed.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.Elements">
<summary>
[GET] The formatted text elements that have been generated analyzing the incoming source text.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.Element">
<summary>
Represents an element of a formatted text.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.TextElement">
<summary>
Contains a text string.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.TextElement.Text">
<summary>
[GET] text string this element contains.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.IconElement">
<summary>
Contains an icon.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.IconElement.IconIndex">
<summary>
[GET] The index of the icon to display at this elements position.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.NewLineElement">
<summary>
Forces a line break at this position.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.FontChangeElement">
<summary>
Changes the currently used <see cref="T:Duality.Resources.Font"/>.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.FontChangeElement.FontIndex">
<summary>
[GET] The index of the Font to switch to.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.ColorChangeElement">
<summary>
Changes the currently used <see cref="T:Duality.Drawing.ColorRgba"/>.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.ColorChangeElement.Color">
<summary>
[GET] The new color to use.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.AlignChangeElement">
<summary>
Changes the current lines' alignment. May be <see cref="F:Duality.Alignment.Left"/>, <see cref="F:Duality.Alignment.Right"/> or <see cref="F:Duality.Alignment.Center"/>.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.AlignChangeElement.Align">
<summary>
[GET] The alignment to use for the current line.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.Icon">
<summary>
An icon that can be displayed inside the formatted text.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.Icon.uvRect">
<summary>
The icons UV-Coordinates on the icon texture that will be used for rendering icons.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.Icon.size">
<summary>
The icons display size.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.Icon.offset">
<summary>
An optional pixel offset that is applied to the icon when drawing it
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.FlowArea">
<summary>
An rectangular area that will be avoided by the text flow.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FlowArea.width">
<summary>
The areas width.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FlowArea.height">
<summary>
The areas height.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FlowArea.y">
<summary>
The areas y-Coordinate.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.FlowArea.alignRight">
<summary>
Whether the area is located at the right edge of the text area, instead of the left edge.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.Metrics">
<summary>
Provides information about a formatted texts metrics.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.Metrics.Size">
<summary>
[GET] The size of the formatted text block as whole.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.Metrics.LineCount">
<summary>
[GET] The number of lines.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.Metrics.LineBounds">
<summary>
[GET] Each lines boundary.
</summary>
</member>
<member name="P:Duality.Drawing.FormattedText.Metrics.ElementBounds">
<summary>
[GET] Each formatted text elements individual boundary.
</summary>
</member>
<member name="T:Duality.Drawing.FormattedText.WrapMode">
<summary>
Describes word wrap behaviour.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.WrapMode.Glyph">
<summary>
Word wrap is allowed at each glyph.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.WrapMode.Word">
<summary>
Word wrap is allowed after / before each word, but not in the middle of one.
</summary>
</member>
<member name="F:Duality.Drawing.FormattedText.WrapMode.Element">
<summary>
Word wrap is only allowed between two separate formatted text elements.
</summary>
</member>
<member name="T:Duality.TextWriterLogOutput">
<summary>
A <see cref="T:Duality.ILogOutput">Log output</see> that uses a <see cref="T:System.IO.TextWriter"/> as message destination.
</summary>
</member>
<member name="M:Duality.TextWriterLogOutput.Write(Duality.LogEntry)">
<inheritdoc />
</member>
<member name="M:Duality.TextWriterLogOutput.WriteLine(Duality.Log,Duality.LogMessageType,System.String,System.Object)">
<summary>
Writes a single line of the final, formatted text message to the output.
</summary>
<param name="source"></param>
<param name="type"></param>
<param name="formattedLine"></param>
<param name="context"></param>
</member>
<member name="T:Duality.Serialization.BinarySerializer">
<summary>
De/Serializes objects in a binary format. Additional metadata is included in order to allow an extended degree of error tolerance when working under development conditions.
</summary>
</member>
<member name="T:Duality.Serialization.Serializer">
<summary>
Base class for Dualitys serializers.
</summary>
</member>
<member name="F:Duality.Serialization.Serializer.fieldBlockers">
<summary>
The de/serialization <see cref="T:Duality.Log"/>.
</summary>
<summary>
A list of <see cref="T:System.Reflection.FieldInfo">field</see> blockers. If any registered field blocker
returns true upon serializing a specific field, a default value is assumed instead.
</summary>
</member>
<member name="F:Duality.Serialization.Serializer.idManager">
<summary>
Manages object IDs during de/serialization.
</summary>
</member>
<member name="M:Duality.Serialization.Serializer.ReadObject">
<summary>
Reads a single object and returns it.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.ReadObject``1">
<summary>
Reads a single object, casts it to the specified Type and returns it.
</summary>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.ReadObject``1(``0@)">
<summary>
Reads a single object, casts it to the specified Type and returns it via output parameter.
</summary>
<typeparam name="T"></typeparam>
<param name="obj"></param>
</member>
<member name="M:Duality.Serialization.Serializer.WriteObject(System.Object)">
<summary>
Writes a single object.
</summary>
<param name="obj"></param>
</member>
<member name="M:Duality.Serialization.Serializer.WriteObject``1(``0)">
<summary>
Writes a single object.
</summary>
<typeparam name="T"></typeparam>
<param name="obj"></param>
</member>
<member name="M:Duality.Serialization.Serializer.ClearFieldBlockers">
<summary>
Unregisters all <see cref="P:Duality.Serialization.Serializer.FieldBlockers"/>.
</summary>
</member>
<member name="M:Duality.Serialization.Serializer.AddFieldBlocker(Duality.Serialization.Serializer.FieldBlocker)">
<summary>
Registers a new <see cref="P:Duality.Serialization.Serializer.FieldBlockers">FieldBlocker</see>.
</summary>
<param name="blocker"></param>
</member>
<member name="M:Duality.Serialization.Serializer.RemoveFieldBlocker(Duality.Serialization.Serializer.FieldBlocker)">
<summary>
Unregisters an existing <see cref="P:Duality.Serialization.Serializer.FieldBlockers">FieldBlocker</see>.
</summary>
<param name="blocker"></param>
</member>
<member name="M:Duality.Serialization.Serializer.IsFieldBlocked(System.Reflection.FieldInfo,System.Object)">
<summary>
Determines whether a specific <see cref="T:System.Reflection.FieldInfo">field</see> is blocked.
Blocked fields, despite being generally flagged as being serializable, are omitted during de/serialization and retain their default value.
</summary>
<param name="field">The <see cref="T:System.Reflection.FieldInfo">field</see> in question.</param>
<param name="obj">The object where this field originates from.</param>
<returns>True, if the <see cref="T:System.Reflection.FieldInfo">field</see> is blocked, false if not.</returns>
</member>
<member name="M:Duality.Serialization.Serializer.MatchesStreamFormat(System.IO.Stream)">
<summary>
Determines whether or not the specified <see cref="T:System.IO.Stream"/> matches the required format by
this <see cref="T:Duality.Serialization.Serializer"/>. This is used to determine which <see cref="T:Duality.Serialization.Serializer"/> can be
used for any given input <see cref="T:System.IO.Stream"/>.
</summary>
<param name="stream"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.ReadObjectData">
<summary>
Writes the specified object including all referenced objects.
</summary>
<param name="obj">The object to write.</param>
</member>
<member name="M:Duality.Serialization.Serializer.WriteObjectData(System.Object)">
<summary>
Reads an object including all referenced objects.
</summary>
<returns>The object that has been read.</returns>
</member>
<member name="M:Duality.Serialization.Serializer.OnTargetStreamChanged(System.IO.Stream,System.IO.Stream)">
<summary>
Called when the target stream this <see cref="T:Duality.Serialization.Serializer"/> operates on has changed.
</summary>
<param name="oldStream"></param>
<param name="newStream"></param>
</member>
<member name="M:Duality.Serialization.Serializer.OnBeginReadOperation">
<summary>
Signals the beginning of an atomic ReadObject operation.
</summary>
</member>
<member name="M:Duality.Serialization.Serializer.OnBeginWriteOperation">
<summary>
Signals the beginning of an atomic WriteObject operation.
</summary>
</member>
<member name="M:Duality.Serialization.Serializer.OnEndReadOperation">
<summary>
Signals the end of an atomic ReadObject operation.
</summary>
</member>
<member name="M:Duality.Serialization.Serializer.OnEndWriteOperation">
<summary>
Signals the end of an atomic WriteObject operation.
</summary>
</member>
<member name="M:Duality.Serialization.Serializer.PrepareWriteObject(System.Object)">
<summary>
Prepares an object for serialization and generates its header information.
</summary>
<param name="obj">The object to write</param>
</member>
<member name="M:Duality.Serialization.Serializer.LogCustomSerializationError(System.UInt32,System.Reflection.TypeInfo,System.Exception)">
<summary>
Logs an error that occurred during <see cref="T:Duality.Serialization.ISerializeExplicit">custom serialization</see>.
</summary>
<param name="objId">The object id of the affected object.</param>
<param name="serializeType">The <see cref="T:System.Type"/> of the affected object.</param>
<param name="e">The <see cref="T:System.Exception"/> that occurred.</param>
</member>
<member name="M:Duality.Serialization.Serializer.LogCustomDeserializationError(System.UInt32,System.Reflection.TypeInfo,System.Exception)">
<summary>
Logs an error that occurred during <see cref="T:Duality.Serialization.ISerializeExplicit">custom deserialization</see>.
</summary>
<param name="objId">The object id of the affected object.</param>
<param name="serializeType">The <see cref="T:System.Type"/> of the affected object.</param>
<param name="e">The <see cref="T:System.Exception"/> that occurred.</param>
</member>
<member name="M:Duality.Serialization.Serializer.AssignValueToField(Duality.Serialization.SerializeType,System.Object,System.String,System.Object)">
<summary>
Assigns the specified value to an objects field.
</summary>
<param name="objSerializeType"></param>
<param name="obj"></param>
<param name="fieldName"></param>
<param name="fieldValue"></param>
</member>
<member name="M:Duality.Serialization.Serializer.AssignValueToArray(Duality.Serialization.SerializeType,System.Array,System.Int32,System.Object)">
<summary>
Assigns the specified value to a specific array index.
</summary>
<param name="objSerializeType"></param>
<param name="obj"></param>
<param name="fieldName"></param>
<param name="fieldValue"></param>
</member>
<member name="M:Duality.Serialization.Serializer.ResolveType(System.String,System.UInt32)">
<summary>
Resolves the specified Type.
</summary>
<param name="typeId"></param>
<param name="objId"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.ResolveMember(System.String,System.UInt32)">
<summary>
Resolves the specified Member.
</summary>
<param name="memberId"></param>
<param name="objId"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.ResolveEnumValue(System.Type,System.String,System.Int64)">
<summary>
Resolves the specified Enum value.
</summary>
<param name="enumType"></param>
<param name="enumField"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.Detect(System.IO.Stream)">
<summary>
Uses a (seekable, random access) Stream to detect the serializer that can handle it.
</summary>
<param name="stream"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.Create(System.IO.Stream,System.Type)">
<summary>
Creates a new <see cref="T:Duality.Serialization.Serializer"/> using the specified stream for I/O.
</summary>
<param name="stream">The stream to use.</param>
<param name="preferredSerializer">
The serialization method to prefer. Auto-detection is used when not specified explicitly
and the underlying stream supports seeking / random access. Otherwise, the <see cref="P:Duality.Serialization.Serializer.DefaultType"/> is used.
</param>
<returns>A newly created <see cref="T:Duality.Serialization.Serializer"/> meeting the specified criteria.</returns>
</member>
<member name="M:Duality.Serialization.Serializer.TryReadObject``1(System.String,System.Type)">
<summary>
Reads an object of the specified Type from an existing data file, expecting that it might fail.
This method does not throw an Exception when the file does not exist or another
error occurred during the read operation. Instead, it will simply return null in these cases.
</summary>
<typeparam name="T"></typeparam>
<param name="file"></param>
<param name="preferredSerializer"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.TryReadObject``1(System.IO.Stream,System.Type)">
<summary>
Reads an object of the specified Type from an existing data Stream, expecting that it might fail.
This method does not throw an Exception when the file does not exist or an expected
error occurred during the read operation. Instead, it will simply return null in these cases.
</summary>
<typeparam name="T"></typeparam>
<param name="stream"></param>
<param name="preferredSerializer"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.ReadObject``1(System.String,System.Type)">
<summary>
Reads an object of the specified Type from an existing data file.
</summary>
<typeparam name="T"></typeparam>
<param name="file"></param>
<param name="preferredSerializer"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.ReadObject``1(System.IO.Stream,System.Type)">
<summary>
Reads an object of the specified Type from an existing data Stream.
</summary>
<typeparam name="T"></typeparam>
<param name="stream"></param>
<param name="preferredSerializer"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.WriteObject``1(``0,System.String,System.Type)">
<summary>
Saves an object to the specified data file. If it already exists, the file will be overwritten.
Automatically creates the appropriate directory structure, if it doesn't exist yet.
</summary>
<typeparam name="T"></typeparam>
<param name="obj"></param>
<param name="file"></param>
<param name="preferredSerializer"></param>
</member>
<member name="M:Duality.Serialization.Serializer.WriteObject``1(``0,System.IO.Stream,System.Type)">
<summary>
Saves an object to the specified data stream.
</summary>
<typeparam name="T"></typeparam>
<param name="obj"></param>
<param name="stream"></param>
<param name="preferredSerializer"></param>
</member>
<member name="M:Duality.Serialization.Serializer.GetSerializeType(System.Type)">
<summary>
Returns the <see cref="T:Duality.Serialization.SerializeType"/> of a Type.
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.GetSurrogateFor(System.Reflection.TypeInfo)">
<summary>
Retrieves a matching <see cref="T:Duality.Serialization.ISerializeSurrogate"/> for the specified <see cref="T:System.Type"/>.
</summary>
<param name="t">The <see cref="T:System.Type"/> to retrieve a <see cref="T:Duality.Serialization.ISerializeSurrogate"/> for.</param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.Serializer.HandleSerializeError(Duality.Serialization.SerializeError)">
<summary>
Attempts to handle a serialization error dynamically by invoking available <see cref="T:Duality.Serialization.SerializeErrorHandler">SerializeErrorHandlers</see>.
</summary>
<param name="error"></param>
<returns>Returns true, if the error has been handled successfully.</returns>
</member>
<member name="P:Duality.Serialization.Serializer.CanRead">
<summary>
[GET] Can this <see cref="T:Duality.Serialization.Serializer"/> read data?
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.CanWrite">
<summary>
[GET] Can this <see cref="T:Duality.Serialization.Serializer"/> write data?
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.TargetStream">
<summary>
[GET / SET] The target <see cref="T:System.IO.Stream"/> this <see cref="T:Duality.Serialization.Serializer"/> operates on (i.e. reads from and writes to).
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.LocalLog">
<summary>
[GET / SET] The local de/serialization <see cref="T:Duality.Log"/>.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.FieldBlockers">
<summary>
[GET] Enumerates registered <see cref="T:System.Reflection.FieldInfo">field</see> blockers. If any registered field blocker
returns true upon serializing a specific field, a default value is assumed instead.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.Disposed">
<summary>
[GET] Whether this formatter has been disposed. A disposed object cannot be used anymore.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.DefaultType">
<summary>
[GET / SET] The default <see cref="T:Duality.Serialization.Serializer"/> type to use, if no other is specified.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.AvailableTypes">
<summary>
[GET] Enumerates all available <see cref="T:Duality.Serialization.Serializer"/> types.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.TempCheckSerializers">
<summary>
[GET] A list of internal, temporary <see cref="T:Duality.Serialization.Serializer"/> instances to check for Stream compatibility.
</summary>
</member>
<member name="T:Duality.Serialization.Serializer.FieldBlocker">
<summary>
Declares a <see cref="T:System.Reflection.FieldInfo">field</see> blocker. If a field blocker
returns true upon serializing a specific field, a default value is assumed instead.
</summary>
<param name="field"></param>
<param name="obj"></param>
<returns></returns>
</member>
<member name="T:Duality.Serialization.Serializer.CustomSerialIOBase`1">
<summary>
Buffer object for <see cref="T:Duality.Serialization.ISerializeExplicit">custom de/serialization</see>,
providing read and write functionality.
</summary>
</member>
<member name="T:Duality.Serialization.IDataReader">
<summary>
Provides reading capabilities for serialization purposes
</summary>
</member>
<member name="M:Duality.Serialization.IDataReader.ReadValue(System.String)">
<summary>
Reads the value that is associated with the specified name.
</summary>
<param name="name">The name that is used for retrieving the value.</param>
<returns>The value that has been read using the given name.</returns>
<seealso cref="M:Duality.Serialization.IDataReader.ReadValue``1(System.String)"/>
<seealso cref="M:Duality.Serialization.IDataReader.ReadValue``1(System.String,``0@)"/>
</member>
<member name="M:Duality.Serialization.IDataReader.ReadValue``1(System.String)">
<summary>
Reads the value that is associated with the specified name.
</summary>
<typeparam name="T">The expected value type.</typeparam>
<param name="name">The name that is used for retrieving the value.</param>
<returns>The value that has been read and cast using the given name and type.</returns>
<seealso cref="M:Duality.Serialization.IDataReader.ReadValue(System.String)"/>
<seealso cref="M:Duality.Serialization.IDataReader.ReadValue``1(System.String,``0@)"/>
</member>
<member name="M:Duality.Serialization.IDataReader.ReadValue``1(System.String,``0@)">
<summary>
Reads the value that is associated with the specified name.
</summary>
<typeparam name="T">The expected value type.</typeparam>
<param name="name">The name that is used for retrieving the value.</param>
<param name="value">The value that has been read and cast using the given name and type.</param>
<seealso cref="M:Duality.Serialization.IDataReader.ReadValue(System.String)"/>
<seealso cref="M:Duality.Serialization.IDataReader.ReadValue``1(System.String)"/>
</member>
<member name="P:Duality.Serialization.IDataReader.Keys">
<summary>
[GET] Enumerates all available keys.
</summary>
</member>
<member name="T:Duality.Serialization.IDataWriter">
<summary>
Provides writing capabilities for serialization purposes
</summary>
</member>
<member name="M:Duality.Serialization.IDataWriter.WriteValue(System.String,System.Object)">
<summary>
Writes the specified name and value.
</summary>
<param name="name">
The name to which the written value is mapped.
May, for example, be the name of a <see cref="T:System.Reflection.FieldInfo">Field</see>
to which the written value belongs, but there are no naming restrictions, except that one name can't be used twice.
</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.Clear">
<summary>
Clears all contained data.
</summary>
</member>
<member name="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.WriteValue(System.String,System.Object)">
<summary>
Writes the specified name and value.
</summary>
<param name="name">
The name to which the written value is mapped.
May, for example, be the name of a <see cref="T:System.Reflection.FieldInfo">Field</see>
to which the written value belongs, but there are no naming restrictions, except that one name can't be used twice.
</param>
<param name="value">The value to write.</param>
<seealso cref="T:Duality.Serialization.IDataWriter"/>
</member>
<member name="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.ReadValue(System.String)">
<summary>
Reads the value that is associated with the specified name.
</summary>
<param name="name">The name that is used for retrieving the value.</param>
<returns>The value that has been read using the given name.</returns>
<seealso cref="T:Duality.Serialization.IDataReader"/>
<seealso cref="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.ReadValue``1(System.String)"/>
<seealso cref="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.ReadValue``1(System.String,``0@)"/>
</member>
<member name="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.ReadValue``1(System.String)">
<summary>
Reads the value that is associated with the specified name.
</summary>
<typeparam name="U">The expected value type.</typeparam>
<param name="name">The name that is used for retrieving the value.</param>
<returns>The value that has been read and cast using the given name and type.</returns>
<seealso cref="T:Duality.Serialization.IDataReader"/>
<seealso cref="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.ReadValue(System.String)"/>
<seealso cref="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.ReadValue``1(System.String,``0@)"/>
</member>
<member name="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.ReadValue``1(System.String,``0@)">
<summary>
Reads the value that is associated with the specified name.
</summary>
<typeparam name="U">The expected value type.</typeparam>
<param name="name">The name that is used for retrieving the value.</param>
<param name="value">The value that has been read and cast using the given name and type.</param>
<seealso cref="T:Duality.Serialization.IDataReader"/>
<seealso cref="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.ReadValue(System.String)"/>
<seealso cref="M:Duality.Serialization.Serializer.CustomSerialIOBase`1.ReadValue``1(System.String)"/>
</member>
<member name="P:Duality.Serialization.Serializer.CustomSerialIOBase`1.Keys">
<summary>
[GET] Enumerates all available keys.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.CustomSerialIOBase`1.Data">
<summary>
[GET] Enumerates all currently stored <see cref="T:System.Collections.Generic.KeyValuePair`2">KeyValuePairs</see>.
</summary>
</member>
<member name="T:Duality.Serialization.Serializer.ObjectHeader">
<summary>
Describes the serialization header of an object that is being de/serialized.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.ObjectHeader.ObjectId">
<summary>
[GET] The objects unique ID. May be zero for non-referenced object types.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.ObjectHeader.DataType">
<summary>
[GET] The objects data type.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.ObjectHeader.SerializeType">
<summary>
[GET] The objects resolved serialization type information. May be unavailable / null when loading objects.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.ObjectHeader.ObjectType">
<summary>
[GET] The objects resolved type information. May be unavailable / null when loading objects.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.ObjectHeader.TypeString">
<summary>
[GET] The string representing this objects type in the serialized data stream.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.ObjectHeader.IsPrimitive">
<summary>
[GET] Whether or not the object is considered a primitive value according to its <see cref="P:Duality.Serialization.Serializer.ObjectHeader.DataType"/>.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.ObjectHeader.IsObjectTypeRequired">
<summary>
[GET] Returns whether this kind of object requires an explicit <see cref="P:Duality.Serialization.Serializer.ObjectHeader.ObjectType"/> to be fully described described during serialization.
</summary>
</member>
<member name="P:Duality.Serialization.Serializer.ObjectHeader.IsObjectIdRequired">
<summary>
[GET] Returns whether this kind of object requires an <see cref="P:Duality.Serialization.Serializer.ObjectHeader.ObjectId"/> to be fully described during serialization.
</summary>
</member>
<member name="T:Duality.Serialization.ObjectIdManager">
<summary>
Manages object IDs during de/serialization.
</summary>
</member>
<member name="M:Duality.Serialization.ObjectIdManager.Clear">
<summary>
Clears all object id mappings.
</summary>
</member>
<member name="M:Duality.Serialization.ObjectIdManager.Request(System.Object,System.Boolean@)">
<summary>
Returns the id that is assigned to the specified object. Assigns one, if
there is none yet.
</summary>
<param name="obj"></param>
<param name="isNewId"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.ObjectIdManager.Inject(System.Object,System.UInt32)">
<summary>
Assigns an id to a specific object.
</summary>
<param name="obj"></param>
<param name="id">The id to assign. Zero ids are rejected.</param>
</member>
<member name="M:Duality.Serialization.ObjectIdManager.Lookup(System.UInt32,System.Object@)">
<summary>
Tries to lookup an object based on its id.
</summary>
<param name="id"></param>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.ObjectIdManager.PushIdLevel">
<summary>
Increases the reference hierarchy level of the object id generator. Each level of id generation uses its own algorithm, so different levels of ids are unlikely to affect each other.
</summary>
</member>
<member name="M:Duality.Serialization.ObjectIdManager.PopIdLevel">
<summary>
Decreases the reference hierarchy level of the object id generator. Each level of id generation uses its own algorithm, so different levels of ids are unlikely to affect each other.
</summary>
</member>
<member name="T:Duality.Serialization.ObjectIdManager.ReferenceEqualityComparer">
<summary>
Compares two objects for equality strictly by reference. This is needed to build
the object id mapping, since some objects may expose some unfortunate equality behavior,
and we really want to distinguish different objects by reference, and not by "content" here.
</summary>
</member>
<member name="T:Duality.Serialization.SerializeError">
<summary>
An abstract base class for errors that can occur during serialization to provide
an interface for custom serialization fallback behaivor.
</summary>
</member>
<member name="P:Duality.Serialization.SerializeError.Handled">
<summary>
[GET] Returns whether the error has been handled successfully.
</summary>
</member>
<member name="T:Duality.Serialization.ResolveTypeError">
<summary>
A serialization error that occurred during the resolve operation of a Type.
</summary>
</member>
<member name="P:Duality.Serialization.ResolveTypeError.TypeId">
<summary>
[GET] The Type id to resolve.
</summary>
</member>
<member name="P:Duality.Serialization.ResolveTypeError.ResolvedType">
<summary>
[GET / SET] The resolved Type.
</summary>
</member>
<member name="T:Duality.Serialization.ResolveMemberError">
<summary>
A serialization error that occurred during the resolve operation of a Member.
</summary>
</member>
<member name="P:Duality.Serialization.ResolveMemberError.MemberId">
<summary>
[GET] The Member id to resolve.
</summary>
</member>
<member name="P:Duality.Serialization.ResolveMemberError.ResolvedMember">
<summary>
[GET / SET] The resolved Member.
</summary>
</member>
<member name="T:Duality.Serialization.AssignFieldError">
<summary>
A serialization error that occurred during the assignment of a Field. Possible causes are the Field not being
available, being flagged as [DontSerialize] or having the wrong FieldType.
</summary>
</member>
<member name="P:Duality.Serialization.AssignFieldError.TargetObjectType">
<summary>
[GET] The target objects serialization Type data.
</summary>
</member>
<member name="P:Duality.Serialization.AssignFieldError.TargetObject">
<summary>
[GET] Object on which the field value should be assigned.
</summary>
</member>
<member name="P:Duality.Serialization.AssignFieldError.FieldName">
<summary>
[GET] Name of the field to assign the value to.
</summary>
</member>
<member name="P:Duality.Serialization.AssignFieldError.FieldValue">
<summary>
[GET] The value to assign.
</summary>
</member>
<member name="P:Duality.Serialization.AssignFieldError.AssignSuccess">
<summary>
[GET / SET] Whether or not the assignment was a success. Set this property to true, if you handled the error successfully.
</summary>
</member>
<member name="T:Duality.Serialization.SerializeErrorHandler">
<summary>
Provides an abstract interface for manual serialization fallbacks to resolve Types and Members or assign Fields.
</summary>
</member>
<member name="M:Duality.Serialization.SerializeErrorHandler.HandleError(Duality.Serialization.SerializeError)">
<summary>
Handles the specified error.
</summary>
<param name="error"></param>
</member>
<member name="P:Duality.Serialization.SerializeErrorHandler.Priority">
<summary>
The handlers priority. A higher value makes it more significant above others.
</summary>
</member>
<member name="T:Duality.Serialization.Surrogates.GuidSurrogate">
<summary>
De/Serializes a <see cref="T:System.Guid"/>.
</summary>
</member>
<member name="T:Duality.Serialization.Surrogates.GuidArraySurrogate">
<summary>
De/Serializes an array of <see cref="T:System.Guid"/> objects.
</summary>
</member>
<member name="T:Duality.Serialization.XmlSerializer">
<summary>
De/Serializes objects in an XML format. Additional metadata is included in order to allow an extended degree of error tolerance when working under development conditions.
</summary>
</member>
<member name="M:Duality.Serialization.XmlSerializer.GetArrayNonDefaultElementCount(System.Array,System.Reflection.TypeInfo)">
<summary>
Determines the length of the longest Array element sequence that contains
non-default values, beginning at index zero. It is the number of elements
that actually needs to be serialized.
</summary>
<param name="array"></param>
<param name="elementType"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.XmlSerializer.ReadSingleDocument(System.IO.Stream)">
<summary>
Wraps the specified <see cref="T:System.IO.Stream"/> in a sub-stream that can only access the next available XML document section.
</summary>
<param name="stream"></param>
<returns></returns>
</member>
<member name="T:Duality.Serialization.SerializeType">
<summary>
The SerializeType class is essentially caching serialization-relevant information
that has been generated basing on a <see cref="T:System.Type"/>.
</summary>
</member>
<member name="M:Duality.Serialization.SerializeType.#ctor(System.Type)">
<summary>
Creates a new SerializeType based on a <see cref="T:System.Type"/>, gathering all the information that is necessary for serialization.
</summary>
<param name="t"></param>
</member>
<member name="P:Duality.Serialization.SerializeType.Type">
<summary>
[GET] The <see cref="T:System.Reflection.TypeInfo"/> that is described.
</summary>
</member>
<member name="P:Duality.Serialization.SerializeType.Fields">
<summary>
[GET] An array of <see cref="T:System.Reflection.FieldInfo">fields</see> which are serialized.
</summary>
</member>
<member name="P:Duality.Serialization.SerializeType.TypeString">
<summary>
[GET] A string referring to the <see cref="T:System.Type"/> that is described.
</summary>
<seealso cref="M:Duality.ReflectionHelper.GetTypeId(System.Type)"/>
</member>
<member name="P:Duality.Serialization.SerializeType.DataType">
<summary>
[GET] The <see cref="T:Duality.Serialization.DataType"/> associated with the described <see cref="T:System.Type"/>.
</summary>
</member>
<member name="P:Duality.Serialization.SerializeType.IsSerializable">
<summary>
[GET] Returns whether objects of this Type are viable for serialization.
</summary>
</member>
<member name="P:Duality.Serialization.SerializeType.CanBeReferenced">
<summary>
[GET] Returns whether object of this Type can be referenced by other serialized objects.
</summary>
</member>
<member name="P:Duality.Serialization.SerializeType.DefaultValue">
<summary>
[GET] Returns the default instance for objects of this type. This is a cached instance
of <see cref="M:Duality.ObjectCreator.GetDefaultOf(System.Reflection.TypeInfo)"/>.
</summary>
</member>
<member name="T:Duality.Serialization.DataType">
<summary>
This enum is used by Dualitys serializers to distinguish between certain kinds of data.
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Unknown">
<summary>
Unknown data type
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Bool">
<summary>
A <see cref="T:System.Boolean"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Byte">
<summary>
A <see cref="T:System.Byte"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.SByte">
<summary>
A <see cref="T:System.SByte"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Short">
<summary>
A <see cref="T:System.Int16"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.UShort">
<summary>
A <see cref="T:System.UInt16"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Int">
<summary>
A <see cref="T:System.Int32"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.UInt">
<summary>
A <see cref="T:System.UInt32"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Long">
<summary>
A <see cref="T:System.Int64"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.ULong">
<summary>
A <see cref="T:System.UInt64"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Float">
<summary>
A <see cref="T:System.Single"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Double">
<summary>
A <see cref="T:System.Double"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Decimal">
<summary>
A <see cref="T:System.Decimal"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Char">
<summary>
A <see cref="T:System.Char"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.String">
<summary>
A <see cref="T:System.String"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Type">
<summary>
A <see cref="T:System.Type"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.MemberInfo">
<summary>
A <see cref="T:System.Reflection.MemberInfo"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Delegate">
<summary>
A <see cref="T:System.Delegate"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Enum">
<summary>
A <see cref="T:System.Enum"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Array">
<summary>
A <see cref="T:System.Array"/> value
</summary>
</member>
<member name="F:Duality.Serialization.DataType.Struct">
<summary>
A struct object
</summary>
</member>
<member name="F:Duality.Serialization.DataType.ObjectRef">
<summary>
The reference to an object
</summary>
</member>
<member name="T:Duality.Serialization.ExtMethodsDataType">
<summary>
Extension methods for <see cref="T:Duality.Serialization.DataType"/>
</summary>
</member>
<member name="M:Duality.Serialization.ExtMethodsDataType.IsPrimitiveType(Duality.Serialization.DataType)">
<summary>
Returns whether the <see cref="T:Duality.Serialization.DataType"/> represents a primitive data type.
</summary>
<param name="dt"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.ExtMethodsDataType.IsMemberInfoType(Duality.Serialization.DataType)">
<summary>
Returns whether the <see cref="T:Duality.Serialization.DataType"/> represents a <see cref="T:System.Reflection.MemberInfo"/> type.
</summary>
<param name="dt"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.ExtMethodsDataType.HasTypeName(Duality.Serialization.DataType)">
<summary>
Returns whether the specified <see cref="T:Duality.Serialization.DataType"/> requires an explicit type name during serialization.
</summary>
<param name="dt"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.ExtMethodsDataType.HasObjectId(Duality.Serialization.DataType)">
<summary>
Returns whether the specified <see cref="T:Duality.Serialization.DataType"/> requires a unique object id during serialization.
</summary>
<param name="dt"></param>
<returns></returns>
</member>
<member name="M:Duality.Serialization.ExtMethodsDataType.ToActualType(Duality.Serialization.DataType)">
<summary>
Returns the actual <see cref="T:System.Type"/> that is associated with the <see cref="T:Duality.Serialization.DataType"/>.
</summary>
<param name="dt"></param>
<returns></returns>
</member>
<member name="T:Duality.Serialization.Surrogates.DictionarySurrogate">
<summary>
De/Serializes a <see cref="T:System.Collections.Generic.Dictionary`2"/>.
</summary>
</member>
<member name="T:Duality.Serialization.TypeDataLayout">
<summary>
This class provides information about the data layout when de/serializing an object.
</summary>
<seealso cref="T:Duality.Serialization.BinarySerializer"/>
</member>
<member name="M:Duality.Serialization.TypeDataLayout.#ctor(System.IO.BinaryReader)">
<summary>
Initializes a TypeDataLayout from the specified <see cref="T:System.IO.BinaryReader"/>.
</summary>
<param name="r">The BinaryReader from which the type information is read.</param>
</member>
<member name="M:Duality.Serialization.TypeDataLayout.#ctor(Duality.Serialization.TypeDataLayout)">
<summary>
Initializes a TypeDataLayout by cloning an existing TypeDataLayout.
</summary>
<param name="t">The source layout</param>
</member>
<member name="M:Duality.Serialization.TypeDataLayout.#ctor(Duality.Serialization.SerializeType)">
<summary>
Initializes a TypeDataLayout by extracting necessary information from the specified <see cref="T:Duality.Serialization.SerializeType"/>.
</summary>
<param name="t">The source SerializeType.</param>
</member>
<member name="M:Duality.Serialization.TypeDataLayout.Write(System.IO.BinaryWriter)">
<summary>
Writes the TypeDataLayout to the specified <see cref="T:System.IO.BinaryWriter"/>.
</summary>
<param name="w">The BinaryWriter to store the type information.</param>
</member>
<member name="P:Duality.Serialization.TypeDataLayout.Fields">
<summary>
[GET / SET] An array of all the necessary field information, typically one <see cref="T:Duality.Serialization.TypeDataLayout.FieldDataInfo"/>
entry per <see cref="T:System.Reflection.FieldInfo">field</see>.
</summary>
</member>
<member name="T:Duality.Serialization.TypeDataLayout.FieldDataInfo">
<summary>
Holds information about a single field.
</summary>
<see cref="T:System.Reflection.FieldInfo"/>
</member>
<member name="F:Duality.Serialization.TypeDataLayout.FieldDataInfo.name">
<summary>
The fields name
</summary>
</member>
<member name="F:Duality.Serialization.TypeDataLayout.FieldDataInfo.typeString">
<summary>
A string referring to the fields type.
</summary>
</member>
<member name="T:Duality.Time">
<summary>
The Time class provides a global interface for time measurement and control. It affects all time-dependent computations.
Use the <see cref="P:Duality.Time.TimeMult"/> Property to make your own computations time-dependent instead of frame-dependent. Otherwise, your
game logic will depend on how many FPS the player's machine achieves and mit behave differently on very slow or fast machines.
</summary>
</member>
<member name="F:Duality.Time.FPSMult">
<summary>
The amount of frame per second at the desired refresh rate of 60 FPS.
</summary>
</member>
<member name="F:Duality.Time.MsPFMult">
<summary>
Milliseconds a frame takes at the desired refresh rate of 60 FPS
</summary>
</member>
<member name="F:Duality.Time.SPFMult">
<summary>
Seconds a frame takes at the desired refresh rate of 60 FPS
</summary>
</member>
<member name="M:Duality.Time.Freeze">
<summary>
Freezes game time. This will cause the GameTimer to stop and TimeMult to equal zero.
</summary>
</member>
<member name="M:Duality.Time.Resume">
<summary>
Unfreezes game time. TimeMult resumes to its normal value and GameTimer starts running again.
</summary>
</member>
<member name="P:Duality.Time.StartupTime">
<summary>
[GET] Returns the date and time of engine startup.
</summary>
</member>
<member name="P:Duality.Time.MainTimer">
<summary>
[GET] Returns the real time that has passed since engine startup.
</summary>
</member>
<member name="P:Duality.Time.LastDelta">
<summary>
[GET] Time in milliseconds the last frame took. Do not use this for frame-independent calculations. Use
<see cref="P:Duality.Time.TimeMult"/> instead.
</summary>
</member>
<member name="P:Duality.Time.Fps">
<summary>
[GET] Frames per Second
</summary>
</member>
<member name="P:Duality.Time.GameTimer">
<summary>
[GET] Returns the game time that has passed since engine startup. Since it's game time, this timer will stop
when pausing or freezing and also run slower or faster according to <see cref="P:Duality.Time.TimeScale"/>.
</summary>
</member>
<member name="P:Duality.Time.TimeMult">
<summary>
[GET] Multiply any frame-independend movement or change with this factor.
It also applies the time scale you set.
</summary>
</member>
<member name="P:Duality.Time.TimeScale">
<summary>
[GET / SET] Specifies how fast game time runs compared to real time i.e. how
fast the game runs. May be used for slow motion effects.
</summary>
</member>
<member name="P:Duality.Time.FrameCount">
<summary>
[GET] The number of frames passed since startup
</summary>
</member>
<member name="T:Duality.Drawing.IVertexData">
<summary>
A general interface for different types of vertex data.
</summary>
</member>
<member name="P:Duality.Drawing.IVertexData.Declaration">
<summary>
[GET] The <see cref="T:Duality.Drawing.VertexDeclaration"/> that specifies size, layout and roles of the vertex fields.
This member is static by design.
</summary>
</member>
<member name="P:Duality.Drawing.IVertexData.Pos">
<summary>
[GET] The vertices position.
</summary>
</member>
<member name="P:Duality.Drawing.IVertexData.Color">
<summary>
[GET] The vertices color.
</summary>
</member>
<member name="T:Duality.Drawing.VertexC1P3T4A1">
<summary>
Vertex data providing each vertex a position (3x4 byte), color (1x4 byte), two texture coordinates (4x4 byte)
and a custom float vertex attribute (1x4 byte).
</summary>
</member>
<member name="F:Duality.Drawing.VertexC1P3T4A1.Color">
<summary>
The vertices color.
</summary>
</member>
<member name="F:Duality.Drawing.VertexC1P3T4A1.Pos">
<summary>
The vertices position.
</summary>
</member>
<member name="F:Duality.Drawing.VertexC1P3T4A1.TexCoord">
<summary>
The vertices texture coordinates (two of them).
</summary>
</member>
<member name="F:Duality.Drawing.VertexC1P3T4A1.Attrib">
<summary>
The vertices custom attribute.
</summary>
</member>
<member name="T:Duality.Drawing.VertexC1P3T2">
<summary>
Vertex data providing each vertex a position (3x4 byte), color (1x4 byte) and texture coordinate (2x4 byte)
</summary>
</member>
<member name="F:Duality.Drawing.VertexC1P3T2.Color">
<summary>
The vertices color.
</summary>
</member>
<member name="F:Duality.Drawing.VertexC1P3T2.Pos">
<summary>
The vertices position.
</summary>
</member>
<member name="F:Duality.Drawing.VertexC1P3T2.TexCoord">
<summary>
The vertices texture coordinate.
</summary>
</member>
<member name="T:Duality.Drawing.VertexC1P3">
<summary>
Vertex data providing each vertex a position (3x4 byte) and color (1x4 byte).
</summary>
</member>
<member name="F:Duality.Drawing.VertexC1P3.Pos">
<summary>
The vertices position.
</summary>
</member>
<member name="F:Duality.Drawing.VertexC1P3.Color">
<summary>
The vertices color.
</summary>
</member>
</members>
</doc>