SHADE_Y3/bin/Debug/SHADE_Managed.xml

6250 lines
272 KiB
XML
Raw Normal View History

<?xml version="1.0"?>
<doc>
<assembly>
"SHADE_Managed"
</assembly>
<members>
<member name="M:SHADE.Input.GetMouseReleasedTime(SHADE.Input.MouseCode)">
<summary>
Retrieves the duration that the specified key has not been held or was last
not been held for.
</summary>
<param name="key">The key to check.</param>
<returns>Time in seconds that the key was held.</returns>
</member>
<member name="M:SHADE.Input.GetMouseHeldTime(SHADE.Input.MouseCode)">
<summary>
Retrieves the duration that the specified key has been held or was last held
for.
</summary>
<param name="key">The key to check.</param>
<returns>Time in seconds that the key was held.</returns>
</member>
<member name="M:SHADE.Input.GetKeyReleasedTime(SHADE.Input.KeyCode)">
<summary>
Retrieves the duration that the specified key has not been held or was last
not been held for.
</summary>
<param name="key">The key to check.</param>
<returns>Time in seconds that the key was held.</returns>
</member>
<member name="M:SHADE.Input.GetKeyHeldTime(SHADE.Input.KeyCode)">
<summary>
Retrieves the duration that the specified key has been held or was last held
for.
</summary>
<param name="key">The key to check.</param>
<returns>Time in seconds that the key was held.</returns>
</member>
<member name="M:SHADE.Input.SetMousePosition(SHADE.Vector2)">
<summary>
Sets the position of the mouse cursor relative to the top left corner of the
window.
</summary>
<param name="pos">
Position of the mouse in window pixel coordinates to set.
</param>
</member>
<member name="M:SHADE.Input.GetMouseButtonUp(SHADE.Input.MouseCode)">
<summary>
Checks if a specified mouse button is no longer pressed and was pressed
before.
</summary>
<param name="mouseButton">MouseCode of the mouse button to check.</param>
<returns>
True during the frame the user releases the given mouse button.
</returns>
</member>
<member name="M:SHADE.Input.GetMouseButtonDown(SHADE.Input.MouseCode)">
<summary>
Checks if a specified mouse button is pressed and was not pressed before.
</summary>
<param name="mouseButton">MouseCode of the mouse button to check.</param>
<returns>
True during the frame the user pressed the given mouse button.
</returns>
</member>
<member name="M:SHADE.Input.GetMouseButton(SHADE.Input.MouseCode)">
<summary>
Checks if a specified mouse button is being held down.
This will also be true if GetMouseButtonDown() is true.
</summary>
<param name="mouseButton">MouseCode of the mouse button to check.</param>
<returns>True while the user holds down the mouse button specified.</returns>
</member>
<member name="M:SHADE.Input.GetKeyUp(SHADE.Input.KeyCode)">
<summary>
Checks if a specified key is no longer pressed pressed and was pressed
before.
</summary>
<param name="key">KeyCode of the key to check.</param>
<returns>
True during the frame the user releases the key identified by name.
</returns>
</member>
<member name="M:SHADE.Input.GetKeyDown(SHADE.Input.KeyCode)">
<summary>
Checks if a specified key is pressed and was not pressed before.
</summary>
<param name="key">KeyCode of the key to check.</param>
<returns>
True during the frame the user starts pressing down the key specified.
</returns>
</member>
<member name="M:SHADE.Input.GetKey(SHADE.Input.KeyCode)">
<summary>
Checks if a specified key is being held down.
This will also be true if GetKeyDown() is true.
</summary>
<param name="key">KeyCode of the key to check.</param>
<returns>True while the user holds down the key specified.</returns>
</member>
<member name="P:SHADE.Input.MouseScrollDelta">
<summary>
Amnount of vertical mouse scroll in this frame.
</summary>
</member>
<member name="P:SHADE.Input.MousePosition">
<summary>
Mouse position in screen coordinates relative to the top left of the window.
This value is a Vector3 for compatibility with functions that have Vector3
arguments. The z component of the Vector3 is always 0
</summary>
</member>
<member name="T:SHADE.Input.MouseCode">
<summary>
Represents the available supported mouse keycodes that can be passed into the
mouse-button-based Input functions.
</summary>
</member>
<member name="T:SHADE.Input.KeyCode">
<summary>
Represents the available supported keycodes that can be passed into the
key-based Input functions.
Attempting to follow https://docs.unity3d.com/ScriptReference/KeyCode.html
Win32 keycodes are shift-insensitive, i.e. 'A' and 'a' are the same keycode and '1' and '!' are the same keycode
</summary>
</member>
<member name="T:SHADE.Input">
<summary>
Static class responsible for providing access to Input-related functionality.
</summary>
</member>
<member name="T:SHADE.SerializeField">
<summary>
Simple attribute to mark that a field in a Script should be serialised.
</summary>
</member>
<member name="M:SHADE.EngineInterface.Exit">
<summary>
Cleans up all required components for managed code.
</summary>
</member>
<member name="M:SHADE.EngineInterface.ReloadScriptAssembly">
<summary>
Reloads the managed script assembly.
Take note that this will clear all existing scripts, ensure that the scene
is saved before doing so.
Equivalent to calling UnloadScriptAssembly() and then LoadScriptAssembly().
</summary>
</member>
<member name="M:SHADE.EngineInterface.LoadScriptAssembly">
<summary>
Loads the managed script assembly. Ensure this is only called after
UnloadScriptAssembly() has been called.
</summary>
</member>
<member name="M:SHADE.EngineInterface.UnloadScriptAssembly">
<summary>
Unloads the managed script assembly.
Take note that this will clear all existing scripts, ensure that the scene
is saved before doing so.
</summary>
</member>
<member name="M:SHADE.EngineInterface.Init">
<summary>
Initialises all required components for managed code.
</summary>
</member>
<member name="F:SHADE.EngineInterface.ManagedLibraryName">
<summary>
Name of the Managed Library that contains the C# scripts written externally.
</summary>
</member>
<member name="T:SHADE.EngineInterface">
<summary>
Static class that contains the functions for interfacing with the core
PlushieEngine written in C++ for managing the lifecycle of managed code.
</summary>
</member>
<member name="M:SHADE.DisposableAssemblyLoadContext.#ctor">
<summary>
Default Constructor
</summary>
</member>
<member name="T:SHADE.DisposableAssemblyLoadContext">
<summary>
Custom AssemblyLoadContext marked as collectible so that it can be unloaded.
</summary>
</member>
<member name="P:SHADE.Time.FixedDeltaTime">
<summary>
Time taken for Physics simulations. You should use this for operations
within Script.FixedUpdate()
</summary>
</member>
<member name="P:SHADE.Time.DeltaTime">
<summary>
Time taken to process the previous frame.
</summary>
</member>
<member name="T:SHADE.Time">
<summary>
Static class that contains the functions for working with time.
</summary>
</member>
<member name="T:SHADE.SHPhysicsSystemInterface">
<summary>
Static class that wraps up certain functions in the SHPhysicsSystem so that
accessing it from SHADE_Managed would not cause issues due to C++20 features.
</summary>
</member>
<member name="M:SHADE.TooltipAttribute.#ctor(System.String)">
<summary>
Constructor for a Tooltip attribute that fills in the description.
</summary>
<param name="description">Text to be shown when a field is hovered.</param>
</member>
<member name="P:SHADE.TooltipAttribute.Description">
<summary>
Description that is to be shown in the Tooltip.
</summary>
</member>
<member name="T:SHADE.TooltipAttribute">
<summary>
Simple attribute to provide a field in a script with a tooltip.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.fileExists(std.filesystem.path!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Checks if a specified file exists.
</summary>
<param name="filePath">File path to the file to check.</param>
<returns> True if the file exists </returns>
</member>
<member name="M:SHADE.SHScriptEngine.deleteFolder(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Deletes the folder and all files in it as specified by the file path.
</summary>
<param name="filePath">File path to the file to delete.</param>
</member>
<member name="M:SHADE.SHScriptEngine.deleteFile(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Deletes the file as specified by the file path.
</summary>
<param name="filePath">File path to the file to delete.</param>
</member>
<member name="M:SHADE.SHScriptEngine.dumpBuildLog(std.basic_string_view&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte}&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Reads the file via the specified path that represents a build log of error
and warning messages.
</summary>
<param name="buildLogPath">
File path to the build log of script builds done by BuildScriptAssembly() to
dump and process.
</param>
</member>
<member name="M:SHADE.SHScriptEngine.registerEvents">
<summary>
Registers events for the scripting system
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.loadFunctions">
<summary>
Loads all the function pointers to CLR code that we need to execute.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.GenerateScriptsCsProjFile(std.filesystem.path!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Generates a .csproj file for editing and compiling the C# scripts.
</summary>
<param name="path">File path to the generated file.</param>
</member>
<member name="M:SHADE.SHScriptEngine.BuildScriptAssembly(System.Boolean,System.Boolean)">
<summary>
Utilises execution of a external batch file for invoking the dotnet build
tool to compile C# scripts in the Assets folder into the SHADE_Scripting
C# assembly DLL.
</summary>
<param name="debug">
Whether or not a debug build will be built. Only debug built C# assemblies
can be debugged.
</param>
<param name="reload">
Whether or not we are reloading the assembly, if so, unload and then reload it.
</param>
<returns>Whether or not the build succeeded.</returns>
</member>
<member name="M:SHADE.SHScriptEngine.RedoScriptInspectorChanges">
<summary>
Performs a redo for script inspector changes if it exists.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.UndoScriptInspectorChanges">
<summary>
Performs an undo for script inspector changes if it exists.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.RenderScriptsInInspector(System.UInt32)">
<summary>
Renders the set of attached Scripts for the specified Entity into the
inspector.
<br />
This function is meant for consumption from native code in the inspector
rendering code.
</summary>
<param name="entity">The Entity to render the Scripts of.</param>
</member>
<member name="M:SHADE.SHScriptEngine.DeserialiseScripts(System.UInt32,YAML.Node!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Creates scripts and sets fields for the specified Entity based on the specified
YAML node.
</summary>
<param name="entity">The Entity to deserialise a Script on to.</param>
<param name="scriptsNode">
YAML Node that contains the serialised script data.
</param>
<return>True if successfully deserialised.</return>
</member>
<member name="M:SHADE.SHScriptEngine.SerialiseScripts(System.UInt32,YAML.Node*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Performs serialization of all scripts for the specified entity into the
YAML::Node specified. This node will contain all serialised scripts after
calling this function.
</summary>
<param name="entity">The Entity to Serialise.</param>
<param name="scriptsNode">
YAML Node that will store the serialised scripts.
</param>
<return>True if successfully serialised.</return>
</member>
<member name="M:SHADE.SHScriptEngine.RemoveAllScriptsImmediately(System.UInt32,System.Boolean)">
<summary>
Removes all Scripts attached to the specified Entity. Unlike
RemoveAllScripts(), this removes all the scripts immediately.
Does not do anything if the specified Entity is invalid or does not have any
Scripts attached.
</summary>
<param name="entity">The entity to remove the scripts from.</param>
<param name="callOnDestroy">
Whether or not to call OnDestroy on the scripts. This is ignored if not in
play mode.
</param>
</member>
<member name="M:SHADE.SHScriptEngine.RemoveAllScripts(System.UInt32)">
<summary>
Removes all Scripts attached to the specified Entity. Does not do anything
if the specified Entity is invalid or does not have any Scripts
attached.
</summary>
<param name="entity">The entity to remove the scripts from.</param>
</member>
<member name="M:SHADE.SHScriptEngine.AddScript(System.UInt32,std.basic_string_view&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte}&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Adds a Script to a specified Entity. Note that while you can call this
multiple times on a specified Entity, it will work for all intents and
purposes but GetScript&lt;T&gt;() (C# only) currently only
gives you the first Script added of the specified type.
</summary>
<param name="entity">The entity to add a script to.</param>
<param name="scriptName">Type name of the script to add.</param>
<returns>
True if successfully added. False otherwise with the error logged to the
console.
</returns>
</member>
<member name="M:SHADE.SHScriptEngine.Exit">
<summary>
Shuts down the DotNetRuntime.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.ExecuteCollisionFunctions">
<summary>
Executes the OnCollision*()s and OnTrigger*()s of the Scripts that are attached
to Entities.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.ExecuteFixedUpdates">
<summary>
Executes the FixedUpdate()s of the Scripts that are attached to
Entities.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.ReloadScriptAssembly">
<summary>
Reloads the managed script assembly.
Take note that this will clear all existing scripts, ensure that the scene
is saved before doing so.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.LoadScriptAssembly">
<summary>
Unloads the managed script assembly.
Take note that this will clear all existing scripts, ensure that the scene
is saved before doing so.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.UnloadScriptAssembly">
<summary>
Loads the managed script assembly. Ensure this is only called after
UnloadScriptAssembly() has been called.
</summary>
</member>
<member name="M:SHADE.SHScriptEngine.Init">
<summary>
Initialises the DotNetRuntime and retrieves function pointers to all
functions on the CLR used to interface with the engine.
</summary>
</member>
<member name="T:SHADE.SHScriptEngine">
<summary>
Manages initialisation of the DotNetRuntime and interfacing with CLR code written
and executed on .NET.
</summary>
</member>
<member name="M:SHADE.ReflectionUtilities.Deserialise(System.Object,YAML.Node*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Deserialises a YAML node that contains a map of Scripts and copies the
deserialised data into the specified object if there are matching fields.
</summary>
<param name="yamlNode">
The JSON string that contains the data to copy into this Script object.
</param>
<param name="object">The object to copy deserialised data into.</param>
</member>
<member name="M:SHADE.ReflectionUtilities.Serialise(System.Object,YAML.Node*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Creates a JSON node that represents the specified object and its associated
serialisable fields. Public fields and fields marked with the SerialiseField
attribute will be serialised.
</summary>
<param name="object">The object to serialise.</param>
</member>
<member name="M:SHADE.ReflectionUtilities.FieldIsSerialisable(System.Reflection.FieldInfo)">
<summary>
Checks if a specified field is a candidate for serialisation. This means that
the field is public or private with the [SerialiseField] attribute.
</summary>
<param name="fieldInfo">The field to check.</param>
<returns>
True if the specified field is a candidate for serialisation.
</returns>
</member>
<member name="M:SHADE.ReflectionUtilities.GetInstanceFields(System.Object)">
<summary>
Retrieves a set of all non-static (instance) fields from a specified object.
</summary>
<param name="object">The object to get non-static fields from.</param>
<returns>Immutable list of non-static fields.</returns>
</member>
<member name="T:SHADE.ReflectionUtilities">
<summary>
Contains useful static functions for working with Reflection.
</summary>
</member>
<member name="M:YAML.Dump(YAML.Node!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Converts the node to a YAML string.
</member>
<member name="M:YAML.op_LeftShift(std.basic_ostream&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte}&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,YAML.Node!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Emits the node to the given output stream.
</member>
<member name="M:YAML.op_LeftShift(YAML.Emitter*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,YAML.Node!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Emits the node to the given {@link Emitter}. If there is an error in writing,
{@link Emitter#good} will return false.
</member>
<member name="M:YAML.LoadAllFromFile(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Loads the input file as a list of YAML documents.
@throws {@link ParserException} if it is malformed.
@throws {@link BadFile} if the file cannot be loaded.
</member>
<member name="M:YAML.LoadAll(std.basic_istream&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte}&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Loads the input stream as a list of YAML documents.
@throws {@link ParserException} if it is malformed.
</member>
<member name="M:YAML.LoadAll(System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte!System.Runtime.CompilerServices.IsConst*)">
Loads the input string as a list of YAML documents.
@throws {@link ParserException} if it is malformed.
</member>
<member name="M:YAML.LoadAll(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Loads the input string as a list of YAML documents.
@throws {@link ParserException} if it is malformed.
</member>
<member name="M:YAML.LoadFile(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Loads the input file as a single YAML document.
@throws {@link ParserException} if it is malformed.
@throws {@link BadFile} if the file cannot be loaded.
</member>
<member name="M:YAML.Load(std.basic_istream&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte}&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Loads the input stream as a single YAML document.
@throws {@link ParserException} if it is malformed.
</member>
<member name="M:YAML.Load(System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte!System.Runtime.CompilerServices.IsConst*)">
Loads the input string as a single YAML document.
@throws {@link ParserException} if it is malformed.
</member>
<member name="M:YAML.Load(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Loads the input string as a single YAML document.
@throws {@link ParserException} if it is malformed.
</member>
<member name="M:YAML.Parser.HandleTagDirective(YAML.Token!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Handles a "TAG" directive, which should be of the form 'handle prefix',
where 'handle' is converted to 'prefix' in the file.
</member>
<member name="M:YAML.Parser.HandleYamlDirective(YAML.Token!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Handles a "YAML" directive, which should be of the form 'major.minor' (like
a version number).
</member>
<member name="M:YAML.Parser.ParseDirectives">
Reads any directives that are next in the queue, setting the internal
{@code m_pDirectives} state.
</member>
<member name="M:YAML.Parser.HandleNextDocument(YAML.EventHandler*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Handles the next document by calling events on the {@code eventHandler}.
@throw a ParserException on error.
@return false if there are no more documents
</member>
<member name="M:YAML.Parser.Load(std.basic_istream&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte}&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Resets the parser with the given input stream. Any existing state is
erased.
</member>
<member name="M:YAML.Parser.op_Explicit~System.Boolean">
Evaluates to true if the parser has some valid input to be read.
</member>
<member name="M:YAML.Parser.#ctor(std.basic_istream&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte}&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Constructs a parser from the given input stream. The input stream must
live as long as the parser.
</member>
<member name="M:YAML.Parser.#ctor">
Constructs an empty parser (with no input.
</member>
<member name="T:YAML.Parser">
A parser turns a stream of bytes into one stream of "events" per YAML
document in the input stream.
</member>
<member name="M:SHADE.Editor.renderScriptContextMenu(System.UInt32,SHADE.Script)">
<summary>
Renders a context menu when right clicked for the scripts
</summary>
<param name="entity">The Entity to render the Scripts of.</param>
<param name="script">The Script to render the inspector for.</param>
</member>
<member name="M:SHADE.Editor.renderFieldInInspector(System.Reflection.FieldInfo,System.Object)">
<summary>
Renders a field specified into the inspector.
</summary>
<param name="field">The field to render.</param>
<param name="object">
The object that contains the data of the field to render.
</param>
</member>
<member name="M:SHADE.Editor.renderScriptInInspector(System.UInt32,SHADE.Script,System.Int32)">
<summary>
Renders a single specified Script's inspector.
</summary>
<param name="entity">The Entity to render the Scripts of.</param>
<param name="script">The Script to render the inspector for.</param>
<param name="index">
Indices used internally to differentiate each rendered Script
inspector. This is required to open and close each Script's inspector
independently from each other.
</param>
</member>
<member name="M:SHADE.Editor.Redo">
<summary>
Redoes the last script inspector change if there is any.
</summary>
</member>
<member name="M:SHADE.Editor.Undo">
<summary>
Undoes the last script inspector change if there is any.
</summary>
</member>
<member name="M:SHADE.Editor.RenderScriptAddButton(System.UInt32)">
<summary>
Renders a dropdown button that allows for the addition of PlushieScripts
onto the specified Entity.
</summary>
<param name="entity">The Entity to add PlushieScripts to.</param>
</member>
<member name="M:SHADE.Editor.RenderScriptsInInspector(System.UInt32)">
<summary>
Renders the set of attached Scripts for the specified Entity into the
inspector.
<br />
This function is meant for consumption from native code in the inspector
rendering code.
</summary>
<param name="entity">The Entity to render the Scripts of.</param>
</member>
<member name="T:SHADE.Editor">
<summary>
Static class for Editor-related functions
</summary>
</member>
<member name="M:SHADE.ScriptStore.DeserialiseScripts(System.UInt32,System.IntPtr)">
<summary>
Processes a YAML node that contains a list of multiple scripts to be loaded
into the specified Entity.
<br /><br />
This function should only be called from native unmanaged code.
</summary>
<param name="entity">
The Entity to attach the deserialised Scripts to.
</param>
<param name="yaml">
Pointer to the YAML::Node that contains serialized script data.
</param>
<returns />
</member>
<member name="M:SHADE.ScriptStore.SerialiseScripts(System.UInt32,System.IntPtr)">
<summary>
Populates a YAML node with the scripts for a specified Entity.
<br /><br />
This function should only be called from native unmanaged code.
</summary>
<param name="entity">The Entity to Serialise.</param>
<param name="yamlNode">
Pointer to a YAML::Node that will be populated with all of the serialised
scripts and their associated fields.
</param>
<returns>
True if serialisation is successful. False if the buffer is too small for
the serialised output.
</returns>
</member>
<member name="M:SHADE.ScriptStore.ExecuteCollisionFunctions">
<summary>
Executes OnCollision*() and OnTrigger*() for all scripts.
</summary>
</member>
<member name="M:SHADE.ScriptStore.ExecuteLateUpdate">
<summary>
Executes LateUpdate() for all scripts.
</summary>
</member>
<member name="M:SHADE.ScriptStore.ExecuteUpdate">
<summary>
Executes Update() for all scripts.
</summary>
</member>
<member name="M:SHADE.ScriptStore.ExecuteFixedUpdate">
<summary>
Executes FixedUpdate() for all scripts.
</summary>
</member>
<member name="M:SHADE.ScriptStore.GetAvailableScriptList">
<summary>
Retrieves a immutable list of available scripts that can be added.
</summary>
<returns>Immutable list of available scripts that can be added.</returns>
</member>
<member name="M:SHADE.ScriptStore.Exit">
<summary>
Cleans up data stored in the ScriptStore to free up memory for garbage
collection.
</summary>
</member>
<member name="M:SHADE.ScriptStore.FrameCleanUp">
<summary>
Cleans up scripts that were marked for deletion. This calls the OnDestroy()
for these Scripts.
</summary>
</member>
<member name="M:SHADE.ScriptStore.FrameSetUp">
<summary>
Sets up scripts that were marked for initialization. This calls the Awake()
and Start() for Scripts that have yet to have done so.
</summary>
</member>
<member name="M:SHADE.ScriptStore.Init">
<summary>
Initializes the ScriptStore to allocate and pre-populate reflection data.
</summary>
</member>
<member name="M:SHADE.ScriptStore.RemoveAllScriptsImmediately(System.UInt32,System.Boolean)">
<summary>
Removes all Scripts attached to the specified Entity. Unlike
RemoveAllScripts(), this removes all the scripts immediately.
Does not do anything if the specified Entity is invalid or does not have any
Scripts attached.
</summary>
<param name="entity">The entity to remove the scripts from.</param>
<param name="callOnDestroy">
Whether or not to call OnDestroy on the scripts.This is ignored if not in
play mode.
</param>
</member>
<member name="M:SHADE.ScriptStore.RemoveAllScripts(System.UInt32)">
<summary>
Removes all Scripts attached to the specified Entity. Does not do anything
if the specified Entity is invalid or does not have any Scripts
attached.
</summary>
<param name="entity">The entity to remove the scripts from.</param>
</member>
<member name="M:SHADE.ScriptStore.RemoveScript(System.UInt32,SHADE.Script)">
<summary>
Removes a specific script from the
</summary>
<param name="entity">The entity to remove the script from.</param>
<param name="script">The script to remove.</param>
<returns>True if successfully removed. False otherwise.</returns>
</member>
<member name="M:SHADE.ScriptStore.RemoveScript``1(System.UInt32)">
<summary>
Removes all Scripts of the specified type from the specified Entity.
</summary>
<typeparam name="T">
Type of script to remove.
This needs to be a default constructable Script.
</typeparam>
<param name="entity">The entity to remove the script from.</param>
<exception cref="!:ArgumentException">
If the specified Entity is invalid.
</exception>
</member>
<member name="M:SHADE.ScriptStore.GetAllScripts(System.UInt32)">
<summary>
Retrieves an immutable list of all scripts attached to a specified Entity.
</summary>
<param name="entity">
The entity which the scripts to retrieve are attached.
</param>
<returns>
Immutable list of references to scripts attached to the specified Entity.
This can also be null if there are no scripts at all or an invalid Entity
was specified.
</returns>
</member>
<member name="M:SHADE.ScriptStore.GetScripts``1(System.UInt32)">
<summary>
Retrieves a immutable list of scripts from the specified Entity that
matches the specified type.
<br />
Note that this function allocates. It should be used sparingly.
</summary>
<typeparam name="T">
Type of scripts to get.
This needs to be a default constructable Script.
</typeparam>
<param name="entity">
The entity which the scripts to retrieve are attached.
</param>
<returns>
Immutable list of references to scripts of the specified type.
</returns>
</member>
<member name="M:SHADE.ScriptStore.GetScriptInChildren``1(System.UInt32)">
<summary>
Retrieves the first Script from the specified Entity's children that matches
the specified type.
</summary>
<typeparam name="T">
Type of script to get.
This needs to be a default constructable Script.
</typeparam>
<param name="entity">
The entity which the script to retrieve is attached.
</param>
<returns>
Reference to the script. This can be null if no script of the specified
type is attached.
</returns>
<exception cref="!:ArgumentException">
If the specified Entity is invalid.
</exception>
</member>
<member name="M:SHADE.ScriptStore.GetScript``1(System.UInt32)">
<summary>
Retrieves the first Script from the specified Entity that matches the
specified type.
</summary>
<typeparam name="T">
Type of script to get.
This needs to be a default constructable Script.
</typeparam>
<param name="entity">
The entity which the script to retrieve is attached.
</param>
<returns>
Reference to the script. This can be null if no script of the specified
type is attached.
</returns>
<exception cref="!:ArgumentException">
If the specified Entity is invalid.
</exception>
</member>
<member name="M:SHADE.ScriptStore.AddScriptViaNameWithRef(System.UInt32,System.String,SHADE.Script@)">
<summary>
Adds a Script to a specified Entity.
<br />
This function is meant for consumption from native code or for serialisation
purposes. If you are writing in C# or C++/CLI and not doing serialisation,
use AddScript&lt;T&gt;() instead as it is faster.
</summary>
<param name="entity">The entity to add a script to.</param>
<param name="scriptName">The entity to add a script to.</param>
<param name="createdScript">
Out parameter handle to the Script that was created.
</param>
<returns>
True if successfully added. False otherwise with the error logged to the
console.
</returns>
</member>
<member name="M:SHADE.ScriptStore.AddScriptViaName(System.UInt32,System.String)">
<summary>
Adds a Script to a specified Entity.
<br />
This function is meant for consumption from native code. If you are writing
in C# or C++/CLI, use AddScript&lt;T&gt;() instead as it is faster.
</summary>
<param name="entity">The entity to add a script to.</param>
<param name="scriptName">The entity to add a script to.</param>
<returns>
True if successfully added. False otherwise with the error logged to the
console.
</returns>
</member>
<member name="M:SHADE.ScriptStore.AddScript``1(System.UInt32)">
<summary>
Adds a Script to a specified Entity.
</summary>
<typeparam name="T">
Type of script to add.
This needs to be a default constructable PlushieScript.
</typeparam>
<param name="entity">The entity to add a script to.</param>
<returns>Reference to the script added.</returns>
<exception cref="!:ArgumentException">
If the specified Entity is invalid.
</exception>
</member>
<member name="T:SHADE.ScriptStore">
<summary>
Responsible for managing all scripts attached to Entities as well as executing
all lifecycle functions of scripts.
</summary>
</member>
<member name="M:SHADE.Color.op_Inequality(SHADE.Color,SHADE.Color)">
<summary>
Checks if two Colors are not approximately equal.
</summary>
<param name="lhs">Color to compare.</param>
<param name="rhs">Another Color to compare.</param>
<returns>
True if all components are not approximately equal within the default
tolerance value.
</returns>
</member>
<member name="M:SHADE.Color.op_Equality(SHADE.Color,SHADE.Color)">
<summary>
Checks if two Colors are approximately equal.
</summary>
<param name="lhs">Color to compare.</param>
<param name="rhs">Another Color to compare.</param>
<returns>
True if all components are approximately equal within the default
tolerance value.
</returns>
</member>
<member name="M:SHADE.Color.op_Division(SHADE.Color,System.Single)">
<summary>
Calculates the division of a Color with a scalar value and returns
the result.
</summary>
<param name="lhs">Scalar to divide with.</param>
<param name="rhs">Color to divide with.</param>
<returns>The result of the scalar division.</returns>
</member>
<member name="M:SHADE.Color.op_Multiply(SHADE.Color,System.Single)">
<summary>
Calculates the multiplication of a Color with a scalar value and returns
the result.
</summary>
<param name="lhs">Color to multiply with.</param>
<param name="rhs">Scalar to multiply with.</param>
<returns>The result of the scalar multiplication.</returns>
</member>
<member name="M:SHADE.Color.op_Multiply(SHADE.Color,SHADE.Color)">
<summary>
Calculates the component-wise multiplication of two Colors and returns the
result.
</summary>
<param name="lhs">Color to multiply with.</param>
<param name="rhs">Another Color to multiply with.</param>
<returns>The result of rhs subtracted from lhs.</returns>
</member>
<member name="M:SHADE.Color.op_Subtraction(SHADE.Color,SHADE.Color)">
<summary>
Subtracts a Color from another Color and returns the result.
</summary>
<param name="lhs">Color to subtract from.</param>
<param name="rhs">Another Color to subtract.</param>
<returns>The result of rhs subtracted from lhs.</returns>
</member>
<member name="M:SHADE.Color.op_Addition(SHADE.Color,SHADE.Color)">
<summary>
Adds two Colors together and returns the result.
</summary>
<param name="lhs">Color to add.</param>
<param name="rhs">Another Color to add.</param>
<returns>The result of lhs added to rhs</returns>
</member>
<member name="M:SHADE.Color.LerpUnclamped(SHADE.Color,SHADE.Color,System.Single)">
<summary>
Linearly interpolates between two specified points.
This is most commonly used to find a point some fraction of the way along a
line between two endpoints.
Unlike Lerp(), t is not clamped to a range at all.
</summary>
<param name="colA">The start Color, returned when t = 0.0.</param>
<param name="colB">The end Color, returned when t = 1.0.</param>
<param name="t">Value used to interpolate between a and b.</param>
<returns>The interpolated Color.</returns>
</member>
<member name="M:SHADE.Color.Lerp(SHADE.Color,SHADE.Color,System.Single)">
<summary>
Linearly interpolates between two specified points.
This is most commonly used to find a point some fraction of the way along a
line between two endpoints.
</summary>
<param name="colA">The start Color, returned when t = 0.0.</param>
<param name="colB">The end Color, returned when t = 1.0.</param>
<param name="t">
Value used to interpolate between a and b which is clamped to
the range[0, 1].
</param>
<returns>The interpolated Vector3.</returns>
</member>
<member name="M:SHADE.Color.GetHashCode">
<summary>
Gets a unique hash for this object.
</summary>
<returns>Unique hash for this object.</returns>
</member>
<member name="M:SHADE.Color.Equals(System.Object)">
<summary>
Compares equality with another unboxed object.
</summary>
<param name="o">The unboxed object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.Color.Equals(SHADE.Color)">
<summary>
Compares equality with an object of the same type.
</summary>
<param name="other">The object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="F:SHADE.Color.a">
<summary>
Alpha component of the colour. Ranges from 0.0f to 1.0f.
</summary>
</member>
<member name="F:SHADE.Color.b">
<summary>
Blue component of the colour. Ranges from 0.0f to 1.0f.
</summary>
</member>
<member name="F:SHADE.Color.g">
<summary>
Green component of the colour. Ranges from 0.0f to 1.0f.
</summary>
</member>
<member name="F:SHADE.Color.r">
<summary>
Red component of the colour. Ranges from 0.0f to 1.0f.
</summary>
</member>
<member name="M:SHADE.Color.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructor to construct a Color with the specified components.
</summary>
<param name="_red">Red component to set.</param>
<param name="_green">Green component to set.</param>
<param name="_blue">Blue component to set.</param>
<param name="_alpha">Alpha component to set.</param>
</member>
<member name="M:SHADE.Color.#ctor(System.Single,System.Single,System.Single)">
<summary>
Constructor to construct a Color with the specified components with the
alpha component set to 1.0f.
</summary>
<param name="_red">Red component to set.</param>
<param name="_green">Green component to set.</param>
<param name="_blue">Blue component to set.</param>
</member>
<member name="M:SHADE.Color.#ctor(System.Single,System.Single)">
<summary>
Constructor to construct a Color with the specified components with the
blue and alpha component set to 1.0f.
</summary>
<param name="_red">Red component to set.</param>
<param name="_green">Green component to set.</param>
</member>
<member name="M:SHADE.Color.#ctor(System.Single)">
<summary>
Constructor to construct a Color with the specified components with the
green, blue and alpha component set to 1.0f.
</summary>
<param name="_red">Red component to set.</param>
</member>
<member name="P:SHADE.Color.Defaults.Yellow">
<summary>
Pure yellow, mix of pure red and green.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.Magenta">
<summary>
Pure magenta, mix of pure red and blue.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.Cyan">
<summary>
Pure cyan, mix of pure green and blue.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.Blue">
<summary>
Pure blue.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.Green">
<summary>
Pure green.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.Red">
<summary>
Pure red.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.White">
<summary>
Pure white.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.DarkGray">
<summary>
Dark Gray, darker than gray.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.Gray">
<summary>
Gray, halfway between black and white.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.LightGray">
<summary>
Light Gray, lighter than gray.
</summary>
</member>
<member name="P:SHADE.Color.Defaults.Black">
<summary>
Pure black.
</summary>
</member>
<member name="T:SHADE.Color.Defaults">
<summary>
A static class that contains a set of default Colors.
</summary>
</member>
<member name="T:SHADE.Color">
<summary>
CLR version of the the SHADE Engine's Color struct which describes a Color
encoded using floating point numbers that range from 0.0f to 1.0f.
</summary>
</member>
<member name="M:SHADE.SHEditorUI.Button(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Creates a inline button widget.
<br />
Wraps up ImGui::Button().
</summary>
<param name="title">Text to display.</param>
<returns>True if button was pressed.</returns>
</member>
<member name="M:SHADE.SHEditorUI.SmallButton(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Creates a small inline button widget.
<br />
Wraps up ImGui::SmallButton().
</summary>
<param name="title">Text to display.</param>
<returns>True if button was pressed.</returns>
</member>
<member name="M:SHADE.SHEditorUI.Text(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Creates a visual text widget.
<br />
Wraps up ImGui::Text().
</summary>
<param name="title">Text to display.</param>
</member>
<member name="M:SHADE.SHEditorUI.MenuItem(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Creates a menu item in the list of items for a mini popup.
<br />
Wraps up ImGui::MenuItem().
</summary>
<param name="label">Label used to identify this widget.</param>
<returns>Whether or not the menu item was selected.</returns>
</member>
<member name="M:SHADE.SHEditorUI.OpenPopup(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Opens the popup that was defined with the specified label.
<br />
Wraps up ImGui::OpenPopup().
</summary>
</member>
<member name="M:SHADE.SHEditorUI.EndPopup">
<summary>
Marks the end of a definition of a mini pop up that can show options.
<br />
Wraps up ImGui::EndPopup().
</summary>
</member>
<member name="M:SHADE.SHEditorUI.BeginPopup(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Marks the start of a definition of a mini pop up that can show options.
<br />
Wraps up ImGui::BeginPopup().
</summary>
<param name="label">Label used to identify this widget.</param>
<returns>Whether or not the pop up is open.</returns>
</member>
<member name="M:SHADE.SHEditorUI.CollapsingHeader(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Creates a collapsing title header.
<br />
Wraps up ImGui::CollapsingHeader().
</summary>
<param name="title">Label for the header.</param>
<returns>True if the header is open, false otherwise.</returns>
</member>
<member name="M:SHADE.SHEditorUI.Unindent">
<summary>
Unindents the widgets rendered after this call.
<br />
Wraps up ImGui::Unindent().
</summary>
</member>
<member name="M:SHADE.SHEditorUI.Indent">
<summary>
Indents the widgets rendered after this call.
<br />
Wraps up ImGui::Indent().
</summary>
</member>
<member name="M:SHADE.SHEditorUI.PopID">
<summary>
Marks the end of a stack of ImGui widgets from the last PushID() call.
<br />
Wraps up ImGui::PopID().
</summary>
</member>
<member name="M:SHADE.SHEditorUI.PushID(System.Int32)">
<summary>
Marks the start of a stack of ImGui widgets with the specified id.
<br />
Wraps up ImGui::PushID().
</summary>
<param name="id">Integer-based ID.</param>
</member>
<member name="M:SHADE.SHEditorUI.PushID(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Marks the start of a stack of ImGui widgets with the specified id.
<br />
Wraps up ImGui::PushID().
</summary>
<param name="id">String-based ID.</param>
</member>
<member name="F:SHADE.SHEditorUI.TEXT_FIELD_MAX_LENGTH">
<summary>
Maximum length of a string supported by InputTextField()
</summary>
</member>
<member name="T:SHADE.SHEditorUI">
<summary>
Static class that contains useful functions for Editor UI using ImGui.
</summary>
</member>
<member name="M:SHADE.UndoRedoStack.Redo">
<summary>
Redoes the last undo-ed command if it exists.
</summary>
</member>
<member name="M:SHADE.UndoRedoStack.Undo">
<summary>
Undos the last added command if it exists.
</summary>
</member>
<member name="M:SHADE.UndoRedoStack.Add(SHADE.UndoRedoStack.Command)">
<summary>
Adds a command onto the stack.
</summary>
<param name="command" />
</member>
<member name="P:SHADE.UndoRedoStack.RedoActionPresent">
<summary>
True if there is a redoable action in the stack.
</summary>
</member>
<member name="P:SHADE.UndoRedoStack.UndoActionPresent">
<summary>
True if there is an undoable action in the stack.
</summary>
</member>
<member name="T:SHADE.UndoRedoStack.Command">
<summary>
Command for the stack that represents a data modification.
</summary>
</member>
<member name="T:SHADE.UndoRedoStack">
<summary>
Class that is able to store a stack of actions that can be done and redone.
</summary>
</member>
<member name="M:SHADE.Collider.OnCollisionShapeChanged(System.UInt32)">
<summary>
To be called from native code when a Collision Shape has been changed.
</summary>
<param name="entity">
The entity which has it's collision shape changed.
</param>
</member>
<member name="M:SHADE.Collider.OnCollisionShapeRemoved(System.UInt32)">
<summary>
To be called from native code when a collision shape has been removed.
</summary>
<param name="entity">The entity which has it's collision shape removed.</param>
</member>
<member name="M:SHADE.Collider.GetCollisionShape``1(System.Int32)">
<summary>
Retrieves a ColliderBound at the specified index in the ColliderBound list
and casts it to the appropriate type.
</summary>
<typeparam name="T">Type of the ColliderBound to cast to.</typeparam>
<param name="index">Index to retrieve a ColliderBound from.</param>
<returns>ColliderBound for the specified index.</returns>
</member>
<member name="M:SHADE.Collider.GetCollisionShape(System.Int32)">
<summary>
Retrieves a ColliderBound at the specified index in the ColliderBound list.
</summary>
<param name="index">Index to retrieve a ColliderBound from.</param>
<returns>ColliderBound for the specified index.</returns>
</member>
<member name="P:SHADE.Collider.CollisionShapeCount">
<summary>
Total number of ColliderShapes in the Collider component.
</summary>
</member>
<member name="M:SHADE.Collider.#ctor(System.UInt32)">
<summary>
Constructs a Collider Component that represents a native SHColliderComponent
component tied to the specified Entity.
</summary>
<param name="entity">Entity that this Component will be tied to.</param>
</member>
<member name="T:SHADE.Collider">
<summary>
CLR version of the the SHADE Engine's SHColliderComponent.
A single Collider component can contain one or multiple Collider Bounds.
</summary>
</member>
<member name="M:SHADE.SphereCollider.Raycast(SHADE.Ray,System.Single)">
<inheritdoc />
</member>
<member name="M:SHADE.SphereCollider.TestPoint(SHADE.Vector3)">
<inheritdoc />
</member>
<member name="P:SHADE.SphereCollider.Radius">
<summary>
Radius of the Bounding Sphere formed by this bound.
</summary>
</member>
<member name="P:SHADE.SphereCollider.Center">
<summary>
Center of the Bounding Sphere formed by this bound.
</summary>
</member>
<member name="T:SHADE.SphereCollider">
<summary>
Sphere-shaped Collider Bound.
</summary>
</member>
<member name="M:SHADE.BoxCollider.Raycast(SHADE.Ray,System.Single)">
<inheritdoc />
</member>
<member name="M:SHADE.BoxCollider.TestPoint(SHADE.Vector3)">
<inheritdoc />
</member>
<member name="P:SHADE.BoxCollider.Max">
<summary>
Position of the top right front corner of the Bounding Box formed by this
bound.
</summary>
</member>
<member name="P:SHADE.BoxCollider.Min">
<summary>
Position of the bottom left back corner of the Bounding Box formed by this
bound.
</summary>
</member>
<member name="P:SHADE.BoxCollider.HalfExtents">
<summary>
Half of the scale of the Bounding Box formed by this bound.
</summary>
</member>
<member name="P:SHADE.BoxCollider.Center">
<summary>
Center of the Bounding Box formed by this bound.
</summary>
</member>
<member name="T:SHADE.BoxCollider">
<summary>
Box-shaped Collider Bound.
</summary>
</member>
<member name="M:SHADE.CollisionShape.Raycast(SHADE.Ray,System.Single)">
<summary>
Computes a Raycast and checks if there is a collision with any object.
</summary>
<param name="ray">The ray to cast.</param>
<param name="maxDistance">Maximum distance for the raycast check.</param>
<returns>True if the ray intersects with an object in the scene.</returns>
</member>
<member name="M:SHADE.CollisionShape.TestPoint(SHADE.Vector3)">
<summary>
Checks if the specified point is within this shape's bounds.
</summary>
<param name="point">Point to test with.</param>
<returns>True if the point is in the shape's bounds.</returns>
</member>
<member name="T:SHADE.CollisionShape">
<summary>
Base interface for all Collider Shapes.
</summary>
</member>
<member name="F:SHADE.SHPhysicsMaterial.density">
@brief The density of the collider that determines the mass of the collision shape
if it is automatically computed. Must be a positive number.
</member>
<member name="F:SHADE.SHPhysicsMaterial.bounciness">
@brief The bounciness factor of the physics object., clamped between [0,1].<br />
0 means the object will never bounce.
1 means the object never loses energy on a bounce.
</member>
<member name="F:SHADE.SHPhysicsMaterial.friction">
@brief The friction coefficient of the physics object., clamped between [0,1].<br />
0 means the object will never experience friction.
1 means the friction force against the object is equal to the applied force.
</member>
<member name="M:SHADE.SHPhysicsMaterial.SetDensity(System.Single)">
@brief Sets the mass density of the physics material.
@param newDensity The density value to set. Always made positive.
</member>
<member name="M:SHADE.SHPhysicsMaterial.SetBounciness(System.Single)">
@brief Sets the bounciness factor of the physics material.
@param newBounciness The bounciness value to set. Clamped between [0,1].
</member>
<member name="M:SHADE.SHPhysicsMaterial.SetFriction(System.Single)">
@brief Sets the friction coefficient of the physics material.
@param newFriction The friction value to set. Clamped between [0,1].
</member>
<member name="M:SHADE.SHPhysicsMaterial.#ctor(System.Single,System.Single,System.Single)">
@brief Default constructor for a physics material.
@param friction The friction of the material. Clamped between [0,1]. Defaults to 0.4.
@param bounciness The bounciness of the material. Clamped between [0,1].
@param density The mass density of the material. Always made positive.
</member>
<member name="M:SHADE.SHGraphicsSystemInterface.CloseWindow">
<summary>
Closes the current window, and depending on the implementation, should also
close the application.
</summary>
</member>
<member name="M:SHADE.SHGraphicsSystemInterface.IsFullscreen">
<summary>
Retrieves the current window fullscreen status.
</summary>
<returns>The current window fullscreen status..</returns>
</member>
<member name="M:SHADE.SHGraphicsSystemInterface.GetWindowHeight">
<summary>
Retrieves the current window height.
</summary>
<returns>The current window height.</returns>
</member>
<member name="M:SHADE.SHGraphicsSystemInterface.GetWindowWidth">
<summary>
Retrieves the current window width.
</summary>
<returns>The current window width.</returns>
</member>
<member name="T:SHADE.SHGraphicsSystemInterface">
<summary>
Static class that wraps up certain functions in the SHGraphicsSystem so that
accessing it from SHADE_Managed would not cause issues due to C++20 features.
</summary>
</member>
<member name="M:SHADE.SHEditor.Render">
@brief Perform ImGui and ImGui Backend Render
</member>
<member name="M:SHADE.SHEditor.NewFrame">
@brief Start new frame for editor
</member>
<member name="M:SHADE.SHEditor.InitBackend">
@brief Initialise Backend for ImGui (SDL and Vulkan backend)
@param sdlWindow Pointer to SDL_Window
</member>
<member name="M:SHADE.SHEditor.SetStyle(&lt;unknown type&gt;)">
@brief Set the Style for the editor
@param style Desired style
</member>
<member name="M:SHADE.SHEditor.Exit">
@brief Safely shutdown the editor
</member>
<member name="M:SHADE.SHEditor.Update(System.Double)">
@brief Update the editor and add to ImGui DrawList
@param dt Delta-time of the frame
</member>
<member name="M:SHADE.SHEditor.Init">
@brief Initialise the editor
@param sdlWindow pointer to SDL_Window object created in application
</member>
<member name="T:SHADE.SHEditor.Style">
@brief Style options
</member>
<member name="T:SHADE.SHEditor">
@brief SHEditor static class contains editor variables and implementation of editor functions.
</member>
<member name="M:SDL_GetYUVConversionModeForResolution(System.Int32,System.Int32)">
Get the YUV conversion mode, returning the correct mode for the resolution
when the current conversion mode is SDL_YUV_CONVERSION_AUTOMATIC
\since This function is available since SDL 2.0.8.
</member>
<member name="M:SDL_GetYUVConversionMode">
Get the YUV conversion mode
\since This function is available since SDL 2.0.8.
</member>
<member name="M:SDL_SetYUVConversionMode(SDL_YUV_CONVERSION_MODE)">
Set the YUV conversion mode
\since This function is available since SDL 2.0.8.
</member>
<member name="M:SDL_LowerBlitScaled(SDL_Surface*,SDL_Rect*,SDL_Surface*,SDL_Rect*)">
Perform low-level surface scaled blitting only.
This is a semi-private function and it performs low-level surface blitting,
assuming the input rectangles have already been clipped.
\param src the SDL_Surface structure to be copied from
\param srcrect the SDL_Rect structure representing the rectangle to be
copied
\param dst the SDL_Surface structure that is the blit target
\param dstrect the SDL_Rect structure representing the rectangle that is
copied into
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_BlitScaled
</member>
<member name="M:SDL_UpperBlitScaled(SDL_Surface*,SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Surface*,SDL_Rect*)">
Perform a scaled surface copy to a destination surface.
SDL_UpperBlitScaled() has been replaced by SDL_BlitScaled(), which is
merely a macro for this function with a less confusing name.
\since This function is available since SDL 2.0.0.
\sa SDL_BlitScaled
</member>
<member name="M:SDL_SoftStretchLinear(SDL_Surface*,SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Surface*,SDL_Rect!System.Runtime.CompilerServices.IsConst*)">
Perform bilinear scaling between two surfaces of the same format, 32BPP.
\since This function is available since SDL 2.0.16.
</member>
<member name="M:SDL_SoftStretch(SDL_Surface*,SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Surface*,SDL_Rect!System.Runtime.CompilerServices.IsConst*)">
Perform a fast, low quality, stretch blit between two surfaces of the same
format.
Please use SDL_BlitScaled() instead.
\since This function is available since SDL 2.0.0.
</member>
<member name="M:SDL_LowerBlit(SDL_Surface*,SDL_Rect*,SDL_Surface*,SDL_Rect*)">
Perform low-level surface blitting only.
This is a semi-private blit function and it performs low-level surface
blitting, assuming the input rectangles have already been clipped.
Unless you know what you're doing, you should be using SDL_BlitSurface()
instead.
\param src the SDL_Surface structure to be copied from
\param srcrect the SDL_Rect structure representing the rectangle to be
copied, or NULL to copy the entire surface
\param dst the SDL_Surface structure that is the blit target
\param dstrect the SDL_Rect structure representing the rectangle that is
copied into
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_BlitSurface
</member>
<member name="M:SDL_UpperBlit(SDL_Surface*,SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Surface*,SDL_Rect*)">
* Performs a fast blit from the source surface to the destination surface.
*
* This assumes that the source and destination rectangles are
* the same size. If either \c srcrect or \c dstrect are NULL, the entire
* surface (\c src or \c dst) is copied. The final blit rectangles are saved
* in \c srcrect and \c dstrect after all clipping is performed.
*
* \returns 0 if the blit is successful, otherwise it returns -1.
*
* The blit function should not be called on a locked surface.
*
* The blit semantics for surfaces with and without blending and colorkey
* are defined as follows:
* \verbatim
RGBA-&gt;RGB:
Source surface blend mode set to SDL_BLENDMODE_BLEND:
alpha-blend (using the source alpha-channel and per-surface alpha)
SDL_SRCCOLORKEY ignored.
Source surface blend mode set to SDL_BLENDMODE_NONE:
copy RGB.
if SDL_SRCCOLORKEY set, only copy the pixels matching the
RGB values of the source color key, ignoring alpha in the
comparison.
RGB-&gt;RGBA:
Source surface blend mode set to SDL_BLENDMODE_BLEND:
alpha-blend (using the source per-surface alpha)
Source surface blend mode set to SDL_BLENDMODE_NONE:
copy RGB, set destination alpha to source per-surface alpha value.
both:
if SDL_SRCCOLORKEY set, only copy the pixels matching the
source color key.
RGBA-&gt;RGBA:
Source surface blend mode set to SDL_BLENDMODE_BLEND:
alpha-blend (using the source alpha-channel and per-surface alpha)
SDL_SRCCOLORKEY ignored.
Source surface blend mode set to SDL_BLENDMODE_NONE:
copy all of RGBA to the destination.
if SDL_SRCCOLORKEY set, only copy the pixels matching the
RGB values of the source color key, ignoring alpha in the
comparison.
RGB-&gt;RGB:
Source surface blend mode set to SDL_BLENDMODE_BLEND:
alpha-blend (using the source per-surface alpha)
Source surface blend mode set to SDL_BLENDMODE_NONE:
copy RGB.
both:
if SDL_SRCCOLORKEY set, only copy the pixels matching the
source color key.
\endverbatim
*
* You should call SDL_BlitSurface() unless you know exactly how SDL
* blitting works internally and how to use the other blit functions.
Perform a fast blit from the source surface to the destination surface.
SDL_UpperBlit() has been replaced by SDL_BlitSurface(), which is merely a
macro for this function with a less confusing name.
\since This function is available since SDL 2.0.0.
\sa SDL_BlitSurface
</member>
<member name="M:SDL_FillRects(SDL_Surface*,SDL_Rect!System.Runtime.CompilerServices.IsConst*,System.Int32,System.UInt32)">
Perform a fast fill of a set of rectangles with a specific color.
`color` should be a pixel of the format used by the surface, and can be
generated by SDL_MapRGB() or SDL_MapRGBA(). If the color value contains an
alpha component then the destination is simply filled with that alpha
information, no blending takes place.
If there is a clip rectangle set on the destination (set via
SDL_SetClipRect()), then this function will fill based on the intersection
of the clip rectangle and `rect`.
\param dst the SDL_Surface structure that is the drawing target
\param rects an array of SDL_Rects representing the rectangles to fill.
\param count the number of rectangles in the array
\param color the color to fill with
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_FillRect
</member>
<member name="M:SDL_FillRect(SDL_Surface*,SDL_Rect!System.Runtime.CompilerServices.IsConst*,System.UInt32)">
Perform a fast fill of a rectangle with a specific color.
`color` should be a pixel of the format used by the surface, and can be
generated by SDL_MapRGB() or SDL_MapRGBA(). If the color value contains an
alpha component then the destination is simply filled with that alpha
information, no blending takes place.
If there is a clip rectangle set on the destination (set via
SDL_SetClipRect()), then this function will fill based on the intersection
of the clip rectangle and `rect`.
\param dst the SDL_Surface structure that is the drawing target
\param rect the SDL_Rect structure representing the rectangle to fill, or
NULL to fill the entire surface
\param color the color to fill with
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_FillRects
</member>
<member name="M:SDL_PremultiplyAlpha(System.Int32,System.Int32,System.UInt32,System.Void!System.Runtime.CompilerServices.IsConst*,System.Int32,System.UInt32,System.Void*,System.Int32)">
Premultiply the alpha on a block of pixels.
This is safe to use with src == dst, but not for other overlapping areas.
This function is currently only implemented for SDL_PIXELFORMAT_ARGB8888.
\param width the width of the block to convert, in pixels
\param height the height of the block to convert, in pixels
\param src_format an SDL_PixelFormatEnum value of the `src` pixels format
\param src a pointer to the source pixels
\param src_pitch the pitch of the source pixels, in bytes
\param dst_format an SDL_PixelFormatEnum value of the `dst` pixels format
\param dst a pointer to be filled in with premultiplied pixel data
\param dst_pitch the pitch of the destination pixels, in bytes
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.18.
</member>
<member name="M:SDL_ConvertPixels(System.Int32,System.Int32,System.UInt32,System.Void!System.Runtime.CompilerServices.IsConst*,System.Int32,System.UInt32,System.Void*,System.Int32)">
Copy a block of pixels of one format to another format.
\param width the width of the block to copy, in pixels
\param height the height of the block to copy, in pixels
\param src_format an SDL_PixelFormatEnum value of the `src` pixels format
\param src a pointer to the source pixels
\param src_pitch the pitch of the source pixels, in bytes
\param dst_format an SDL_PixelFormatEnum value of the `dst` pixels format
\param dst a pointer to be filled in with new pixel data
\param dst_pitch the pitch of the destination pixels, in bytes
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
</member>
<member name="M:SDL_ConvertSurfaceFormat(SDL_Surface*,System.UInt32,System.UInt32)">
Copy an existing surface to a new surface of the specified format enum.
This function operates just like SDL_ConvertSurface(), but accepts an
SDL_PixelFormatEnum value instead of an SDL_PixelFormat structure. As such,
it might be easier to call but it doesn't have access to palette
information for the destination surface, in case that would be important.
\param src the existing SDL_Surface structure to convert
\param pixel_format the SDL_PixelFormatEnum that the new surface is
optimized for
\param flags the flags are unused and should be set to 0; this is a
leftover from SDL 1.2's API
\returns the new SDL_Surface structure that is created or NULL if it fails;
call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_AllocFormat
\sa SDL_ConvertSurface
\sa SDL_CreateRGBSurface
</member>
<member name="M:SDL_ConvertSurface(SDL_Surface*,SDL_PixelFormat!System.Runtime.CompilerServices.IsConst*,System.UInt32)">
Copy an existing surface to a new surface of the specified format.
This function is used to optimize images for faster *repeat* blitting. This
is accomplished by converting the original and storing the result as a new
surface. The new, optimized surface can then be used as the source for
future blits, making them faster.
\param src the existing SDL_Surface structure to convert
\param fmt the SDL_PixelFormat structure that the new surface is optimized
for
\param flags the flags are unused and should be set to 0; this is a
leftover from SDL 1.2's API
\returns the new SDL_Surface structure that is created or NULL if it fails;
call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_AllocFormat
\sa SDL_ConvertSurfaceFormat
\sa SDL_CreateRGBSurface
</member>
<member name="M:SDL_GetClipRect(SDL_Surface*,SDL_Rect*)">
Get the clipping rectangle for a surface.
When `surface` is the destination of a blit, only the area within the clip
rectangle is drawn into.
\param surface the SDL_Surface structure representing the surface to be
clipped
\param rect an SDL_Rect structure filled in with the clipping rectangle for
the surface
\since This function is available since SDL 2.0.0.
\sa SDL_BlitSurface
\sa SDL_SetClipRect
</member>
<member name="M:SDL_SetClipRect(SDL_Surface*,SDL_Rect!System.Runtime.CompilerServices.IsConst*)">
Set the clipping rectangle for a surface.
When `surface` is the destination of a blit, only the area within the clip
rectangle is drawn into.
Note that blits are automatically clipped to the edges of the source and
destination surfaces.
\param surface the SDL_Surface structure to be clipped
\param rect the SDL_Rect structure representing the clipping rectangle, or
NULL to disable clipping
\returns SDL_TRUE if the rectangle intersects the surface, otherwise
SDL_FALSE and blits will be completely clipped.
\since This function is available since SDL 2.0.0.
\sa SDL_BlitSurface
\sa SDL_GetClipRect
</member>
<member name="M:SDL_GetSurfaceBlendMode(SDL_Surface*,SDL_BlendMode*)">
Get the blend mode used for blit operations.
\param surface the SDL_Surface structure to query
\param blendMode a pointer filled in with the current SDL_BlendMode
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_SetSurfaceBlendMode
</member>
<member name="M:SDL_SetSurfaceBlendMode(SDL_Surface*,SDL_BlendMode)">
Set the blend mode used for blit operations.
To copy a surface to another surface (or texture) without blending with the
existing data, the blendmode of the SOURCE surface should be set to
`SDL_BLENDMODE_NONE`.
\param surface the SDL_Surface structure to update
\param blendMode the SDL_BlendMode to use for blit blending
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_GetSurfaceBlendMode
</member>
<member name="M:SDL_GetSurfaceAlphaMod(SDL_Surface*,System.Byte*)">
Get the additional alpha value used in blit operations.
\param surface the SDL_Surface structure to query
\param alpha a pointer filled in with the current alpha value
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_GetSurfaceColorMod
\sa SDL_SetSurfaceAlphaMod
</member>
<member name="M:SDL_SetSurfaceAlphaMod(SDL_Surface*,System.Byte)">
Set an additional alpha value used in blit operations.
When this surface is blitted, during the blit operation the source alpha
value is modulated by this alpha value according to the following formula:
`srcA = srcA * (alpha / 255)`
\param surface the SDL_Surface structure to update
\param alpha the alpha value multiplied into blit operations
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_GetSurfaceAlphaMod
\sa SDL_SetSurfaceColorMod
</member>
<member name="M:SDL_GetSurfaceColorMod(SDL_Surface*,System.Byte*,System.Byte*,System.Byte*)">
Get the additional color value multiplied into blit operations.
\param surface the SDL_Surface structure to query
\param r a pointer filled in with the current red color value
\param g a pointer filled in with the current green color value
\param b a pointer filled in with the current blue color value
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_GetSurfaceAlphaMod
\sa SDL_SetSurfaceColorMod
</member>
<member name="M:SDL_SetSurfaceColorMod(SDL_Surface*,System.Byte,System.Byte,System.Byte)">
Set an additional color value multiplied into blit operations.
When this surface is blitted, during the blit operation each source color
channel is modulated by the appropriate color value according to the
following formula:
`srcC = srcC * (color / 255)`
\param surface the SDL_Surface structure to update
\param r the red color value multiplied into blit operations
\param g the green color value multiplied into blit operations
\param b the blue color value multiplied into blit operations
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_GetSurfaceColorMod
\sa SDL_SetSurfaceAlphaMod
</member>
<member name="M:SDL_GetColorKey(SDL_Surface*,System.UInt32*)">
Get the color key (transparent pixel) for a surface.
The color key is a pixel of the format used by the surface, as generated by
SDL_MapRGB().
If the surface doesn't have color key enabled this function returns -1.
\param surface the SDL_Surface structure to query
\param key a pointer filled in with the transparent pixel
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_BlitSurface
\sa SDL_SetColorKey
</member>
<member name="M:SDL_HasColorKey(SDL_Surface*)">
Returns whether the surface has a color key
It is safe to pass a NULL `surface` here; it will return SDL_FALSE.
\param surface the SDL_Surface structure to query
\return SDL_TRUE if the surface has a color key, SDL_FALSE otherwise.
\since This function is available since SDL 2.0.9.
\sa SDL_SetColorKey
\sa SDL_GetColorKey
</member>
<member name="M:SDL_SetColorKey(SDL_Surface*,System.Int32,System.UInt32)">
Set the color key (transparent pixel) in a surface.
The color key defines a pixel value that will be treated as transparent in
a blit. For example, one can use this to specify that cyan pixels should be
considered transparent, and therefore not rendered.
It is a pixel of the format used by the surface, as generated by
SDL_MapRGB().
RLE acceleration can substantially speed up blitting of images with large
horizontal runs of transparent pixels. See SDL_SetSurfaceRLE() for details.
\param surface the SDL_Surface structure to update
\param flag SDL_TRUE to enable color key, SDL_FALSE to disable color key
\param key the transparent pixel
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_BlitSurface
\sa SDL_GetColorKey
</member>
<member name="M:SDL_HasSurfaceRLE(SDL_Surface*)">
Returns whether the surface is RLE enabled
It is safe to pass a NULL `surface` here; it will return SDL_FALSE.
\param surface the SDL_Surface structure to query
\returns SDL_TRUE if the surface is RLE enabled, SDL_FALSE otherwise.
\since This function is available since SDL 2.0.14.
\sa SDL_SetSurfaceRLE
</member>
<member name="M:SDL_SetSurfaceRLE(SDL_Surface*,System.Int32)">
Save a surface to a file.
Convenience macro.
Set the RLE acceleration hint for a surface.
If RLE is enabled, color key and alpha blending blits are much faster, but
the surface must be locked before directly accessing the pixels.
\param surface the SDL_Surface structure to optimize
\param flag 0 to disable, non-zero to enable RLE acceleration
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_BlitSurface
\sa SDL_LockSurface
\sa SDL_UnlockSurface
</member>
<member name="M:SDL_SaveBMP_RW(SDL_Surface*,SDL_RWops*,System.Int32)">
Load a surface from a file.
Convenience macro.
Save a surface to a seekable SDL data stream in BMP format.
Surfaces with a 24-bit, 32-bit and paletted 8-bit format get saved in the
BMP directly. Other RGB formats with 8-bit or higher get converted to a
24-bit surface or, if they have an alpha mask or a colorkey, to a 32-bit
surface before they are saved. YUV and paletted 1-bit and 4-bit formats are
not supported.
\param surface the SDL_Surface structure containing the image to be saved
\param dst a data stream to save to
\param freedst non-zero to close the stream after being written
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_LoadBMP_RW
\sa SDL_SaveBMP
</member>
<member name="M:SDL_LoadBMP_RW(SDL_RWops*,System.Int32)">
Load a BMP image from a seekable SDL data stream.
The new surface should be freed with SDL_FreeSurface(). Not doing so will
result in a memory leak.
src is an open SDL_RWops buffer, typically loaded with SDL_RWFromFile.
Alternitavely, you might also use the macro SDL_LoadBMP to load a bitmap
from a file, convert it to an SDL_Surface and then close the file.
\param src the data stream for the surface
\param freesrc non-zero to close the stream after being read
\returns a pointer to a new SDL_Surface structure or NULL if there was an
error; call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_FreeSurface
\sa SDL_RWFromFile
\sa SDL_LoadBMP
\sa SDL_SaveBMP_RW
</member>
<member name="M:SDL_UnlockSurface(SDL_Surface*)">
Release a surface after directly accessing the pixels.
\param surface the SDL_Surface structure to be unlocked
\since This function is available since SDL 2.0.0.
\sa SDL_LockSurface
</member>
<member name="M:SDL_LockSurface(SDL_Surface*)">
Set up a surface for directly accessing the pixels.
Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write to
and read from `surface-&gt;pixels`, using the pixel format stored in
`surface-&gt;format`. Once you are done accessing the surface, you should use
SDL_UnlockSurface() to release it.
Not all surfaces require locking. If `SDL_MUSTLOCK(surface)` evaluates to
0, then you can read and write to the surface at any time, and the pixel
format of the surface will not change.
\param surface the SDL_Surface structure to be locked
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_MUSTLOCK
\sa SDL_UnlockSurface
</member>
<member name="M:SDL_SetSurfacePalette(SDL_Surface*,SDL_Palette*)">
Set the palette used by a surface.
A single palette can be shared with many surfaces.
\param surface the SDL_Surface structure to update
\param palette the SDL_Palette structure to use
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
</member>
<member name="M:SDL_FreeSurface(SDL_Surface*)">
Free an RGB surface.
It is safe to pass NULL to this function.
\param surface the SDL_Surface to free.
\since This function is available since SDL 2.0.0.
\sa SDL_CreateRGBSurface
\sa SDL_CreateRGBSurfaceFrom
\sa SDL_LoadBMP
\sa SDL_LoadBMP_RW
</member>
<member name="M:SDL_CreateRGBSurfaceWithFormatFrom(System.Void*,System.Int32,System.Int32,System.Int32,System.Int32,System.UInt32)">
Allocate a new RGB surface with with a specific pixel format and existing
pixel data.
This function operates mostly like SDL_CreateRGBSurfaceFrom(), except
instead of providing pixel color masks, you provide it with a predefined
format from SDL_PixelFormatEnum.
No copy is made of the pixel data. Pixel data is not managed automatically;
you must free the surface before you free the pixel data.
\param pixels a pointer to existing pixel data
\param width the width of the surface
\param height the height of the surface
\param depth the depth of the surface in bits
\param pitch the pitch of the surface in bytes
\param format the SDL_PixelFormatEnum for the new surface's pixel format.
\returns the new SDL_Surface structure that is created or NULL if it fails;
call SDL_GetError() for more information.
\since This function is available since SDL 2.0.5.
\sa SDL_CreateRGBSurfaceFrom
\sa SDL_CreateRGBSurfaceWithFormat
\sa SDL_FreeSurface
</member>
<member name="M:SDL_CreateRGBSurfaceFrom(System.Void*,System.Int32,System.Int32,System.Int32,System.Int32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
Allocate a new RGB surface with existing pixel data.
This function operates mostly like SDL_CreateRGBSurface(), except it does
not allocate memory for the pixel data, instead the caller provides an
existing buffer of data for the surface to use.
No copy is made of the pixel data. Pixel data is not managed automatically;
you must free the surface before you free the pixel data.
\param pixels a pointer to existing pixel data
\param width the width of the surface
\param height the height of the surface
\param depth the depth of the surface in bits
\param pitch the pitch of the surface in bytes
\param Rmask the red mask for the pixels
\param Gmask the green mask for the pixels
\param Bmask the blue mask for the pixels
\param Amask the alpha mask for the pixels
\returns the new SDL_Surface structure that is created or NULL if it fails;
call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_CreateRGBSurface
\sa SDL_CreateRGBSurfaceWithFormat
\sa SDL_FreeSurface
</member>
<member name="M:SDL_CreateRGBSurfaceWithFormat(System.UInt32,System.Int32,System.Int32,System.Int32,System.UInt32)">
Allocate a new RGB surface with a specific pixel format.
This function operates mostly like SDL_CreateRGBSurface(), except instead
of providing pixel color masks, you provide it with a predefined format
from SDL_PixelFormatEnum.
\param flags the flags are unused and should be set to 0
\param width the width of the surface
\param height the height of the surface
\param depth the depth of the surface in bits
\param format the SDL_PixelFormatEnum for the new surface's pixel format.
\returns the new SDL_Surface structure that is created or NULL if it fails;
call SDL_GetError() for more information.
\since This function is available since SDL 2.0.5.
\sa SDL_CreateRGBSurface
\sa SDL_CreateRGBSurfaceFrom
\sa SDL_FreeSurface
</member>
<member name="M:SDL_CreateRGBSurface(System.UInt32,System.Int32,System.Int32,System.Int32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
Allocate a new RGB surface.
If `depth` is 4 or 8 bits, an empty palette is allocated for the surface.
If `depth` is greater than 8 bits, the pixel format is set using the
[RGBA]mask parameters.
The [RGBA]mask parameters are the bitmasks used to extract that color from
a pixel. For instance, `Rmask` being 0xFF000000 means the red data is
stored in the most significant byte. Using zeros for the RGB masks sets a
default value, based on the depth. For example:
```c++
SDL_CreateRGBSurface(0,w,h,32,0,0,0,0);
```
However, using zero for the Amask results in an Amask of 0.
By default surfaces with an alpha mask are set up for blending as with:
```c++
SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_BLEND)
```
You can change this by calling SDL_SetSurfaceBlendMode() and selecting a
different `blendMode`.
\param flags the flags are unused and should be set to 0
\param width the width of the surface
\param height the height of the surface
\param depth the depth of the surface in bits
\param Rmask the red mask for the pixels
\param Gmask the green mask for the pixels
\param Bmask the blue mask for the pixels
\param Amask the alpha mask for the pixels
\returns the new SDL_Surface structure that is created or NULL if it fails;
call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_CreateRGBSurfaceFrom
\sa SDL_CreateRGBSurfaceWithFormat
\sa SDL_FreeSurface
</member>
<member name="F:SDL_Surface.refcount">
Reference count -- used when freeing surface
</member>
<member name="F:SDL_Surface.map">
info for fast blit mapping to other surfaces
</member>
<member name="F:SDL_Surface.clip_rect">
clipping information
</member>
<member name="F:SDL_Surface.list_blitmap">
list of BlitMap that hold a reference to this surface
</member>
<member name="F:SDL_Surface.locked">
information needed for surfaces requiring locks
</member>
<member name="F:SDL_Surface.userdata">
Application data associated with the surface
</member>
<member name="T:SDL_Surface">
\brief A collection of pixels used in software blitting.
\note This structure should be treated as read-only, except for \c pixels,
which, if not NULL, contains the raw pixel data for the surface.
\brief The type of function used for surface blitting functions.
</member>
<member name="M:SDL_ComposeCustomBlendMode(SDL_BlendFactor,SDL_BlendFactor,SDL_BlendOperation,SDL_BlendFactor,SDL_BlendFactor,SDL_BlendOperation)">
Compose a custom blend mode for renderers.
The functions SDL_SetRenderDrawBlendMode and SDL_SetTextureBlendMode accept
the SDL_BlendMode returned by this function if the renderer supports it.
A blend mode controls how the pixels from a drawing operation (source) get
combined with the pixels from the render target (destination). First, the
components of the source and destination pixels get multiplied with their
blend factors. Then, the blend operation takes the two products and
calculates the result that will get stored in the render target.
Expressed in pseudocode, it would look like this:
```c
dstRGB = colorOperation(srcRGB * srcColorFactor, dstRGB * dstColorFactor);
dstA = alphaOperation(srcA * srcAlphaFactor, dstA * dstAlphaFactor);
```
Where the functions `colorOperation(src, dst)` and `alphaOperation(src,
dst)` can return one of the following:
- `src + dst`
- `src - dst`
- `dst - src`
- `min(src, dst)`
- `max(src, dst)`
The red, green, and blue components are always multiplied with the first,
second, and third components of the SDL_BlendFactor, respectively. The
fourth component is not used.
The alpha component is always multiplied with the fourth component of the
SDL_BlendFactor. The other components are not used in the alpha
calculation.
Support for these blend modes varies for each renderer. To check if a
specific SDL_BlendMode is supported, create a renderer and pass it to
either SDL_SetRenderDrawBlendMode or SDL_SetTextureBlendMode. They will
return with an error if the blend mode is not supported.
This list describes the support of custom blend modes for each renderer in
SDL 2.0.6. All renderers support the four blend modes listed in the
SDL_BlendMode enumeration.
- **direct3d**: Supports all operations with all factors. However, some
factors produce unexpected results with `SDL_BLENDOPERATION_MINIMUM` and
`SDL_BLENDOPERATION_MAXIMUM`.
- **direct3d11**: Same as Direct3D 9.
- **opengl**: Supports the `SDL_BLENDOPERATION_ADD` operation with all
factors. OpenGL versions 1.1, 1.2, and 1.3 do not work correctly with SDL
2.0.6.
- **opengles**: Supports the `SDL_BLENDOPERATION_ADD` operation with all
factors. Color and alpha factors need to be the same. OpenGL ES 1
implementation specific: May also support `SDL_BLENDOPERATION_SUBTRACT`
and `SDL_BLENDOPERATION_REV_SUBTRACT`. May support color and alpha
operations being different from each other. May support color and alpha
factors being different from each other.
- **opengles2**: Supports the `SDL_BLENDOPERATION_ADD`,
`SDL_BLENDOPERATION_SUBTRACT`, `SDL_BLENDOPERATION_REV_SUBTRACT`
operations with all factors.
- **psp**: No custom blend mode support.
- **software**: No custom blend mode support.
Some renderers do not provide an alpha component for the default render
target. The `SDL_BLENDFACTOR_DST_ALPHA` and
`SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA` factors do not have an effect in this
case.
\param srcColorFactor the SDL_BlendFactor applied to the red, green, and
blue components of the source pixels
\param dstColorFactor the SDL_BlendFactor applied to the red, green, and
blue components of the destination pixels
\param colorOperation the SDL_BlendOperation used to combine the red,
green, and blue components of the source and
destination pixels
\param srcAlphaFactor the SDL_BlendFactor applied to the alpha component of
the source pixels
\param dstAlphaFactor the SDL_BlendFactor applied to the alpha component of
the destination pixels
\param alphaOperation the SDL_BlendOperation used to combine the alpha
component of the source and destination pixels
\returns an SDL_BlendMode that represents the chosen factors and
operations.
\since This function is available since SDL 2.0.6.
\sa SDL_SetRenderDrawBlendMode
\sa SDL_GetRenderDrawBlendMode
\sa SDL_SetTextureBlendMode
\sa SDL_GetTextureBlendMode
</member>
<member name="M:SDL_IntersectFRectAndLine(SDL_FRect!System.Runtime.CompilerServices.IsConst*,System.Single*,System.Single*,System.Single*,System.Single*)">
Calculate the intersection of a rectangle and line segment with float
precision.
This function is used to clip a line segment to a rectangle. A line segment
contained entirely within the rectangle or that does not intersect will
remain unchanged. A line segment that crosses the rectangle at either or
both ends will be clipped to the boundary of the rectangle and the new
coordinates saved in `X1`, `Y1`, `X2`, and/or `Y2` as necessary.
\param rect an SDL_FRect structure representing the rectangle to intersect
\param X1 a pointer to the starting X-coordinate of the line
\param Y1 a pointer to the starting Y-coordinate of the line
\param X2 a pointer to the ending X-coordinate of the line
\param Y2 a pointer to the ending Y-coordinate of the line
\returns SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
\since This function is available since SDL 2.0.22.
</member>
<member name="M:SDL_EncloseFPoints(SDL_FPoint!System.Runtime.CompilerServices.IsConst*,System.Int32,SDL_FRect!System.Runtime.CompilerServices.IsConst*,SDL_FRect*)">
Calculate a minimal rectangle enclosing a set of points with float
precision.
If `clip` is not NULL then only points inside of the clipping rectangle are
considered.
\param points an array of SDL_FPoint structures representing points to be
enclosed
\param count the number of structures in the `points` array
\param clip an SDL_FRect used for clipping or NULL to enclose all points
\param result an SDL_FRect structure filled in with the minimal enclosing
rectangle
\returns SDL_TRUE if any points were enclosed or SDL_FALSE if all the
points were outside of the clipping rectangle.
\since This function is available since SDL 2.0.22.
</member>
<member name="M:SDL_UnionFRect(SDL_FRect!System.Runtime.CompilerServices.IsConst*,SDL_FRect!System.Runtime.CompilerServices.IsConst*,SDL_FRect*)">
Calculate the union of two rectangles with float precision.
\param A an SDL_FRect structure representing the first rectangle
\param B an SDL_FRect structure representing the second rectangle
\param result an SDL_FRect structure filled in with the union of rectangles
`A` and `B`
\since This function is available since SDL 2.0.22.
</member>
<member name="M:SDL_IntersectFRect(SDL_FRect!System.Runtime.CompilerServices.IsConst*,SDL_FRect!System.Runtime.CompilerServices.IsConst*,SDL_FRect*)">
Calculate the intersection of two rectangles with float precision.
If `result` is NULL then this function will return SDL_FALSE.
\param A an SDL_FRect structure representing the first rectangle
\param B an SDL_FRect structure representing the second rectangle
\param result an SDL_FRect structure filled in with the intersection of
rectangles `A` and `B`
\returns SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
\since This function is available since SDL 2.0.22.
\sa SDL_HasIntersectionF
</member>
<member name="M:SDL_HasIntersectionF(SDL_FRect!System.Runtime.CompilerServices.IsConst*,SDL_FRect!System.Runtime.CompilerServices.IsConst*)">
Determine whether two rectangles intersect with float precision.
If either pointer is NULL the function will return SDL_FALSE.
\param A an SDL_FRect structure representing the first rectangle
\param B an SDL_FRect structure representing the second rectangle
\returns SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
\since This function is available since SDL 2.0.22.
\sa SDL_IntersectRect
</member>
<member name="M:SDL_FRectEquals(SDL_FRect!System.Runtime.CompilerServices.IsConst*,SDL_FRect!System.Runtime.CompilerServices.IsConst*)">
Returns true if the two rectangles are equal, using a default epsilon.
\since This function is available since SDL 2.0.22.
</member>
<member name="M:SDL_FRectEqualsEpsilon(SDL_FRect!System.Runtime.CompilerServices.IsConst*,SDL_FRect!System.Runtime.CompilerServices.IsConst*,System.Single!System.Runtime.CompilerServices.IsConst)">
Returns true if the two rectangles are equal, within some given epsilon.
\since This function is available since SDL 2.0.22.
</member>
<member name="M:SDL_FRectEmpty(SDL_FRect!System.Runtime.CompilerServices.IsConst*)">
Returns true if the rectangle has no area.
</member>
<member name="M:SDL_PointInFRect(SDL_FPoint!System.Runtime.CompilerServices.IsConst*,SDL_FRect!System.Runtime.CompilerServices.IsConst*)">
Returns true if point resides inside a rectangle.
</member>
<member name="M:SDL_IntersectRectAndLine(SDL_Rect!System.Runtime.CompilerServices.IsConst*,System.Int32*,System.Int32*,System.Int32*,System.Int32*)">
Calculate the intersection of a rectangle and line segment.
This function is used to clip a line segment to a rectangle. A line segment
contained entirely within the rectangle or that does not intersect will
remain unchanged. A line segment that crosses the rectangle at either or
both ends will be clipped to the boundary of the rectangle and the new
coordinates saved in `X1`, `Y1`, `X2`, and/or `Y2` as necessary.
\param rect an SDL_Rect structure representing the rectangle to intersect
\param X1 a pointer to the starting X-coordinate of the line
\param Y1 a pointer to the starting Y-coordinate of the line
\param X2 a pointer to the ending X-coordinate of the line
\param Y2 a pointer to the ending Y-coordinate of the line
\returns SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
\since This function is available since SDL 2.0.0.
</member>
<member name="M:SDL_EnclosePoints(SDL_Point!System.Runtime.CompilerServices.IsConst*,System.Int32,SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Rect*)">
Calculate a minimal rectangle enclosing a set of points.
If `clip` is not NULL then only points inside of the clipping rectangle are
considered.
\param points an array of SDL_Point structures representing points to be
enclosed
\param count the number of structures in the `points` array
\param clip an SDL_Rect used for clipping or NULL to enclose all points
\param result an SDL_Rect structure filled in with the minimal enclosing
rectangle
\returns SDL_TRUE if any points were enclosed or SDL_FALSE if all the
points were outside of the clipping rectangle.
\since This function is available since SDL 2.0.0.
</member>
<member name="M:SDL_UnionRect(SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Rect*)">
Calculate the union of two rectangles.
\param A an SDL_Rect structure representing the first rectangle
\param B an SDL_Rect structure representing the second rectangle
\param result an SDL_Rect structure filled in with the union of rectangles
`A` and `B`
\since This function is available since SDL 2.0.0.
</member>
<member name="M:SDL_IntersectRect(SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Rect*)">
Calculate the intersection of two rectangles.
If `result` is NULL then this function will return SDL_FALSE.
\param A an SDL_Rect structure representing the first rectangle
\param B an SDL_Rect structure representing the second rectangle
\param result an SDL_Rect structure filled in with the intersection of
rectangles `A` and `B`
\returns SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
\since This function is available since SDL 2.0.0.
\sa SDL_HasIntersection
</member>
<member name="M:SDL_HasIntersection(SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Rect!System.Runtime.CompilerServices.IsConst*)">
Determine whether two rectangles intersect.
If either pointer is NULL the function will return SDL_FALSE.
\param A an SDL_Rect structure representing the first rectangle
\param B an SDL_Rect structure representing the second rectangle
\returns SDL_TRUE if there is an intersection, SDL_FALSE otherwise.
\since This function is available since SDL 2.0.0.
\sa SDL_IntersectRect
</member>
<member name="M:SDL_RectEquals(SDL_Rect!System.Runtime.CompilerServices.IsConst*,SDL_Rect!System.Runtime.CompilerServices.IsConst*)">
Returns true if the two rectangles are equal.
</member>
<member name="M:SDL_RectEmpty(SDL_Rect!System.Runtime.CompilerServices.IsConst*)">
Returns true if the rectangle has no area.
</member>
<member name="M:SDL_PointInRect(SDL_Point!System.Runtime.CompilerServices.IsConst*,SDL_Rect!System.Runtime.CompilerServices.IsConst*)">
Returns true if point resides inside a rectangle.
</member>
<member name="T:SDL_FRect">
A rectangle, with the origin at the upper left (floating point).
\sa SDL_FRectEmpty
\sa SDL_FRectEquals
\sa SDL_FRectEqualsEpsilon
\sa SDL_HasIntersectionF
\sa SDL_IntersectFRect
\sa SDL_IntersectFRectAndLine
\sa SDL_UnionFRect
\sa SDL_EncloseFPoints
\sa SDL_PointInFRect
</member>
<member name="T:SDL_Rect">
A rectangle, with the origin at the upper left (integer).
\sa SDL_RectEmpty
\sa SDL_RectEquals
\sa SDL_HasIntersection
\sa SDL_IntersectRect
\sa SDL_IntersectRectAndLine
\sa SDL_UnionRect
\sa SDL_EnclosePoints
</member>
<member name="T:SDL_FPoint">
The structure that defines a point (floating point)
\sa SDL_EncloseFPoints
\sa SDL_PointInFRect
</member>
<member name="M:SDL_WriteBE64(SDL_RWops*,System.UInt64)">
Use this function to write 64 bits in native format to a SDL_RWops as
big-endian data.
SDL byteswaps the data only if necessary, so the application always
specifies native format, and the data written will be in big-endian format.
\param dst the stream to which data will be written
\param value the data to be written, in native format
\returns 1 on successful write, 0 on error.
\since This function is available since SDL 2.0.0.
\sa SDL_WriteLE64
</member>
<member name="M:SDL_WriteLE64(SDL_RWops*,System.UInt64)">
Use this function to write 64 bits in native format to a SDL_RWops as
little-endian data.
SDL byteswaps the data only if necessary, so the application always
specifies native format, and the data written will be in little-endian
format.
\param dst the stream to which data will be written
\param value the data to be written, in native format
\returns 1 on successful write, 0 on error.
\since This function is available since SDL 2.0.0.
\sa SDL_WriteBE64
</member>
<member name="M:SDL_WriteBE32(SDL_RWops*,System.UInt32)">
Use this function to write 32 bits in native format to a SDL_RWops as
big-endian data.
SDL byteswaps the data only if necessary, so the application always
specifies native format, and the data written will be in big-endian format.
\param dst the stream to which data will be written
\param value the data to be written, in native format
\returns 1 on successful write, 0 on error.
\since This function is available since SDL 2.0.0.
\sa SDL_WriteLE32
</member>
<member name="M:SDL_WriteLE32(SDL_RWops*,System.UInt32)">
Use this function to write 32 bits in native format to a SDL_RWops as
little-endian data.
SDL byteswaps the data only if necessary, so the application always
specifies native format, and the data written will be in little-endian
format.
\param dst the stream to which data will be written
\param value the data to be written, in native format
\returns 1 on successful write, 0 on error.
\since This function is available since SDL 2.0.0.
\sa SDL_WriteBE32
</member>
<member name="M:SDL_WriteBE16(SDL_RWops*,System.UInt16)">
Use this function to write 16 bits in native format to a SDL_RWops as
big-endian data.
SDL byteswaps the data only if necessary, so the application always
specifies native format, and the data written will be in big-endian format.
\param dst the stream to which data will be written
\param value the data to be written, in native format
\returns 1 on successful write, 0 on error.
\since This function is available since SDL 2.0.0.
\sa SDL_WriteLE16
</member>
<member name="M:SDL_WriteLE16(SDL_RWops*,System.UInt16)">
Use this function to write 16 bits in native format to a SDL_RWops as
little-endian data.
SDL byteswaps the data only if necessary, so the application always
specifies native format, and the data written will be in little-endian
format.
\param dst the stream to which data will be written
\param value the data to be written, in native format
\returns 1 on successful write, 0 on error.
\since This function is available since SDL 2.0.0.
\sa SDL_WriteBE16
</member>
<member name="M:SDL_WriteU8(SDL_RWops*,System.Byte)">
\name Write endian functions
Write an item of native format to the specified endianness.
Use this function to write a byte to an SDL_RWops.
\param dst the SDL_RWops to write to
\param value the byte value to write
\returns 1 on success or 0 on failure; call SDL_GetError() for more
information.
\since This function is available since SDL 2.0.0.
\sa SDL_ReadU8
</member>
<member name="M:SDL_ReadBE64(SDL_RWops*)">
Use this function to read 64 bits of big-endian data from an SDL_RWops and
return in native format.
SDL byteswaps the data only if necessary, so the data returned will be in
the native byte order.
\param src the stream from which to read data
\returns 64 bits of data in the native byte order of the platform.
\since This function is available since SDL 2.0.0.
\sa SDL_ReadLE64
</member>
<member name="M:SDL_ReadLE64(SDL_RWops*)">
Use this function to read 64 bits of little-endian data from an SDL_RWops
and return in native format.
SDL byteswaps the data only if necessary, so the data returned will be in
the native byte order.
\param src the stream from which to read data
\returns 64 bits of data in the native byte order of the platform.
\since This function is available since SDL 2.0.0.
\sa SDL_ReadBE64
</member>
<member name="M:SDL_ReadBE32(SDL_RWops*)">
Use this function to read 32 bits of big-endian data from an SDL_RWops and
return in native format.
SDL byteswaps the data only if necessary, so the data returned will be in
the native byte order.
\param src the stream from which to read data
\returns 32 bits of data in the native byte order of the platform.
\since This function is available since SDL 2.0.0.
\sa SDL_ReadLE32
</member>
<member name="M:SDL_ReadLE32(SDL_RWops*)">
Use this function to read 32 bits of little-endian data from an SDL_RWops
and return in native format.
SDL byteswaps the data only if necessary, so the data returned will be in
the native byte order.
\param src the stream from which to read data
\returns 32 bits of data in the native byte order of the platform.
\since This function is available since SDL 2.0.0.
\sa SDL_ReadBE32
</member>
<member name="M:SDL_ReadBE16(SDL_RWops*)">
Use this function to read 16 bits of big-endian data from an SDL_RWops and
return in native format.
SDL byteswaps the data only if necessary, so the data returned will be in
the native byte order.
\param src the stream from which to read data
\returns 16 bits of data in the native byte order of the platform.
\since This function is available since SDL 2.0.0.
\sa SDL_ReadLE16
</member>
<member name="M:SDL_ReadLE16(SDL_RWops*)">
Use this function to read 16 bits of little-endian data from an SDL_RWops
and return in native format.
SDL byteswaps the data only if necessary, so the data returned will be in
the native byte order.
\param src the stream from which to read data
\returns 16 bits of data in the native byte order of the platform.
\since This function is available since SDL 2.0.0.
\sa SDL_ReadBE16
</member>
<member name="M:SDL_ReadU8(SDL_RWops*)">
\name Read endian functions
Read an item of the specified endianness and return in native format.
Use this function to read a byte from an SDL_RWops.
\param src the SDL_RWops to read from
\returns the read byte on success or 0 on failure; call SDL_GetError() for
more information.
\since This function is available since SDL 2.0.0.
\sa SDL_WriteU8
</member>
<member name="M:SDL_LoadFile(System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte!System.Runtime.CompilerServices.IsConst*,System.UInt64*)">
Load all the data from a file path.
The data is allocated with a zero byte at the end (null terminated) for
convenience. This extra byte is not included in the value reported via
`datasize`.
The data should be freed with SDL_free().
Prior to SDL 2.0.10, this function was a macro wrapping around
SDL_LoadFile_RW.
\param file the path to read all available data from
\param datasize if not NULL, will store the number of bytes read
\returns the data, or NULL if there was an error.
\since This function is available since SDL 2.0.10.
</member>
<member name="M:SDL_LoadFile_RW(SDL_RWops*,System.UInt64*,System.Int32)">
Load all the data from an SDL data stream.
The data is allocated with a zero byte at the end (null terminated) for
convenience. This extra byte is not included in the value reported via
`datasize`.
The data should be freed with SDL_free().
\param src the SDL_RWops to read all available data from
\param datasize if not NULL, will store the number of bytes read
\param freesrc if non-zero, calls SDL_RWclose() on `src` before returning
\returns the data, or NULL if there was an error.
\since This function is available since SDL 2.0.6.
</member>
<member name="M:SDL_RWclose(SDL_RWops*)">
Close and free an allocated SDL_RWops structure.
SDL_RWclose() closes and cleans up the SDL_RWops stream. It releases any
resources used by the stream and frees the SDL_RWops itself with
SDL_FreeRW(). This returns 0 on success, or -1 if the stream failed to
flush to its output (e.g. to disk).
Note that if this fails to flush the stream to disk, this function reports
an error, but the SDL_RWops is still invalid once this function returns.
Prior to SDL 2.0.10, this function was a macro.
\param context SDL_RWops structure to close
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.10.
\sa SDL_RWFromConstMem
\sa SDL_RWFromFile
\sa SDL_RWFromFP
\sa SDL_RWFromMem
\sa SDL_RWread
\sa SDL_RWseek
\sa SDL_RWwrite
</member>
<member name="M:SDL_RWwrite(SDL_RWops*,System.Void!System.Runtime.CompilerServices.IsConst*,System.UInt64,System.UInt64)">
Write to an SDL_RWops data stream.
This function writes exactly `num` objects each of size `size` from the
area pointed at by `ptr` to the stream. If this fails for any reason, it'll
return less than `num` to demonstrate how far the write progressed. On
success, it returns `num`.
SDL_RWwrite is actually a function wrapper that calls the SDL_RWops's
`write` method appropriately, to simplify application development.
Prior to SDL 2.0.10, this function was a macro.
\param context a pointer to an SDL_RWops structure
\param ptr a pointer to a buffer containing data to write
\param size the size of an object to write, in bytes
\param num the number of objects to write
\returns the number of objects written, which will be less than **num** on
error; call SDL_GetError() for more information.
\since This function is available since SDL 2.0.10.
\sa SDL_RWclose
\sa SDL_RWFromConstMem
\sa SDL_RWFromFile
\sa SDL_RWFromFP
\sa SDL_RWFromMem
\sa SDL_RWread
\sa SDL_RWseek
</member>
<member name="M:SDL_RWread(SDL_RWops*,System.Void*,System.UInt64,System.UInt64)">
Read from a data source.
This function reads up to `maxnum` objects each of size `size` from the
data source to the area pointed at by `ptr`. This function may read less
objects than requested. It will return zero when there has been an error or
the data stream is completely read.
SDL_RWread() is actually a function wrapper that calls the SDL_RWops's
`read` method appropriately, to simplify application development.
Prior to SDL 2.0.10, this function was a macro.
\param context a pointer to an SDL_RWops structure
\param ptr a pointer to a buffer to read data into
\param size the size of each object to read, in bytes
\param maxnum the maximum number of objects to be read
\returns the number of objects read, or 0 at error or end of file; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.10.
\sa SDL_RWclose
\sa SDL_RWFromConstMem
\sa SDL_RWFromFile
\sa SDL_RWFromFP
\sa SDL_RWFromMem
\sa SDL_RWseek
\sa SDL_RWwrite
</member>
<member name="M:SDL_RWtell(SDL_RWops*)">
Determine the current read/write offset in an SDL_RWops data stream.
SDL_RWtell is actually a wrapper function that calls the SDL_RWops's `seek`
method, with an offset of 0 bytes from `RW_SEEK_CUR`, to simplify
application development.
Prior to SDL 2.0.10, this function was a macro.
\param context a SDL_RWops data stream object from which to get the current
offset
\returns the current offset in the stream, or -1 if the information can not
be determined.
\since This function is available since SDL 2.0.10.
\sa SDL_RWclose
\sa SDL_RWFromConstMem
\sa SDL_RWFromFile
\sa SDL_RWFromFP
\sa SDL_RWFromMem
\sa SDL_RWread
\sa SDL_RWseek
\sa SDL_RWwrite
</member>
<member name="M:SDL_RWseek(SDL_RWops*,System.Int64,System.Int32)">
Seek within an SDL_RWops data stream.
This function seeks to byte `offset`, relative to `whence`.
`whence` may be any of the following values:
- `RW_SEEK_SET`: seek from the beginning of data
- `RW_SEEK_CUR`: seek relative to current read point
- `RW_SEEK_END`: seek relative to the end of data
If this stream can not seek, it will return -1.
SDL_RWseek() is actually a wrapper function that calls the SDL_RWops's
`seek` method appropriately, to simplify application development.
Prior to SDL 2.0.10, this function was a macro.
\param context a pointer to an SDL_RWops structure
\param offset an offset in bytes, relative to **whence** location; can be
negative
\param whence any of `RW_SEEK_SET`, `RW_SEEK_CUR`, `RW_SEEK_END`
\returns the final offset in the data stream after the seek or -1 on error.
\since This function is available since SDL 2.0.10.
\sa SDL_RWclose
\sa SDL_RWFromConstMem
\sa SDL_RWFromFile
\sa SDL_RWFromFP
\sa SDL_RWFromMem
\sa SDL_RWread
\sa SDL_RWtell
\sa SDL_RWwrite
</member>
<member name="M:SDL_RWsize(SDL_RWops*)">
Use this function to get the size of the data stream in an SDL_RWops.
Prior to SDL 2.0.10, this function was a macro.
\param context the SDL_RWops to get the size of the data stream from
\returns the size of the data stream in the SDL_RWops on success, -1 if
unknown or a negative error code on failure; call SDL_GetError()
for more information.
\since This function is available since SDL 2.0.10.
</member>
<member name="M:SDL_FreeRW(SDL_RWops*)">
Use this function to free an SDL_RWops structure allocated by
SDL_AllocRW().
Applications do not need to use this function unless they are providing
their own SDL_RWops implementation. If you just need a SDL_RWops to
read/write a common data source, you should use the built-in
implementations in SDL, like SDL_RWFromFile() or SDL_RWFromMem(), etc, and
call the **close** method on those SDL_RWops pointers when you are done
with them.
Only use SDL_FreeRW() on pointers returned by SDL_AllocRW(). The pointer is
invalid as soon as this function returns. Any extra memory allocated during
creation of the SDL_RWops is not freed by SDL_FreeRW(); the programmer must
be responsible for managing that memory in their **close** method.
\param area the SDL_RWops structure to be freed
\since This function is available since SDL 2.0.0.
\sa SDL_AllocRW
</member>
<member name="M:SDL_AllocRW">
Use this function to allocate an empty, unpopulated SDL_RWops structure.
Applications do not need to use this function unless they are providing
their own SDL_RWops implementation. If you just need a SDL_RWops to
read/write a common data source, you should use the built-in
implementations in SDL, like SDL_RWFromFile() or SDL_RWFromMem(), etc.
You must free the returned pointer with SDL_FreeRW(). Depending on your
operating system and compiler, there may be a difference between the
malloc() and free() your program uses and the versions SDL calls
internally. Trying to mix the two can cause crashing such as segmentation
faults. Since all SDL_RWops must free themselves when their **close**
method is called, all SDL_RWops must be allocated through this function, so
they can all be freed correctly with SDL_FreeRW().
\returns a pointer to the allocated memory on success, or NULL on failure;
call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_FreeRW
</member>
<member name="M:SDL_RWFromConstMem(System.Void!System.Runtime.CompilerServices.IsConst*,System.Int32)">
Use this function to prepare a read-only memory buffer for use with RWops.
This function sets up an SDL_RWops struct based on a memory area of a
certain size. It assumes the memory area is not writable.
Attempting to write to this RWops stream will report an error without
writing to the memory buffer.
This memory buffer is not copied by the RWops; the pointer you provide must
remain valid until you close the stream. Closing the stream will not free
the original buffer.
If you need to write to a memory buffer, you should use SDL_RWFromMem()
with a writable buffer of memory instead.
\param mem a pointer to a read-only buffer to feed an SDL_RWops stream
\param size the buffer size, in bytes
\returns a pointer to a new SDL_RWops structure, or NULL if it fails; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_RWclose
\sa SDL_RWFromConstMem
\sa SDL_RWFromFile
\sa SDL_RWFromFP
\sa SDL_RWFromMem
\sa SDL_RWread
\sa SDL_RWseek
\sa SDL_RWtell
</member>
<member name="M:SDL_RWFromMem(System.Void*,System.Int32)">
Use this function to prepare a read-write memory buffer for use with
SDL_RWops.
This function sets up an SDL_RWops struct based on a memory area of a
certain size, for both read and write access.
This memory buffer is not copied by the RWops; the pointer you provide must
remain valid until you close the stream. Closing the stream will not free
the original buffer.
If you need to make sure the RWops never writes to the memory buffer, you
should use SDL_RWFromConstMem() with a read-only buffer of memory instead.
\param mem a pointer to a buffer to feed an SDL_RWops stream
\param size the buffer size, in bytes
\returns a pointer to a new SDL_RWops structure, or NULL if it fails; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_RWclose
\sa SDL_RWFromConstMem
\sa SDL_RWFromFile
\sa SDL_RWFromFP
\sa SDL_RWFromMem
\sa SDL_RWread
\sa SDL_RWseek
\sa SDL_RWtell
\sa SDL_RWwrite
</member>
<member name="M:SDL_RWFromFP(System.Void*,SDL_bool)">
Use this function to create an SDL_RWops structure from a standard I/O file
pointer (stdio.h's `FILE*`).
This function is not available on Windows, since files opened in an
application on that platform cannot be used by a dynamically linked
library.
On some platforms, the first parameter is a `void*`, on others, it's a
`FILE*`, depending on what system headers are available to SDL. It is
always intended to be the `FILE*` type from the C runtime's stdio.h.
\param fp the `FILE*` that feeds the SDL_RWops stream
\param autoclose SDL_TRUE to close the `FILE*` when closing the SDL_RWops,
SDL_FALSE to leave the `FILE*` open when the RWops is
closed
\returns a pointer to the SDL_RWops structure that is created, or NULL on
failure; call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_RWclose
\sa SDL_RWFromConstMem
\sa SDL_RWFromFile
\sa SDL_RWFromMem
\sa SDL_RWread
\sa SDL_RWseek
\sa SDL_RWtell
\sa SDL_RWwrite
</member>
<member name="M:SDL_RWFromFile(System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte!System.Runtime.CompilerServices.IsConst*,System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte!System.Runtime.CompilerServices.IsConst*)">
\name RWFrom functions
Functions to create SDL_RWops structures from various data streams.
Use this function to create a new SDL_RWops structure for reading from
and/or writing to a named file.
The `mode` string is treated roughly the same as in a call to the C
library's fopen(), even if SDL doesn't happen to use fopen() behind the
scenes.
Available `mode` strings:
- "r": Open a file for reading. The file must exist.
- "w": Create an empty file for writing. If a file with the same name
already exists its content is erased and the file is treated as a new
empty file.
- "a": Append to a file. Writing operations append data at the end of the
file. The file is created if it does not exist.
- "r+": Open a file for update both reading and writing. The file must
exist.
- "w+": Create an empty file for both reading and writing. If a file with
the same name already exists its content is erased and the file is
treated as a new empty file.
- "a+": Open a file for reading and appending. All writing operations are
performed at the end of the file, protecting the previous content to be
overwritten. You can reposition (fseek, rewind) the internal pointer to
anywhere in the file for reading, but writing operations will move it
back to the end of file. The file is created if it does not exist.
**NOTE**: In order to open a file as a binary file, a "b" character has to
be included in the `mode` string. This additional "b" character can either
be appended at the end of the string (thus making the following compound
modes: "rb", "wb", "ab", "r+b", "w+b", "a+b") or be inserted between the
letter and the "+" sign for the mixed modes ("rb+", "wb+", "ab+").
Additional characters may follow the sequence, although they should have no
effect. For example, "t" is sometimes appended to make explicit the file is
a text file.
This function supports Unicode filenames, but they must be encoded in UTF-8
format, regardless of the underlying operating system.
As a fallback, SDL_RWFromFile() will transparently open a matching filename
in an Android app's `assets`.
Closing the SDL_RWops will close the file handle SDL is holding internally.
\param file a UTF-8 string representing the filename to open
\param mode an ASCII string representing the mode to be used for opening
the file.
\returns a pointer to the SDL_RWops structure that is created, or NULL on
failure; call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_RWclose
\sa SDL_RWFromConstMem
\sa SDL_RWFromFP
\sa SDL_RWFromMem
\sa SDL_RWread
\sa SDL_RWseek
\sa SDL_RWtell
\sa SDL_RWwrite
</member>
<member name="T:SDL_RWops">
Return the size of the file in this rwops, or -1 if unknown
Seek to \c offset relative to \c whence, one of stdio's whence values:
RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END
\return the final offset in the data stream, or -1 on error.
Read up to \c maxnum objects each of size \c size from the data
stream to the area pointed at by \c ptr.
\return the number of objects read, or 0 at error or end of file.
Write exactly \c num objects each of size \c size from the area
pointed at by \c ptr to data stream.
\return the number of objects written, or 0 at error or end of file.
Close and free an allocated SDL_RWops structure.
\return 0 if successful or -1 on write error when flushing data.
</member>
<member name="M:SDL_ClearError">
Clear any previous error message for this thread.
\since This function is available since SDL 2.0.0.
\sa SDL_GetError
\sa SDL_SetError
</member>
<member name="M:SDL_GetErrorMsg(System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte*,System.Int32)">
Get the last error message that was set for the current thread.
This allows the caller to copy the error string into a provided buffer, but
otherwise operates exactly the same as SDL_GetError().
\param errstr A buffer to fill with the last error message that was set for
the current thread
\param maxlen The size of the buffer pointed to by the errstr parameter
\returns the pointer passed in as the `errstr` parameter.
\since This function is available since SDL 2.0.14.
\sa SDL_GetError
</member>
<member name="M:SDL_GetError">
Retrieve a message about the last error that occurred on the current
thread.
It is possible for multiple errors to occur before calling SDL_GetError().
Only the last error is returned.
The message is only applicable when an SDL function has signaled an error.
You must check the return values of SDL function calls to determine when to
appropriately call SDL_GetError(). You should *not* use the results of
SDL_GetError() to decide if an error has occurred! Sometimes SDL will set
an error string even when reporting success.
SDL will *not* clear the error string for successful API calls. You *must*
check return values for failure cases before you can assume the error
string applies.
Error strings are set per-thread, so an error set in a different thread
will not interfere with the current thread's operation.
The returned string is internally allocated and must not be freed by the
application.
\returns a message with information about the specific error that occurred,
or an empty string if there hasn't been an error message set since
the last call to SDL_ClearError(). The message is only applicable
when an SDL function has signaled an error. You must check the
return values of SDL function calls to determine when to
appropriately call SDL_GetError().
\since This function is available since SDL 2.0.0.
\sa SDL_ClearError
\sa SDL_SetError
</member>
<member name="M:SDL_CalculateGammaRamp(System.Single,System.UInt16*)">
Calculate a 256 entry gamma ramp for a gamma value.
\param gamma a gamma value where 0.0 is black and 1.0 is identity
\param ramp an array of 256 values filled in with the gamma ramp
\since This function is available since SDL 2.0.0.
\sa SDL_SetWindowGammaRamp
</member>
<member name="M:SDL_GetRGBA(System.UInt32,SDL_PixelFormat!System.Runtime.CompilerServices.IsConst*,System.Byte*,System.Byte*,System.Byte*,System.Byte*)">
Get RGBA values from a pixel in the specified format.
This function uses the entire 8-bit [0..255] range when converting color
components from pixel formats with less than 8-bits per RGB component
(e.g., a completely white pixel in 16-bit RGB565 format would return [0xff,
0xff, 0xff] not [0xf8, 0xfc, 0xf8]).
If the surface has no alpha component, the alpha will be returned as 0xff
(100% opaque).
\param pixel a pixel value
\param format an SDL_PixelFormat structure describing the format of the
pixel
\param r a pointer filled in with the red component
\param g a pointer filled in with the green component
\param b a pointer filled in with the blue component
\param a a pointer filled in with the alpha component
\since This function is available since SDL 2.0.0.
\sa SDL_GetRGB
\sa SDL_MapRGB
\sa SDL_MapRGBA
</member>
<member name="M:SDL_GetRGB(System.UInt32,SDL_PixelFormat!System.Runtime.CompilerServices.IsConst*,System.Byte*,System.Byte*,System.Byte*)">
Get RGB values from a pixel in the specified format.
This function uses the entire 8-bit [0..255] range when converting color
components from pixel formats with less than 8-bits per RGB component
(e.g., a completely white pixel in 16-bit RGB565 format would return [0xff,
0xff, 0xff] not [0xf8, 0xfc, 0xf8]).
\param pixel a pixel value
\param format an SDL_PixelFormat structure describing the format of the
pixel
\param r a pointer filled in with the red component
\param g a pointer filled in with the green component
\param b a pointer filled in with the blue component
\since This function is available since SDL 2.0.0.
\sa SDL_GetRGBA
\sa SDL_MapRGB
\sa SDL_MapRGBA
</member>
<member name="M:SDL_MapRGBA(SDL_PixelFormat!System.Runtime.CompilerServices.IsConst*,System.Byte,System.Byte,System.Byte,System.Byte)">
Map an RGBA quadruple to a pixel value for a given pixel format.
This function maps the RGBA color value to the specified pixel format and
returns the pixel value best approximating the given RGBA color value for
the given pixel format.
If the specified pixel format has no alpha component the alpha value will
be ignored (as it will be in formats with a palette).
If the format has a palette (8-bit) the index of the closest matching color
in the palette will be returned.
If the pixel format bpp (color depth) is less than 32-bpp then the unused
upper bits of the return value can safely be ignored (e.g., with a 16-bpp
format the return value can be assigned to a Uint16, and similarly a Uint8
for an 8-bpp format).
\param format an SDL_PixelFormat structure describing the format of the
pixel
\param r the red component of the pixel in the range 0-255
\param g the green component of the pixel in the range 0-255
\param b the blue component of the pixel in the range 0-255
\param a the alpha component of the pixel in the range 0-255
\returns a pixel value
\since This function is available since SDL 2.0.0.
\sa SDL_GetRGB
\sa SDL_GetRGBA
\sa SDL_MapRGB
</member>
<member name="M:SDL_MapRGB(SDL_PixelFormat!System.Runtime.CompilerServices.IsConst*,System.Byte,System.Byte,System.Byte)">
Map an RGB triple to an opaque pixel value for a given pixel format.
This function maps the RGB color value to the specified pixel format and
returns the pixel value best approximating the given RGB color value for
the given pixel format.
If the format has a palette (8-bit) the index of the closest matching color
in the palette will be returned.
If the specified pixel format has an alpha component it will be returned as
all 1 bits (fully opaque).
If the pixel format bpp (color depth) is less than 32-bpp then the unused
upper bits of the return value can safely be ignored (e.g., with a 16-bpp
format the return value can be assigned to a Uint16, and similarly a Uint8
for an 8-bpp format).
\param format an SDL_PixelFormat structure describing the pixel format
\param r the red component of the pixel in the range 0-255
\param g the green component of the pixel in the range 0-255
\param b the blue component of the pixel in the range 0-255
\returns a pixel value
\since This function is available since SDL 2.0.0.
\sa SDL_GetRGB
\sa SDL_GetRGBA
\sa SDL_MapRGBA
</member>
<member name="M:SDL_FreePalette(SDL_Palette*)">
Free a palette created with SDL_AllocPalette().
\param palette the SDL_Palette structure to be freed
\since This function is available since SDL 2.0.0.
\sa SDL_AllocPalette
</member>
<member name="M:SDL_SetPaletteColors(SDL_Palette*,SDL_Color!System.Runtime.CompilerServices.IsConst*,System.Int32,System.Int32)">
Set a range of colors in a palette.
\param palette the SDL_Palette structure to modify
\param colors an array of SDL_Color structures to copy into the palette
\param firstcolor the index of the first palette entry to modify
\param ncolors the number of entries to modify
\returns 0 on success or a negative error code if not all of the colors
could be set; call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_AllocPalette
\sa SDL_CreateRGBSurface
</member>
<member name="M:SDL_SetPixelFormatPalette(SDL_PixelFormat*,SDL_Palette*)">
Set the palette for a pixel format structure.
\param format the SDL_PixelFormat structure that will use the palette
\param palette the SDL_Palette structure that will be used
\returns 0 on success or a negative error code on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_AllocPalette
\sa SDL_FreePalette
</member>
<member name="M:SDL_AllocPalette(System.Int32)">
Create a palette structure with the specified number of color entries.
The palette entries are initialized to white.
\param ncolors represents the number of color entries in the color palette
\returns a new SDL_Palette structure on success or NULL on failure (e.g. if
there wasn't enough memory); call SDL_GetError() for more
information.
\since This function is available since SDL 2.0.0.
\sa SDL_FreePalette
</member>
<member name="M:SDL_FreeFormat(SDL_PixelFormat*)">
Free an SDL_PixelFormat structure allocated by SDL_AllocFormat().
\param format the SDL_PixelFormat structure to free
\since This function is available since SDL 2.0.0.
\sa SDL_AllocFormat
</member>
<member name="M:SDL_AllocFormat(System.UInt32)">
Create an SDL_PixelFormat structure corresponding to a pixel format.
Returned structure may come from a shared global cache (i.e. not newly
allocated), and hence should not be modified, especially the palette. Weird
errors such as `Blit combination not supported` may occur.
\param pixel_format one of the SDL_PixelFormatEnum values
\returns the new SDL_PixelFormat structure or NULL on failure; call
SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_FreeFormat
</member>
<member name="M:SDL_MasksToPixelFormatEnum(System.Int32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
Convert a bpp value and RGBA masks to an enumerated pixel format.
This will return `SDL_PIXELFORMAT_UNKNOWN` if the conversion wasn't
possible.
\param bpp a bits per pixel value; usually 15, 16, or 32
\param Rmask the red mask for the format
\param Gmask the green mask for the format
\param Bmask the blue mask for the format
\param Amask the alpha mask for the format
\returns one of the SDL_PixelFormatEnum values
\since This function is available since SDL 2.0.0.
\sa SDL_PixelFormatEnumToMasks
</member>
<member name="M:SDL_PixelFormatEnumToMasks(System.UInt32,System.Int32*,System.UInt32*,System.UInt32*,System.UInt32*,System.UInt32*)">
Convert one of the enumerated pixel formats to a bpp value and RGBA masks.
\param format one of the SDL_PixelFormatEnum values
\param bpp a bits per pixel value; usually 15, 16, or 32
\param Rmask a pointer filled in with the red mask for the format
\param Gmask a pointer filled in with the green mask for the format
\param Bmask a pointer filled in with the blue mask for the format
\param Amask a pointer filled in with the alpha mask for the format
\returns SDL_TRUE on success or SDL_FALSE if the conversion wasn't
possible; call SDL_GetError() for more information.
\since This function is available since SDL 2.0.0.
\sa SDL_MasksToPixelFormatEnum
</member>
<member name="M:SDL_GetPixelFormatName(System.UInt32)">
Get the human readable name of a pixel format.
\param format the pixel format to query
\returns the human readable name of the specified pixel format or
`SDL_PIXELFORMAT_UNKNOWN` if the format isn't recognized.
\since This function is available since SDL 2.0.0.
</member>
<member name="T:SDL_PixelFormat">
\note Everything in the pixel format structure is read-only.
</member>
<member name="T:SDL_Color">
The bits of this structure can be directly reinterpreted as an integer-packed
color which uses the SDL_PIXELFORMAT_RGBA32 format (SDL_PIXELFORMAT_ABGR8888
on little-endian systems and SDL_PIXELFORMAT_RGBA8888 on big-endian systems).
</member>
<member name="M:SDL_size_add_overflow(System.UInt64,System.UInt64,System.UInt64*)">
If a + b would overflow, return -1. Otherwise store a + b via ret
and return 0.
\since This function is available since SDL 2.24.0.
</member>
<member name="M:SDL_size_mul_overflow(System.UInt64,System.UInt64,System.UInt64*)">
If a * b would overflow, return -1. Otherwise store a * b via ret
and return 0.
\since This function is available since SDL 2.24.0.
</member>
<member name="M:SDL_iconv_string(System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte!System.Runtime.CompilerServices.IsConst*,System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte!System.Runtime.CompilerServices.IsConst*,System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte!System.Runtime.CompilerServices.IsConst*,System.UInt64)">
This function converts a string between encodings in one pass, returning a
string that must be freed with SDL_free() or NULL on error.
\since This function is available since SDL 2.0.0.
</member>
<member name="M:SDL_GetNumAllocations">
Get the number of outstanding (unfreed) allocations
\since This function is available since SDL 2.0.7.
</member>
<member name="M:SDL_SetMemoryFunctions(=FUNC:System.Void*(System.UInt64),=FUNC:System.Void*(System.UInt64,System.UInt64),=FUNC:System.Void*(System.Void*,System.UInt64),=FUNC:System.Void(System.Void*))">
Replace SDL's memory allocation functions with a custom set
\since This function is available since SDL 2.0.7.
</member>
<member name="M:SDL_GetMemoryFunctions(=FUNC:System.Void*(System.UInt64)*,=FUNC:System.Void*(System.UInt64,System.UInt64)*,=FUNC:System.Void*(System.Void*,System.UInt64)*,=FUNC:System.Void(System.Void*)*)">
Get the current set of SDL memory functions
\since This function is available since SDL 2.0.7.
</member>
<member name="M:SDL_GetOriginalMemoryFunctions(=FUNC:System.Void*(System.UInt64)*,=FUNC:System.Void*(System.UInt64,System.UInt64)*,=FUNC:System.Void*(System.Void*,System.UInt64)*,=FUNC:System.Void(System.Void*)*)">
Get the original set of SDL memory functions
\since This function is available since SDL 2.24.0.
</member>
<member name="M:SDL_malloc(System.UInt64)">
\endcond
\file begin_code.h
This file sets things up for C dynamic library function definitions,
static inlined functions, and structures aligned at 4-byte alignment.
If you don't like ugly C preprocessor code, don't look at this file. :)
</member>
<member name="D:SDL_compile_time_assert_uint8">
\name Floating-point constants
\cond
</member>
<member name="D:Uint64">
\brief An unsigned 64-bit integer type.
</member>
<member name="D:Sint64">
\brief A signed 64-bit integer type.
</member>
<member name="D:Uint32">
\brief An unsigned 32-bit integer type.
</member>
<member name="D:Sint32">
\brief A signed 32-bit integer type.
</member>
<member name="D:Uint16">
\brief An unsigned 16-bit integer type.
</member>
<member name="D:Sint16">
\brief A signed 16-bit integer type.
</member>
<member name="D:Uint8">
\brief An unsigned 8-bit integer type.
</member>
<member name="D:Sint8">
\brief A signed 8-bit integer type.
</member>
<member name="D:int8_t">
\file close_code.h
This file reverses the effects of begin_code.h and should be included
after you finish any function and structure declarations in your headers
</member>
<member name="M:SDL_GetPlatform">
\file SDL_stdinc.h
This is a general header that includes C language support.
\file SDL_platform.h
Try to get a standard set of platform defines.
\file begin_code.h
This file sets things up for C dynamic library function definitions,
static inlined functions, and structures aligned at 4-byte alignment.
If you don't like ugly C preprocessor code, don't look at this file. :)
Get the name of the platform.
Here are the names returned for some (but not all) supported platforms:
- "Windows"
- "Mac OS X"
- "Linux"
- "iOS"
- "Android"
\returns the name of the platform. If the correct platform name is not
available, returns a string beginning with the text "Unknown".
\since This function is available since SDL 2.0.0.
</member>
<member name="M:SHADE.SHSystem.Exit">
*!*************************************************************************
</member>
<member name="M:SHADE.Application.Quit">
<summary>
Marks the application to stop at the end of the current frame.
</summary>
</member>
<member name="P:SHADE.Application.IsFullscreen">
<summary>
Whether or not the application is currently in fullscreen mode or not.
</summary>
</member>
<member name="P:SHADE.Application.WindowHeight">
<summary>
Retrieves the designated height of the current window.
</summary>
</member>
<member name="P:SHADE.Application.WindowWidth">
<summary>
Retrieves the designated width of the current window.
</summary>
</member>
<member name="P:SHADE.Application.IsPaused">
<summary>
Whether or not the engine is in a paused state where script updates and
physics are not in play.
</summary>
</member>
<member name="P:SHADE.Application.IsPlaying">
<summary>
Whether or not the engine is playing. This will always be true on Publish.
On Debug/Release builds, this is true when the editor is in Play Mode. It
will also be true even if the editor is in Play Mode but is paused.
</summary>
</member>
<member name="T:SHADE.Application">
<summary>
Static class that contains useful properties for querying the state of the
engine.
</summary>
</member>
<member name="M:SHADE.Transform.SetParent(SHADE.Transform,System.Boolean)">
<summary>
Sets the parent of this Transform component.
</summary>
<param name="parent">
Entity that contains the Transform component that this Transform will be
parented to. If null, unparenting will occur.
</param>
<param name="worldPositionStays">
If true, the transform values of this Transform component will retain their
pre-parent-change global transforms. The local transform values will be
modified to ensure that the global transforms do not change.
</param>
</member>
<member name="P:SHADE.Transform.Parent">
<summary>
Parent Transform that affects this Transform.
</summary>
</member>
<member name="P:SHADE.Transform.GlobalScale">
<summary>
Global scale stored by this Transform.
</summary>
</member>
<member name="P:SHADE.Transform.GlobalEulerAngles">
<summary>
Global euler angle rotations stored by this Transform.
</summary>
</member>
<member name="P:SHADE.Transform.GlobalRotation">
<summary>
Global rotation quaternion stored by this Transform.
</summary>
</member>
<member name="P:SHADE.Transform.GlobalPosition">
<summary>
Global position stored by this Transform.
</summary>
</member>
<member name="P:SHADE.Transform.LocalScale">
<summary>
Local scale stored by this Transform.
</summary>
</member>
<member name="P:SHADE.Transform.LocalEulerAngles">
<summary>
Local euler angle rotations stored by this Transform.
</summary>
</member>
<member name="P:SHADE.Transform.LocalRotation">
<summary>
Local rotation quaternion stored by this Transform.
</summary>
</member>
<member name="P:SHADE.Transform.LocalPosition">
<summary>
Local position stored by this Transform.
</summary>
</member>
<member name="M:SHADE.Transform.#ctor(System.UInt32)">
<summary>
Constructs a Transform Component that represents a native Transform component
tied to the specified Entity.
</summary>
<param name="entity">Entity that this Component will be tied to.</param>
</member>
<member name="T:SHADE.Transform">
<summary>
CLR version of the SHADE Engine's TransformComponent.
</summary>
</member>
<member name="M:SHADE.Math.CompareFloat(System.Single,System.Single,System.Single)">
<summary>
Compares if two float values are close enough to be the same with the
specified tolerance value.
</summary>
<param name="a">One of the values to compare.</param>
<param name="b">The other value to compare.</param>
<param name="tolerance">Tolerance for floating point comparison.</param>
<returns>True if a and b are practically the same.</returns>
</member>
<member name="M:SHADE.Math.CompareFloat(System.Single,System.Single)">
<summary>
Compares if two float values are close enough to be the same with a tolerance
of Epsilon.
</summary>
<param name="a">One of the values to compare.</param>
<param name="b">The other value to compare.</param>
<returns>True if a and b are practically the same.</returns>
</member>
<member name="M:SHADE.Math.InverseLerp(System.Single,System.Single,System.Single)">
<summary>
Calculates the linear parameter t that produces the interpolant value within
the range [a, b].
</summary>
<param name="a">Start value.</param>
<param name="b">End value.</param>
<param name="value">Value between start and end.</param>
<returns>Percentage of value between start and end.</returns>
</member>
<member name="M:SHADE.Math.LerpUnclamped(System.Single,System.Single,System.Single)">
<summary>
Linearly interpolates between a and b by t.
The parameter t is not clamped and a value based on a and b is supported.
If t is less than zero, or greater than one, then LerpUnclamped will result
in a return value outside the range a to b.
</summary>
<param name="a">The start value.</param>
<param name="b">The end value.</param>
<param name="t">The interpolation value between the two float.</param>
<returns>The interpolated float result between the two float values.</returns>
</member>
<member name="M:SHADE.Math.Lerp(System.Single,System.Single,System.Single)">
<summary>
Linearly interpolates between a and b by t.
The parameter t is clamped to the range [0, 1].
</summary>
<param name="a">The start value.</param>
<param name="b">The end value.</param>
<param name="t">The interpolation value between the two float.</param>
<returns>The interpolated float result between the two float values.</returns>
</member>
<member name="M:SHADE.Math.RadiansToDegrees(System.Single)">
<summary>
Converts an angle from radian representation to degree representation.
</summary>
<param name="radians">Radian-based angle to convert.</param>
<returns>The specified angle in degrees.</returns>
</member>
<member name="M:SHADE.Math.DegreesToRadians(System.Single)">
<summary>
Converts an angle from degree representation to radian representation.
</summary>
<param name="degrees">Degree-based angle to convert.</param>
<returns>The specified angle in radians.</returns>
</member>
<member name="M:SHADE.Math.Wrap(System.Single,System.Single,System.Single)">
<summary>
Wraps a value if they get to low or too high.
</summary>
<param name="value">Value to wrap.</param>
<param name="min">Minimum value to wrap at.</param>
<param name="max">Maximum value to wrap at.</param>
<returns>Wrapped value.</returns>
</member>
<member name="F:SHADE.Math.Epsilon">
<summary>
Small value used for single precision floating point comparisons.
</summary>
</member>
<member name="F:SHADE.Math.Rad2Deg">
<summary>
Radians-to-degrees conversion constant
</summary>
</member>
<member name="F:SHADE.Math.Deg2Rad">
<summary>
Degrees-to-radians conversion constant
</summary>
</member>
<member name="T:SHADE.Math">
<summary>
Contains utility Math functions.
</summary>
</member>
<member name="M:SHADE.Debug.LogExceptionNative(std.exception!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Logs a native exception that is formatted nicely to the output.
</summary>
<param name="exception">Native exception to log.</param>
<param name="throwerName">Name of the one responsible for the exception.</param>
</member>
<member name="M:SHADE.Debug.LogExceptionNative(System.Exception,std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Logs an exception that is formatted nicely to the output.
</summary>
<param name="throwerName">Name of the one responsible for the exception.</param>
<param name="exception">Exception to log.</param>
</member>
<member name="M:SHADE.Debug.LogException(std.exception!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Object)">
<summary>
Logs a native exception that is formatted nicely to the output.
Equivalent to calling
LogException(exception, Convert::ToNative(thrower-&gt;GetType()-&gt;Name));
</summary>
<param name="exception">Native exception to log.</param>
<param name="thrower">
Object that threw the exception to label the exception message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.LogException(System.Exception,System.Object)">
<summary>
Logs an exception that is formatted nicely to the output.
</summary>
<param name="exception">Exception to log.</param>
<param name="thrower">
Object that threw the exception to label the exception message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.LogException(System.Exception)">
<summary>
Logs an exception that is formatted nicely to the output.
</summary>
<param name="exception">Exception to log.</param>
</member>
<member name="M:SHADE.Debug.LogError(System.String,System.String)">
<summary>
Logs a error message to the output with a label such that it looks like this:
"[Label] Message"
</summary>
<param name="str">The string to output.</param>
<param name="throwerName">
Name of the object that threw the error to label the error message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.LogErrorNative(System.String,std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Logs a error message to the output with a label such that it looks like this:
"[Label] Message"
</summary>
<param name="str">The string to output.</param>
<param name="throwerName">
Name of the object that threw the error to label the error message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.LogError(System.String,System.Object)">
<summary>
Logs a error message to the output with a label such that it looks like this:
"[Label] Message"
</summary>
<param name="str">The string to output.</param>
<param name="thrower">
Object that threw the error to label the error message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.LogError(System.String)">
<summary>
Logs a error message to the output.
</summary>
<param name="str">The string to output.</param>
</member>
<member name="M:SHADE.Debug.LogError(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Logs a error message to the output.
</summary>
<param name="str">The string to output.</param>
</member>
<member name="M:SHADE.Debug.LogWarning(System.String,std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Logs a warning message to the output with a label such that it looks like this:
"[Label] Message"
</summary>
<param name="str">The string to output.</param>
<param name="throwerName">
Name of the object that threw the warning to label the warning message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.LogWarning(System.String,System.String)">
<summary>
Logs a warning message to the output with a label such that it looks like this:
"[Label] Message"
</summary>
<param name="str">The string to output.</param>
<param name="throwerName">
Name of the object that threw the warning to label the warning message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.LogWarning(System.String,System.Object)">
<summary>
Logs a warning message to the output with a label such that it looks like this:
"[Label] Message"
</summary>
<param name="str">The string to output.</param>
<param name="thrower">
Object that threw the warning to label the warning message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.LogWarning(System.String)">
<summary>
Logs a warning message to the output.
</summary>
<param name="str">The string to output.</param>
</member>
<member name="M:SHADE.Debug.LogWarning(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Logs a warning message to the output.
</summary>
<param name="str">The string to output.</param>
</member>
<member name="M:SHADE.Debug.Log(System.String,std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Logs a message to the output with a label such that it looks like this:
"[Label] Message"
</summary>
<param name="str">The string to output.</param>
<param name="throwerName">
Name of the object that sent the message to label the message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.Log(System.String,System.String)">
<summary>
Logs a message to the output with a label such that it looks like this:
"[Label] Message"
</summary>
<param name="str">The string to output.</param>
<param name="throwerName">
Name of the object that sent the message to label the message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.Log(System.String,System.Object)">
<summary>
Logs a message to the output with a label such that it looks like this:
"[Label] Message"
</summary>
<param name="str">The string to output.</param>
<param name="owner">
Object that sent the message to label the message.
The name of the object will be used.
</param>
</member>
<member name="M:SHADE.Debug.Log(System.String)">
<summary>
Logs a message to the output.
</summary>
<param name="str">The string to output.</param>
</member>
<member name="M:SHADE.Debug.Log(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Logs a message to the output.
</summary>
<param name="str">The string to output.</param>
</member>
<member name="T:SHADE.Debug">
<summary>
Static class that contains the functions for working with time.
</summary>
</member>
<member name="P:SHADE.Renderable.LightLayer">
<summary>
Material used to render this Renderable.
</summary>
</member>
<member name="P:SHADE.Renderable.Material">
<summary>
Material used to render this Renderable.
</summary>
</member>
<member name="P:SHADE.Renderable.Mesh">
<summary>
Mesh used to render this Renderable.
</summary>
</member>
<member name="M:SHADE.Renderable.#ctor(System.UInt32)">
<summary>
Constructs a Renderable Component that represents a native Renderable
component tied to the specified Entity.
</summary>
<param name="entity">Entity that this Component will be tied to.</param>
</member>
<member name="T:SHADE.Renderable">
<summary>
CLR version of the SHADE Engine's SHRenderableComponent.
</summary>
</member>
<member name="M:SHADE.Material.GetProperty``1(System.String)">
<summary>
Retrieves the value of a specified property on the material.
</summary>
<typeparam name="T">Type of property to get.</typeparam>
<param name="name">Name of the property to get.</param>
<returns>Value of that property on the material.</returns>
<exception cref="!:System.InvalidOperationException">
If this Material object is invalid.
</exception>
<exception cref="!:System.ArgumentException">
If the name or type was specified that does not match the material's shader's
defined properties.
</exception>
</member>
<member name="M:SHADE.Material.SetProperty``1(System.String,``0)">
<summary>
Set the value of a specific property.
</summary>
<typeparam name="T">Type of property to set.</typeparam>
<param name="name">Name of the property to set.</param>
<param name="value">Value to set te property to.</param>
<exception cref="!:System.InvalidOperationException">
If this Material object is invalid.
</exception>
<exception cref="!:System.ArgumentException">
If the name or type was specified that does not match the material's shader's
defined properties.
</exception>
</member>
<member name="M:SHADE.Material.#ctor(SHADE.Handle&lt;SHADE.SHMaterialInstance&gt;)">
<summary>
Constructor for the Material
</summary>
<param name="material">Handle to the native material object.</param>
</member>
<member name="T:SHADE.Material">
<summary>
Managed counterpart of the native MaterialInstance object containing material
data that can be fed to Renderables for rendering.
</summary>
</member>
<member name="M:SHADE.Mesh.#ctor(SHADE.Handle&lt;SHADE.SHMesh&gt;)">
<summary>
Constructor for the Mesh
</summary>
<param name="mesh">Handle to the mesh object.</param>
</member>
<member name="T:SHADE.Mesh">
<summary>
Managed counterpart of the native Mesh object containing vertex data that can
be fed to Renderables for rendering.
</summary>
</member>
<member name="M:SHADE.SHMatrix.Decompose(SHADE.SHVec3*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,SHADE.SHQuaternion*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,SHADE.SHVec3*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
@brief Decomposes a transformation matrix into translation, orientation and scale.
@param[out] scale The scaling factor of the matrix.
@param[out] orientation The orientation of the matrix.
@param[out] translation The translation of the matrix.
@return True if decomposition was successful.
</member>
<member name="M:SHADE.SHMatrix.Decompose(SHADE.SHVec3*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,SHADE.SHVec3*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,SHADE.SHVec3*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
@brief Decomposes a transformation matrix into translation, euler angles and scale.
@param[out] scale The scaling factor of the matrix.
@param[out] rotation The euler angles of the matrix.
@param[out] translation The translation of the matrix.
@return True if decomposition was successful.
</member>
<member name="T:SHADE.SHMatrix">
@brief Interface for a Column-Major Row Vector 4x4 Matrix.
</member>
<member name="M:SHADE.RigidBody.#ctor(System.UInt32)">
<summary>
Constructs a RigidBody Component that represents a native
SHRigidBodyComponent component tied to the specified Entity.
</summary>
<param name="entity">Entity that this Component will be tied to.</param>
</member>
<member name="T:SHADE.RigidBody">
<summary>
CLR version of the the SHADE Engine's SHRigidBodyComponent.
</summary>
</member>
<member name="M:SHADE.ECS.createManagedComponent``1(System.UInt32)">
<summary>
Creates an instance of the Managed representation of a Component with a
native Entity.
</summary>
<typeparam name="T">Type of Component to create.</typeparam>
<param name="entity">Native Entity that this Component is tied to.</param>
<returns>The created Managed representation of the Component.</returns>
</member>
<member name="M:SHADE.ECS.#cctor">
<summary>
Static constructor to initialize static data
</summary>
</member>
<member name="T:SHADE.ECS.ComponentSet">
<summary>
Pointer to a function for Component manipulation operations.
</summary>
<summary>
Contains a set of Component related data used for resolving operations for
each Component.
</summary>
</member>
<member name="M:SHADE.ECS.RemoveComponent``1(System.UInt32)">
<summary>
Removes a Component from the specified Entity.
</summary>
<typeparam name="T">Type of the Component to remove.</typeparam>
<param name="entity">
Entity object that should have the specified Component removed from/
</param>
</member>
<member name="M:SHADE.ECS.HasComponent``1(System.UInt32)">
<summary>
Checks if the specified Entity has the specified Component.
</summary>
<typeparam name="T">Type of the Component to check for.</typeparam>
<param name="entity">Entity object to check for the Component.</param>
<returns>
True if the specified Entity has the specified Component. False otherwise.
</returns>
</member>
<member name="M:SHADE.ECS.EnsureComponent``1(System.UInt32)">
<summary>
Ensures a Component on the specified Entity.
</summary>
<typeparam name="T">Type of the Component to ensure.</typeparam>
<param name="entity"> Entity object to ensure the Component on. </param>
<returns>Reference to the Component.</returns>
</member>
<member name="M:SHADE.ECS.GetComponentInChildren``1(System.UInt32)">
<summary>
Retrieves the first Component from the specified GameObjectt's children that
matches the specified type.
</summary>
<typeparam name="T">Type of the Component to get.</typeparam>
<param name="entity"> Entity object to get the Component from. </param>
<returns>
Reference to the Component or null if the Entity does not have the
specified Component.
</returns>
</member>
<member name="M:SHADE.ECS.GetComponent``1(System.UInt32)">
<summary>
Gets a Component from the specified Entity.
</summary>
<typeparam name="T">Type of the Component to get.</typeparam>
<param name="entity"> Entity object to get the Component from. </param>
<returns>
Reference to the Component or null if the Entity does not have the
specified Component.
</returns>
</member>
<member name="M:SHADE.ECS.AddComponent``1(System.UInt32)">
<summary>
Adds a Component to the specified Entity.
</summary>
<typeparam name="T">Type of the Component to add.</typeparam>
<param name="entity">
Entity object that should have the specified Component added to.
</param>
<returns>Reference to the Component that was added.</returns>
</member>
<member name="T:SHADE.ECS">
<summary>
Static class which contains functions that map Pls::ECS's Component manipulation
functions to managed generic functions.
</summary>
</member>
<member name="M:SHADE.BaseComponent.GetHashCode">
<summary>
Gets a unique hash for this object.
</summary>
<returns>Unique hash for this object.</returns>
</member>
<member name="M:SHADE.BaseComponent.Equals(System.Object)">
<summary>
Compares equality with another unboxed object.
</summary>
<param name="o">The unboxed object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.BaseComponent.Equals(SHADE.BaseComponent)">
<summary>
Compares equality with an object of the same type.
</summary>
<param name="other">The object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="F:SHADE.BaseComponent.owner">
<summary>
Entity that this Component belongs to.
</summary>
</member>
<member name="M:SHADE.BaseComponent.#ctor(System.UInt32)">
<summary>
Constructor for BaseComponent to tie it to a specific Entity.
Constructors of derived Components should call this Constructor.
</summary>
<param name="entity">Entity that this Component will be tied to.</param>
</member>
<member name="M:SHADE.BaseComponent.op_Implicit(SHADE.BaseComponent)~System.Boolean">
<summary>
Implicit conversion operator to enable checking if a component is null.
</summary>
<param name="c">Component to check.</param>
</member>
<member name="M:SHADE.BaseComponent.RemoveScript``1">
<summary>
Removes all Scripts of the specified type from this GameObject.
</summary>
<typeparam name="T">Type of PLushieScripts to remove.</typeparam>
</member>
<member name="M:SHADE.BaseComponent.GetScripts``1">
<summary>
Retrieves a immutable list of Scripts of the specified type from this
GameObject.
</summary>
<typeparam name="T">Type of Scripts to Get.</typeparam>
<returns>Immutable list of Scripts of the specified type.</returns>
</member>
<member name="M:SHADE.BaseComponent.GetScript``1">
<summary>
Retrieves a Script of the specified type from this GameObject.
If multiple Scripts of the same specified type are added on the same
GameObject, this will retrieve the first one added.
</summary>
<typeparam name="T">Type of Script to add.</typeparam>
<returns>Reference to the Script to retrieve.</returns>
</member>
<member name="M:SHADE.BaseComponent.AddScript``1">
<summary>
Adds a Script of the specified type to this GameObject.
</summary>
<typeparam name="T">Type of Script to add.</typeparam>
<returns>Reference to the created Script.</returns>
</member>
<member name="M:SHADE.BaseComponent.RemoveComponent``1">
<summary>
Removes a Component from this GameObject. If no Component exists to begin
with, nothing happens.
</summary>
<typeparam name="T">Type of the Component to get.</typeparam>
</member>
<member name="M:SHADE.BaseComponent.GetComponent``1">
<summary>
Gets a Component from this GameObject.
</summary>
<typeparam name="T">Type of the Component to get.</typeparam>
<returns>
Reference to the Component or null if this GameObject does not have the
specified Component.
</returns>
</member>
<member name="M:SHADE.BaseComponent.AddComponent``1">
<summary>
Adds a Component to this GameObject.
</summary>
<typeparam name="T">Type of the Component to add. </typeparam>
<returns>Reference to the Component that was added.</returns>
</member>
<member name="P:SHADE.BaseComponent.Owner">
<summary>
Retrieves the GameObject that this Component belongs to.
</summary>
</member>
<member name="T:SHADE.BaseComponent">
<summary>
Class that serves as the base for a wrapper class to Components in native code.
</summary>
</member>
<member name="M:SHADE.Script.onCollisionExit(SHADE.CollisionInfo)">
<summary>
Called when the attached GameObject has a Collider and leaves a
collision with another GameObject with a Collider2D.
</summary>
<param name="info">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.onCollisionStay(SHADE.CollisionInfo)">
<summary>
Called when the attached GameObject has a Collider and collides with
another GameObject with a Collider in subsequent frames of collision.
</summary>
<param name="info">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.onCollisionEnter(SHADE.CollisionInfo)">
<summary>
Called when the attached GameObject has a Collider and collides with
another GameObject with a Collider in the first frame of collision.
</summary>
<param name="info">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.onTriggerExit(SHADE.CollisionInfo)">
<summary>
Called when the attached GameObject has a trigger Collider and leaves a
collision with another GameObject with a Collider2D.
</summary>
<param name="info">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.onTriggerStay(SHADE.CollisionInfo)">
<summary>
Called when the attached GameObject has a trigger Collider and collides with
another GameObject with a Collider in subsequent frames of collision.
</summary>
<param name="info">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.onTriggerEnter(SHADE.CollisionInfo)">
<summary>
Called when the attached GameObject has a trigger Collider and collides with
another GameObject with a Collider in the first frame of collision.
</summary>
<param name="info">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.onDestroy">
<summary>
Called just before the end of the frame where the attached GameObject or
this script is destroyed directly or indirectly due to destruction of the
owner.
</summary>
</member>
<member name="M:SHADE.Script.lateUpdate">
<summary>
Called every frame after physics and collision resolution but before
rendering.
</summary>
</member>
<member name="M:SHADE.Script.update">
<summary>
Called every frame before physics and collision resolution.
</summary>
</member>
<member name="M:SHADE.Script.fixedUpdate">
<summary>
Called every frame in sync with Physics update steps and thus in most cases
will execute more than update() will. This will be called immediately before
a Physics update step.
</summary>
</member>
<member name="M:SHADE.Script.start">
<summary>
Called on the first frame that the attached GameObject is active but always
after Awake().
</summary>
</member>
<member name="M:SHADE.Script.awake">
<summary>
Called on the first frame that the attached GameObject is active if they are
a part of the scene.
</summary>
</member>
<member name="M:SHADE.Script.onDetatched">
<summary>
Called immediately once this script is detached from a GameObject.
</summary>
</member>
<member name="M:SHADE.Script.onAttached">
<summary>
Called immediately once this script is attached to a GameObject.
</summary>
</member>
<member name="M:SHADE.Script.#ctor(SHADE.GameObject)">
<summary>
Constructor for Script to tie it to a specific GameObject.
Constructors of derived Scripts should call this Constructor.
</summary>
<param name="gameObj">
GameObject that this Script will be tied to.
</param>
</member>
<member name="M:SHADE.Script.OnTriggerExit(SHADE.CollisionInfo)">
<summary>
Used to call onTriggerExit(). This should be called when a trigger-type
collision is detected between the attached GameObject and another GameObject.
</summary>
<param name="collision">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.OnTriggerStay(SHADE.CollisionInfo)">
<summary>
Used to call onTriggerStay(). This should be called when a trigger-type
collision is detected between the attached GameObject and another GameObject.
</summary>
<param name="collision">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.OnTriggerEnter(SHADE.CollisionInfo)">
<summary>
Used to call onTriggerEnter(). This should be called when a trigger-type
collision is detected between the attached GameObject and another GameObject.
</summary>
<param name="collision">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.OnCollisionExit(SHADE.CollisionInfo)">
<summary>
Used to call onCollisionExit(). This should be called when a collision ends
between the attached GameObject and another GameObject.
</summary>
<param name="collision">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.OnCollisionStay(SHADE.CollisionInfo)">
<summary>
Used to call onCollisionStay(). This should be called when a collision is
persistent between the attached GameObject and another GameObject.
</summary>
<param name="collision">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.OnCollisionEnter(SHADE.CollisionInfo)">
<summary>
Used to call onCollisionEnter(). This should be called when a collision is
detected between the attached GameObject and another GameObject.
</summary>
<param name="collision">Information on the collision event.</param>
</member>
<member name="M:SHADE.Script.OnDestroy">
<summary>
Used to call onDestroy(). This should be called at the end of the frame
where the attached GameObject or this script is destroyed directly or
indirectly due to destruction of the owner.
</summary>
</member>
<member name="M:SHADE.Script.LateUpdate">
<summary>
Used to call lateUpdate(). This should be called every frame after physics
and collision resolution but before rendering.
</summary>
</member>
<member name="M:SHADE.Script.Update">
<summary>
Used to call update(). This should be called every frame before physics and
collision resolution.
</summary>
</member>
<member name="M:SHADE.Script.FixedUpdate">
<summary>
Used to call fixedUpdate(). This should be called in sync with Physics
update steps and thus in most cases will execute more than Update() will.
This will be called immediately before a Physics update step.
</summary>
</member>
<member name="M:SHADE.Script.Start">
<summary>
Used to call start(). This should be called on the first frame that the
attached GameObject is active but always after Awake().
</summary>
</member>
<member name="M:SHADE.Script.Awake">
<summary>
Used to call awake(). This should be called on the first frame that the
attached GameObject is active if they are a part of the scene.
</summary>
</member>
<member name="M:SHADE.Script.OnDetached">
<summary>
Used to call onDetached(). This is called immediately when this script is
detached from a GameObject.
</summary>
</member>
<member name="M:SHADE.Script.OnAttached">
<summary>
Used to call onAttached(). This is called immediately when this script is
attached to a GameObject.
</summary>
</member>
<member name="M:SHADE.Script.op_Implicit(SHADE.Script)~System.Boolean">
<summary>
Implicit conversion operator to enable checking if a component is null.
</summary>
<param name="c">Component to check.</param>
</member>
<member name="M:SHADE.Script.RemoveScript``1">
<summary>
Removes all Scripts of the specified type from this GameObject.
</summary>
<typeparam name="T">
Type of script to remove.
This needs to be a default constructable Script.
</typeparam>
</member>
<member name="M:SHADE.Script.GetScripts``1">
<summary>
Retrieves a immutable list of scripts from the specified Entity that
matches the specified type.
<br />
Note that this function allocates. It should be used sparingly.
</summary>
<typeparam name="T">
Type of scripts to get.
This needs to be a default constructable Script.
</typeparam>
<returns>
Immutable list of references to scripts of the specified type.
</returns>
</member>
<member name="M:SHADE.Script.GetScriptInChildren``1">
<summary>
Retrieves the first Script from this GameObject's children that matches the
specified type.
</summary>
<typeparam name="T">
Type of script to get.
This needs to be a default constructable Script.
</typeparam>
<returns>Reference to the script added</returns>
</member>
<member name="M:SHADE.Script.GetScript``1">
<summary>
Retrieves the first Script from this GameObject that matches the specified
type.
</summary>
<typeparam name="T">
Type of script to get.
This needs to be a default constructable Script.
</typeparam>
<returns>Reference to the script added</returns>
</member>
<member name="M:SHADE.Script.AddScript``1">
<summary>
Adds a Script to this GameObject.
</summary>
<typeparam name="T">
Type of script to add.
This needs to be a default constructable Script.
</typeparam>
<returns>Reference to the script added</returns>
</member>
<member name="M:SHADE.Script.RemoveComponent``1">
<summary>
Removes a Component from the GameObject that this Script belongs to.
</summary>
<typeparam name="T">
Type of the Component to remove. Must be derived from BaseComponent.
</typeparam>
</member>
<member name="M:SHADE.Script.EnsureComponent``1">
<summary>
Ensures a Component on the GameObject that this Script belongs to.
</summary>
<typeparam name="T">
Type of the Component to ensure. Must be derived from BaseComponent.
</typeparam>
<returns>Reference to the Component.</returns>
</member>
<member name="M:SHADE.Script.GetComponentInChildren``1">
<summary>
Retrieves the first Component from this GameObject's children that matches
the specified type.
</summary>
<typeparam name="T">
Type of the Component to get. Must be derived from BaseComponent.
</typeparam>
<returns>Reference to the Component that was retrieved.</returns>
</member>
<member name="M:SHADE.Script.GetComponent``1">
<summary>
Gets a Component from the GameObject that this Script belongs to.
</summary>
<typeparam name="T">
Type of the Component to get. Must be derived from BaseComponent.
</typeparam>
<returns>Reference to the Component that was retrieved.</returns>
</member>
<member name="M:SHADE.Script.AddComponent``1">
<summary>
Adds a Component to the GameObject that this Script belongs to.
</summary>
<typeparam name="T">
Type of the Component to add. Must be derived from BaseComponent.
</typeparam>
<returns>Reference to the Component that was added.</returns>
</member>
<member name="P:SHADE.Script.Owner">
<summary>
GameObject that this Script belongs to.
</summary>
</member>
<member name="T:SHADE.Script">
<summary>
Class that forms the basis of all "script"-objects that can be attached to
Entities to update each Entity's Components via C# code.
</summary>
</member>
<member name="P:SHADE.CollisionInfo.RigidBody">
<summary>
The RigidBody that you are colliding with.
</summary>
</member>
<member name="P:SHADE.CollisionInfo.CollisionShape">
<summary>
The CollisionShape of the Collider that you are colliding with.
</summary>
</member>
<member name="P:SHADE.CollisionInfo.Collider">
<summary>
The Collider that you are colliding with.
</summary>
</member>
<member name="P:SHADE.CollisionInfo.GameObject">
<summary>
The GameObject whose collider you are colliding with.
</summary>
</member>
<member name="T:SHADE.CollisionInfo">
<summary>
Struct that describes a collision
</summary>
</member>
<member name="M:SHADE.GameObject.op_Inequality(SHADE.GameObject,SHADE.GameObject)">
<summary>
Checks if two GameObject references are different.
</summary>
<param name="lhs">GameObject to check.</param>
<param name="rhs">Another GameObject to check with.</param>
<returns>True if both Components are different.</returns>
</member>
<member name="M:SHADE.GameObject.op_Equality(SHADE.GameObject,SHADE.GameObject)">
<summary>
Checks if two GameObject references are the same.
</summary>
<param name="lhs">GameObject to check.</param>
<param name="rhs">Another GameObject to check with.</param>
<returns>True if both Components are the same.</returns>
</member>
<member name="M:SHADE.GameObject.GetHashCode">
<summary>
Gets a unique hash for this object.
</summary>
<returns>Unique hash for this object.</returns>
</member>
<member name="M:SHADE.GameObject.Equals(System.Object)">
<summary>
Compares equality with another unboxed object.
</summary>
<param name="o">The unboxed object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.GameObject.Equals(SHADE.GameObject)">
<summary>
Compares equality with an object of the same type.
</summary>
<param name="other">The object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.GameObject.GetNativeEntity">
<summary>
Retrieves the native Entity object that this GameObject represents.
</summary>
<returns>Native Entity object that this GameObject represents.</returns>
</member>
<member name="M:SHADE.GameObject.GetEntity">
<summary>
Retrieves the CLR Entity object that this GameObject represents.
</summary>
<returns>Entity object that this GameObject represents.</returns>
</member>
<member name="M:SHADE.GameObject.#ctor(System.UInt32)">
<summary>
Constructor for the GameObject.
</summary>
<param name="entity">
Managed numerical representation of the ECS Entity that this GameObject
should represent.
</param>
</member>
<member name="M:SHADE.GameObject.#ctor(SHADE.SHEntity!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Constructor for the GameObject.
</summary>
<param name="entity">
The ECS Entity that this GameObject should represent.
</param>
</member>
<member name="M:SHADE.GameObject.RemoveScript``1">
<summary>
Removes all Scripts of the specified type from this GameObject.
</summary>
<typeparam name="T">Type of PLushieScripts to remove.</typeparam>
</member>
<member name="M:SHADE.GameObject.GetScripts``1">
<summary>
Retrieves a immutable list of Scripts of the specified type from this
GameObject.
</summary>
<typeparam name="T">Type of Scripts to retrieve.</typeparam>
<returns>Immutable list of Scripts of the specified type.</returns>
</member>
<member name="M:SHADE.GameObject.GetScriptInChildren``1">
<summary>
Retrieves a Script of the specified type from child GameObjects.
If multiple Scripts of the same specified type are added on the same
child GameObject, this will retrieve the first one added.
</summary>
<typeparam name="T">Type of Script to retrieve.</typeparam>
<returns>Reference to the Script to retrieve.</returns>
</member>
<member name="M:SHADE.GameObject.GetScript``1">
<summary>
Retrieves a Script of the specified type from this GameObject.
If multiple Scripts of the same specified type are added on the same
GameObject, this will retrieve the first one added.
</summary>
<typeparam name="T">Type of Script to retrieve.</typeparam>
<returns>Reference to the Script to retrieve.</returns>
</member>
<member name="M:SHADE.GameObject.AddScript``1">
<summary>
Adds a Script of the specified type to this GameObject.
</summary>
<typeparam name="T">Type of Script to add.</typeparam>
<returns>Reference to the created Script.</returns>
</member>
<member name="M:SHADE.GameObject.RemoveComponent``1">
<summary>
Removes a Component from this GameObject. If no Component exists to begin
with, nothing happens.
</summary>
<typeparam name="T">Type of the Component to get.</typeparam>
</member>
<member name="M:SHADE.GameObject.EnsureComponent``1">
<summary>
Ensures a Component on this GameObject.
</summary>
<typeparam name="T">Type of the Component to ensure.</typeparam>
<returns>
Reference to the Component.
</returns>
</member>
<member name="M:SHADE.GameObject.GetComponentInChildren``1">
<summary>
Retrieves the first Component from this GameObject's children that matches
the specified type.
</summary>
<typeparam name="T">Type of the Component to get.</typeparam>
<returns>
Reference to the Component or null if neither of this GameObject's children
does not have the specified Component.
</returns>
</member>
<member name="M:SHADE.GameObject.GetComponent``1">
<summary>
Gets a Component from this GameObject.
</summary>
<typeparam name="T">Type of the Component to get.</typeparam>
<returns>
Reference to the Component or null if this GameObject does not have the
specified Component.
</returns>
</member>
<member name="M:SHADE.GameObject.AddComponent``1">
<summary>
Adds a Component to this GameObject.
</summary>
<typeparam name="T">Type of the Component to add. </typeparam>
<returns>Reference to the Component that was added.</returns>
</member>
<member name="M:SHADE.GameObject.SetActive(System.Boolean)">
<summary>
Sets the active state of this GameObject.
<br />
The actual "activeness" of this GameObject is still dependent on the parents'
active states.
</summary>
<param name="active">
Whether to activate or deactivate this GameObject.
</param>
</member>
<member name="M:SHADE.GameObject.SetName(System.String)">
<summary>
Sets the name of this GameObject.
</summary>
<param name="name">The name to set.</param>
</member>
<member name="P:SHADE.GameObject.EntityId">
<summary>
Native Entity ID value for this GameObject.
</summary>
</member>
<member name="P:SHADE.GameObject.IsActiveInHierarchy">
<summary>
Whether or not this Entity is active in the Scene hierarchy.
</summary>
</member>
<member name="P:SHADE.GameObject.IsActiveSelf">
<summary>
Whether or not this Entity alone, is active. This does not mean that this
object is active in the scene. For example, if this Entity's parent is not
active, then this Entity would also be not active.
</summary>
</member>
<member name="P:SHADE.GameObject.Name">
<summary>
Name of the object that this Entity represents.
</summary>
</member>
<member name="M:SHADE.GameObject.Find(System.String)">
<summary>
Retrieves a GameObject with the specified name. If there are multiple
GameObjects with the same name, the first found GameObject will be retrieved.
There is no guaranteed order of which GameObject is considered "first".
</summary>
<param name="name">Name of the GameObject to find.</param>
<returns>GameObject that has the specified name. Null if not found.</returns>
</member>
<member name="M:SHADE.GameObject.Destroy(SHADE.GameObject)">
<summary>
Destroys the specified GameObject. Note that the specified GameObject will no
longer be a valid GameObject after this function is called.
</summary>
<param name="obj">The GameObject to be destroyed.</param>
</member>
<member name="M:SHADE.GameObject.Create">
<summary>
Creates a new GameObject in the current Scene. If multiple Scenes are loaded,
and you would like to create an object in a specific Scene, call the Scene's
CreateGameObject().
</summary>
<returns>GameObject that represents the newly created GameObject.</returns>
</member>
<member name="T:SHADE.GameObject">
<summary>
Lightweight object for an PlushieEngine Entity that allows for easy access
to Component and Script operations.
</summary>
</member>
<member name="M:SHADE.RangeAttribute.#ctor(System.Single,System.Single)">
<summary>
Constructor for a Tooltip attribute that fills in the description.
</summary>
<param name="description">Text to be shown when a field is hovered.</param>
</member>
<member name="P:SHADE.RangeAttribute.Max">
<summary>
Maximum value for the Ranged field.
</summary>
</member>
<member name="P:SHADE.RangeAttribute.Min">
<summary>
Minimum value for the Ranged field.
</summary>
</member>
<member name="T:SHADE.RangeAttribute">
<summary>
Simple attribute to constrain the range of values for a field on the editor.
</summary>
</member>
<member name="M:SHADE.Convert.ToCLI(std.basic_string&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator&lt;System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Converts from a native std::Stringto a managed String.
</summary>
<param name="str">The native std::string to convert from.</param>
<returns>Managed copy of a native std::string.</returns>
</member>
<member name="M:SHADE.Convert.ToNative(System.String)">
<summary>
Converts from a managed String to a native std::string.
</summary>
<param name="str">The managed String to convert from.</param>
<returns>Native copy of a managed String.</returns>
</member>
<member name="M:SHADE.Convert.ToCLI(SHADE.SHRay!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Converts from a native Vector2 to a managed Vector2.
</summary>
<param name="vec">The native Vector2 to convert from.</param>
<returns>Managed copy of a native Vector2.</returns>
</member>
<member name="M:SHADE.Convert.ToCLI(SHADE.SHQuaternion!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Converts from a native Quaternion to a managed Quaternion.
</summary>
<param name="quat">The native Quaternion to convert from.</param>
<returns>Managed copy of a native Quaternion.</returns>
</member>
<member name="M:SHADE.Convert.ToNative(SHADE.Quaternion)">
<summary>
Converts from a managed Quaternion to a native Quaternion.
</summary>
<param name="quat">The managed Quaternion to convert from.</param>
<returns>Native copy of a managed Quaternion.</returns>
</member>
<member name="M:SHADE.Convert.ToCLI(SHADE.SHVec2!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Converts from a native Vector2 to a managed Vector2.
</summary>
<param name="vec">The native Vector2 to convert from.</param>
<returns>Managed copy of a native Vector2.</returns>
</member>
<member name="M:SHADE.Convert.ToNative(SHADE.Vector2)">
<summary>
Converts from a managed Vector2 to a native Vector2.
</summary>
<param name="vec">The managed Vector2 to convert from.</param>
<returns>Native copy of a managed Vector2.</returns>
</member>
<member name="M:SHADE.Convert.ToCLI(SHADE.SHVec3!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
<summary>
Converts from a native Vector3 to a managed Vector3.
</summary>
<param name="vec">The native Vector3 to convert from.</param>
<returns>Managed copy of a native Vector3.</returns>
</member>
<member name="M:SHADE.Convert.ToNative(SHADE.Vector3)">
<summary>
Converts from a managed Vector3 to a native Vector3.
</summary>
<param name="vec">The managed Vector3 to convert from.</param>
<returns>Native copy of a managed Vector3.</returns>
</member>
<member name="M:SHADE.Convert.ToCLI(SHADE.SHEntity)">
<summary>
Converts from a native Entity to a managed Entity (UInt32).
</summary>
<param name="entity">Native Entity to convert from.</param>
<returns>Managed representation of the specified Entity.</returns>
</member>
<member name="T:SHADE.Convert">
<summary>
Provides functions easy and consistent syntax for converting between custom
managed and native types that are aligned.
</summary>
</member>
<member name="M:SHADE.GenericHandle.op_Implicit~System.Boolean">
<summary>
Converts to true if this is a valid Handle.
</summary>
</member>
<member name="P:SHADE.GenericHandle.Library">
<summary>
The library that the handle was issued by.
</summary>
</member>
<member name="P:SHADE.GenericHandle.Id">
<summary>
The internal ID of the handle.
</summary>
</member>
<member name="M:SHADE.Ray.#ctor(SHADE.Vector3,SHADE.Vector3)">
<summary>
Creates a ray starting at origin along direction.
</summary>
<param name="origin">Source of the ray.</param>
<param name="direction">Direction the ray travels in.</param>
</member>
<member name="F:SHADE.Ray.Direction">
<summary>
The direction that a ray travels in.
</summary>
</member>
<member name="F:SHADE.Ray.Origin">
<summary>
The start point of the ray.
</summary>
</member>
<member name="T:SHADE.Ray">
<summary>
CLR version of the the SHADE Engine's Ray class that represents a ray in
3-Dimensional space.
</summary>
</member>
<member name="M:SHADE.Quaternion.op_Equality(SHADE.Quaternion,SHADE.Quaternion)">
<summary>
Are two quaternions equal to each other?
</summary>
<param name="lhs">Left-hand side quaternion.</param>
<param name="rhs">Right-hand side quaternion.</param>
</member>
<member name="M:SHADE.Quaternion.op_Multiply(SHADE.Quaternion,SHADE.Quaternion)">
<summary>
Combines rotations lhs and rhs.
</summary>
<param name="lhs">Left-hand side quaternion.</param>
<param name="rhs">Right-hand side quaternion.</param>
</member>
<member name="M:SHADE.Quaternion.SlerpUnclamped(SHADE.Quaternion,SHADE.Quaternion,System.Single)">
<summary>
Spherically interpolates between a and b by t. The parameter t is not clamped.
</summary>
</member>
<member name="M:SHADE.Quaternion.Slerp(SHADE.Quaternion,SHADE.Quaternion,System.Single)">
<summary>
Spherically interpolates between quaternions a and b by ratio t. The parameter t is clamped to the range [0, 1].
</summary>
<param name="a">Start value, returned when t = 0.</param>
<param name="b">End value, returned when t = 1.</param>
<param name="t">Interpolation ratio.</param>
<returns> A quaternion spherically interpolated between quaternions a and b.</returns>
</member>
<member name="M:SHADE.Quaternion.RotateTowards(SHADE.Quaternion,SHADE.Quaternion,System.Single)">
<summary>
Rotates a rotation from towards to. <br />
The from quaternion is rotated towards to by an angular step of maxDegreesDelta (but note that the rotation will not overshoot).
Negative values of maxDegreesDelta will move away from to until the rotation is exactly the opposite direction.
</summary>
</member>
<member name="M:SHADE.Quaternion.Normalize(SHADE.Quaternion)">
<summary>
Converts this quaternion to one with the same orientation but with a magnitude of 1.
</summary>
</member>
<member name="M:SHADE.Quaternion.LookRotation(SHADE.Vector3,SHADE.Vector3)">
<summary>
Creates a rotation with the specified forward and upwards directions. <br />
Z axis will be aligned with forward, X axis aligned with cross product between forward and upwards, and Y axis aligned with cross product between Z and X.
</summary>
</member>
<member name="M:SHADE.Quaternion.LerpUnclamped(SHADE.Quaternion,SHADE.Quaternion,System.Single)">
<summary>
Interpolates between a and b by t and normalizes the result afterwards. The parameter t is not clamped.
</summary>
</member>
<member name="M:SHADE.Quaternion.Lerp(SHADE.Quaternion,SHADE.Quaternion,System.Single)">
<summary>
Interpolates between a and b by t and normalizes the result afterwards. The parameter t is clamped to the range [0, 1].
</summary>
<param name="a">Start value, returned when t = 0.</param>
<param name="b">End value, returned when t = 1.</param>
<param name="t">Interpolation ratio.</param>
<returns> A quaternion interpolated between quaternions a and b.</returns>
</member>
<member name="M:SHADE.Quaternion.Inverse(SHADE.Quaternion)">
<summary>
Returns the Inverse of rotation.
</summary>
</member>
<member name="M:SHADE.Quaternion.FromToRotation(SHADE.Vector3,SHADE.Vector3)">
<summary>
Creates a rotation which rotates from fromDirection to toDirection.
</summary>
</member>
<member name="M:SHADE.Quaternion.Euler(System.Single,System.Single,System.Single)">
<summary>
Returns a rotation that rotates y degrees around the y axis, x degrees around the x axis, and z degrees around the z axis; applied in that order.
</summary>
</member>
<member name="M:SHADE.Quaternion.Dot(SHADE.Quaternion,SHADE.Quaternion)">
<summary>
The dot product between two rotations.
</summary>
</member>
<member name="M:SHADE.Quaternion.AngleAxis(System.Single,SHADE.Vector3)">
<summary>
Creates a rotation which rotates angle degrees around axis.
</summary>
</member>
<member name="M:SHADE.Quaternion.Angle(SHADE.Quaternion,SHADE.Quaternion)">
<summary>
Returns the angle in degrees between two rotations a and b.<br /></summary>
<returns>The angle in degrees between the two vectors. </returns>
</member>
<member name="M:SHADE.Quaternion.GetHashCode">
<summary>
Gets a unique hash for this object.
</summary>
<returns>Unique hash for this object.</returns>
</member>
<member name="M:SHADE.Quaternion.Equals(System.Object)">
<summary>
Compares equality with another unboxed object.
</summary>
<param name="o">The unboxed object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.Quaternion.Equals(SHADE.Quaternion)">
<summary>
Compares equality with an object of the same type.
</summary>
<param name="other">The object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.Quaternion.ToAngleAxis(System.ValueType!System.Single!System.Runtime.CompilerServices.IsBoxed@,System.ValueType!SHADE.Vector3!System.Runtime.CompilerServices.IsBoxed@)">
<summary>
Converts a rotation to angle-axis representation (angles in degrees).
</summary>
</member>
<member name="M:SHADE.Quaternion.SetLookRotation(SHADE.Vector3,SHADE.Vector3)">
<summary>
Creates a rotation with the specified forward and upwards directions. <br />
The result is applied to this quaternion.
If used to orient a Transform, the Z axis will be aligned with forward and the Y axis with upwards, assuming these vectors are orthogonal.
Logs an error if the forward direction is zero.
</summary>
<param name="view">The direction to look in.</param>
<param name="up">The vector that defines in which direction up is.</param>
</member>
<member name="M:SHADE.Quaternion.SetFromToRotation(SHADE.Vector3,SHADE.Vector3)">
<summary>
Creates a rotation which rotates from fromDirection to toDirection. <br />
Use this to create a rotation which starts at the first Vector (fromDirection) and rotates to the second Vector (toDirection).
These Vectors must be set up in a script.
</summary>
</member>
<member name="M:SHADE.Quaternion.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructor to construct a Quaternion with the specified components.
</summary>
<param name="_x">X-coordinate to set.</param>
<param name="_y">Y-coordinate to set.</param>
<param name="_z">Z-coordinate to set.</param>
<param name="_z">W-coordinate to set.</param>
</member>
<member name="F:SHADE.Quaternion.w">
<summary>
W-component of the Quaternion. Do not directly modify quaternions.
</summary>
</member>
<member name="F:SHADE.Quaternion.z">
<summary>
Z-component of the Quaternion.
Don't modify this directly unless you know quaternions inside out.
</summary>
</member>
<member name="F:SHADE.Quaternion.y">
<summary>
Y-component of the Quaternion.
Don't modify this directly unless you know quaternions inside out.
</summary>
</member>
<member name="F:SHADE.Quaternion.x">
<summary>
X-component of the Quaternion.
Don't modify this directly unless you know quaternions inside out.
</summary>
</member>
<member name="F:SHADE.Quaternion.Identity">
<summary>
Shorthand for writing Quaternion(0, 0, 0, 1).
</summary>
</member>
<member name="T:SHADE.Quaternion">
<summary>
CLR version of SHADE's Quaternion class that represents an orientation.
Designed to closely match Unity's Quaternion struct.
</summary>
</member>
<member name="M:SHADE.Vector3.op_Explicit(SHADE.Vector2)~SHADE.Vector3">
<summary>
Explicit conversion operator to enable explicit casting from a Vector2 to a
Vector3.
</summary>
<param name="vec">Vector2 to convert from.</param>
</member>
<member name="M:SHADE.Vector3.op_Explicit(SHADE.Vector3)~SHADE.Vector2">
<summary>
Explicit conversion operator to enable explicit casting from a Vector3 to a
Vector2.
</summary>
<param name="vec">Vector3 to convert from.</param>
</member>
<member name="M:SHADE.Vector3.op_Inequality(SHADE.Vector3,SHADE.Vector3)">
<summary>
Checks if two Vector3s are not approximately equal. This is equivalent to
calling !Vector3.IsNear() with default tolerance values.
</summary>
<param name="lhs">Vector3 to compare.</param>
<param name="rhs">Another Vector3 to compare.</param>
<returns>
True if all components are not approximately equal within the default
tolerance value.
</returns>
</member>
<member name="M:SHADE.Vector3.op_Equality(SHADE.Vector3,SHADE.Vector3)">
<summary>
Checks if two Vector3s are approximately equal. This is equivalent to
calling Vector3.IsNear() with default tolerance values.
</summary>
<param name="lhs">Vector3 to compare.</param>
<param name="rhs">Another Vector3 to compare.</param>
<returns>
True if all components are approximately equal within the default
tolerance value.
</returns>
</member>
<member name="M:SHADE.Vector3.op_Division(SHADE.Vector3,System.Single)">
<summary>
Calculates the division of a Vector3 with a scalar value and returns
the result.
</summary>
<param name="lhs">Scalar to divide with.</param>
<param name="rhs">Vector3 to divide with.</param>
<returns>The result of the scalar division.</returns>
</member>
<member name="M:SHADE.Vector3.op_Multiply(SHADE.Vector3,System.Single)">
<summary>
Calculates the multiplication of a Vector3 with a scalar value and returns
the result.
</summary>
<param name="lhs">Vector3 to multiply with.</param>
<param name="rhs">Scalar to multiply with.</param>
<returns>The result of the scalar multiplication.</returns>
</member>
<member name="M:SHADE.Vector3.op_Division(SHADE.Vector3,System.Double)">
<summary>
Calculates the division of a Vector3 with a scalar value and returns
the result.
</summary>
<param name="lhs">Scalar to divide with.</param>
<param name="rhs">Vector3 to divide with.</param>
<returns>The result of the scalar division.</returns>
</member>
<member name="M:SHADE.Vector3.op_Multiply(SHADE.Vector3,System.Double)">
<summary>
Calculates the multiplication of a Vector3 with a scalar value and returns
the result.
</summary>
<param name="lhs">Vector3 to multiply with.</param>
<param name="rhs">Scalar to multiply with.</param>
<returns>The result of the scalar multiplication.</returns>
</member>
<member name="M:SHADE.Vector3.op_Multiply(SHADE.Vector3,SHADE.Vector3)">
<summary>
Calculates the component-wise multiplication of two Vector3s and returns the
result.
</summary>
<param name="lhs">Vector3 to multiply with.</param>
<param name="rhs">Another Vector3 to multiply with.</param>
<returns>The result of rhs subtracted from lhs.</returns>
</member>
<member name="M:SHADE.Vector3.op_Subtraction(SHADE.Vector3,SHADE.Vector3)">
<summary>
Subtracts a Vector3 from another Vector3 and returns the result.
</summary>
<param name="lhs">Vector3 to subtract from.</param>
<param name="rhs">Another Vector3 to subtract.</param>
<returns>The result of rhs subtracted from lhs.</returns>
</member>
<member name="M:SHADE.Vector3.op_Addition(SHADE.Vector3,SHADE.Vector3)">
<summary>
Adds two Vector3s together and returns the result.
</summary>
<param name="lhs">Vector3 to add.</param>
<param name="rhs">Another Vector3 to add.</param>
<returns>The result of lhs added to rhs</returns>
</member>
<member name="M:SHADE.Vector3.MoveTowards(SHADE.Vector3,SHADE.Vector3,System.Single)">
<summary>
Moves a point current towards target.
Similar to Lerp(), however, the function will ensure that the distance never
exceeds maxDistanceDelta. Negative values of maxDistanceDelta pushes the
vector away from target
</summary>
<param name="current">The current position of the point.</param>
<param name="target">The target position to move to.</param>
<param name="maxDistanceDelta">Maximum distance moved per call.</param>
<returns>Vector representing the moved point.</returns>
</member>
<member name="M:SHADE.Vector3.LerpUnclamped(SHADE.Vector3,SHADE.Vector3,System.Single)">
<summary>
Linearly interpolates between two specified points.
This is most commonly used to find a point some fraction of the way along a
line between two endpoints.
Unlike Lerp(), t is not clamped to a range at all.
</summary>
<param name="a">The start Vector3, returned when t = 0.0f.</param>
<param name="b">The end Vector3, returned when t = 1.0f.</param>
<param name="t">Value used to interpolate between a and b.</param>
<returns>The interpolated Vector3.</returns>
</member>
<member name="M:SHADE.Vector3.Lerp(SHADE.Vector3,SHADE.Vector3,System.Single)">
<summary>
Linearly interpolates between two specified points.
This is most commonly used to find a point some fraction of the way along a
line between two endpoints.
</summary>
<param name="a">The start Vector3, returned when t = 0.0f.</param>
<param name="b">The end Vector3, returned when t = 1.0f.</param>
<param name="t">
Value used to interpolate between a and b which is clamped to
the range[0, 1].
</param>
<returns>The interpolated Vector3.</returns>
</member>
<member name="M:SHADE.Vector3.Max(SHADE.Vector3,SHADE.Vector3)">
<summary>
Computes and returns a Vector3 that is made from the largest components of
the two specified Vector3s.
</summary>
<param name="lhs">Vector3 to calculate maximum Vector3 with.</param>
<param name="rhs">Another Vector3 to calculate maximum Vector3 with.</param>
<returns>
The Vector3 that contains the largest components of the two specified
Vector3s.
</returns>
</member>
<member name="M:SHADE.Vector3.Min(SHADE.Vector3,SHADE.Vector3)">
<summary>
Computes and returns a Vector3 that is made from the smallest components of
the two specified Vector3s.
</summary>
<param name="lhs">Vector3 to calculate minimum Vector3 with.</param>
<param name="rhs">Another Vector3 to calculate minimum Vector3 with.</param>
<returns>
The Vector3 that contains the smallest components of the two specified
Vector3s.
</returns>
</member>
<member name="M:SHADE.Vector3.RotateDegrees(SHADE.Vector3,System.Single)">
<summary>
Rotates a Vector3 on the Z-axis by a specified angle in an anti-clockwise
direction.
</summary>
<param name="vec">A Vector3 to rotate.</param>
<param name="degrees">
Angle to rotate the vector by in an anti-clockwise direction in degrees.
</param>
<returns>The Vector3 that represents the rotated vector.</returns>
</member>
<member name="M:SHADE.Vector3.RotateRadians(SHADE.Vector3,System.Single)">
<summary>
Rotates a Vector3 on the Z-axis by a specified angle in an anti-clockwise
direction.
</summary>
<param name="vec">A Vector3 to rotate.</param>
<param name="radians">
Angle to rotate the vector by in an anti-clockwise direction in radians.
</param>
<returns>The Vector3 that represents the rotated vector.</returns>
</member>
<member name="M:SHADE.Vector3.Reflect(SHADE.Vector3,SHADE.Vector3)">
<summary>
Reflects a Vector3 across another Vector3.
</summary>
<param name="vec">A Vector3 to reflect.</param>
<param name="normal">A normal to reflect the Vector3 across.</param>
<returns>The Vector3 that represents vec reflected across normal.</returns>
</member>
<member name="M:SHADE.Vector3.Project(SHADE.Vector3,SHADE.Vector3)">
<summary>
Computes and returns a Vector3 projection.
</summary>
<param name="vec">Vector3 to project.</param>
<param name="direction">Vector3 to project onto.</param>
<returns>The Vector3 that represents the projected vec onto direction.</returns>
</member>
<member name="M:SHADE.Vector3.Cross(SHADE.Vector3,SHADE.Vector3)">
<summary>
Computes and returns the cross product of 2 specified Vector3s.
</summary>
<param name="lhs">Vector3 to calculate cross product with.</param>
<param name="rhs">Another Vector3 to calculate cross product with.</param>
<returns>The cross product of the two Vector3s.</returns>
</member>
<member name="M:SHADE.Vector3.Dot(SHADE.Vector3,SHADE.Vector3)">
<summary>
Computes and returns the dot product of 2 specified Vector3s.
</summary>
<param name="lhs">Vector3 to calculate dot product with.</param>
<param name="rhs">Another Vector3 to calculate dot product with.</param>
<returns>Scalar value representing the dot product of the two Vector3s.</returns>
</member>
<member name="M:SHADE.Vector3.IsNear(SHADE.Vector3,SHADE.Vector3,System.Single)">
<summary>
Checks if two specified Vector3s are near in value.
</summary>
<param name="lhs">Vector3 to check if is near in value.</param>
<param name="rhs">Another Vector3 to check if is near in value.</param>
<param name="tolerance">Amount of tolerance to do the comparison with.</param>
<returns>
True if the two Vector3s are within the tolerance value specified
</returns>
</member>
<member name="M:SHADE.Vector3.IsNear(SHADE.Vector3,SHADE.Vector3)">
<summary>
Checks if two specified Vector3s are near in value.
</summary>
<param name="lhs">Vector3 to check if is near in value.</param>
<param name="rhs">Another Vector3 to check if is near in value.</param>
<returns>
True if the two Vector3s are within the tolerance value specified
</returns>
</member>
<member name="M:SHADE.Vector3.GetHashCode">
<summary>
Gets a unique hash for this object.
</summary>
<returns>Unique hash for this object.</returns>
</member>
<member name="M:SHADE.Vector3.Equals(System.Object)">
<summary>
Compares equality with another unboxed object.
</summary>
<param name="o">The unboxed object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.Vector3.Equals(SHADE.Vector3)">
<summary>
Compares equality with an object of the same type.
</summary>
<param name="other">The object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.Vector3.IsNearPoint(SHADE.Vector3,System.Single)">
<summary>
Checks if a specified point is near this Vector3 that represents a point.
</summary>
<param name="point">The other point to check if we are near.</param>
<param name="tolerance">
The amount of tolerance before we consider these points as "near".
</param>
<returns>
True if this Vector3 representing a point and the specified point are within
the range of the specified tolerance. False otherwise.
</returns>
</member>
<member name="M:SHADE.Vector3.IsNearPoint(SHADE.Vector3)">
<summary>
Checks if a specified point is near this Vector3 that represents a point with
a tolerance value of PLS_EPSILON.
</summary>
<param name="point">The other point to check if we are near.</param>
<returns>
True if this Vector3 representing a point and the specified point are within
the range of the specified tolerance. False otherwise.
</returns>
</member>
<member name="M:SHADE.Vector3.Angle2DFromRightDegrees">
<summary>
Calculates and returns the angle of this vector from the right vector. This
function returns values between -180.0f and 180.0f.
</summary>
<returns>Returns the angle of this vector from the right vector in degrees.</returns>
</member>
<member name="M:SHADE.Vector3.Angle2DFromRightRadians">
<summary>
Calculates and returns the angle of this vector from the right vector. This
function returns values between -Math.PI and Math.PI.
</summary>
<returns>Returns the angle of this vector from the right vector in radians.</returns>
</member>
<member name="M:SHADE.Vector3.GetSqrMagnitude">
<summary>
Calculates and returns the squared magnitude of this Vector3.
</summary>
<returns>Returns the squared length of this Vector3.</returns>
</member>
<member name="M:SHADE.Vector3.GetMagnitude">
<summary>
Calculates and returns the magnitude of this Vector3. Note that this function
incurs a performance cost from the square root calculation. If you do not
need the precise magnitude, consider using GetSqrMagnitude() instead.
</summary>
<returns>Returns the length of this Vector3.</returns>
</member>
<member name="M:SHADE.Vector3.GetNormalised">
<summary>
Creates a copy of this Vector3 and returns a normalized version.
</summary>
<returns>
Returns a normalised copy of this Vector3.
If this Vector3 is a zero vector, a zero vector will be returned.
</returns>
</member>
<member name="M:SHADE.Vector3.Normalise">
<summary>
Normalises this current Vector3. This changes the data of this Vector3.
If you would like to get a copy, use GetNormalised() instead.
This function does nothing to a zero vector.
</summary>
</member>
<member name="M:SHADE.Vector3.#ctor(SHADE.Vector2)">
<summary>
Conversion constructor to construct a Vector3 using a Vector2.
</summary>
<param name="vec" />
</member>
<member name="M:SHADE.Vector3.#ctor(System.Single,System.Single,System.Single)">
<summary>
Constructor to construct a Vector3 with the specified components.
</summary>
<param name="_x">X-coordinate to set.</param>
<param name="_y">Y-coordinate to set.</param>
<param name="_z">Z-coordinate to set.</param>
</member>
<member name="M:SHADE.Vector3.#ctor(System.Single,System.Single)">
<summary>
Constructor to construct a Vector3 with the specified components with the
Z-component set to 0.0f.
</summary>
<param name="_x">X-coordinate to set.</param>
<param name="_y">Y-coordinate to set.</param>
</member>
<member name="M:SHADE.Vector3.#ctor(System.Single)">
<summary>
Constructor to construct a Vector3 with the specified components with the
Y and Z-component set to 0.0f.
</summary>
<param name="_x">X-coordinate to set.</param>
</member>
<member name="F:SHADE.Vector3.z">
<summary>
Z-component of the Vector3.
</summary>
</member>
<member name="F:SHADE.Vector3.y">
<summary>
Y-component of the Vector3.
</summary>
</member>
<member name="F:SHADE.Vector3.x">
<summary>
X-component of the Vector3.
</summary>
</member>
<member name="F:SHADE.Vector3.Zero">
<summary>
Shorthand for writing Vector3(0, 0, 0).
</summary>
</member>
<member name="F:SHADE.Vector3.Up">
<summary>
Shorthand for writing Vector3(0, 1, 0).
</summary>
</member>
<member name="F:SHADE.Vector3.Right">
<summary>
Shorthand for writing Vector3(1, 0, 0).
</summary>
</member>
<member name="F:SHADE.Vector3.PositiveInfinity">
<summary>
Shorthand for writing Vector3(float.PositiveInfinity,
float.PositiveInfinity, float.PositiveInfinity).
</summary>
</member>
<member name="F:SHADE.Vector3.One">
<summary>
Shorthand for writing Vector3(1, 1, 1).
</summary>
</member>
<member name="F:SHADE.Vector3.NegativeInfinity">
<summary>
Shorthand for writing Vector3(float.NegativeInfinity,
float.NegativeInfinity, float.NegativeInfinity).
</summary>
</member>
<member name="F:SHADE.Vector3.Left">
<summary>
Shorthand for writing Vector3(-1, 0, 0).
</summary>
</member>
<member name="F:SHADE.Vector3.Forward">
<summary>
Shorthand for writing Vector3(0, 0, 1).
</summary>
</member>
<member name="F:SHADE.Vector3.Down">
<summary>
Shorthand for writing Vector3(0, -1, 0).
</summary>
</member>
<member name="F:SHADE.Vector3.Back">
<summary>
Shorthand for writing Vector3(0, 0, -1).
</summary>
</member>
<member name="T:SHADE.Vector3">
<summary>
CLR version of SHADE Engine's Vector3 class that represents a 3-Dimensional Vector.
Designed to closely match Unity's Vector3 struct.
</summary>
</member>
<member name="M:SHADE.Vector2.op_Inequality(SHADE.Vector2,SHADE.Vector2)">
<summary>
Checks if two Vector2s are not approximately equal. This is equivalent to
calling !Vector2.IsNear() with default tolerance values.
</summary>
<param name="lhs">Vector2 to compare.</param>
<param name="rhs">Another Vector2 to compare.</param>
<returns>
True if all components are not approximately equal within the default
tolerance value.
</returns>
</member>
<member name="M:SHADE.Vector2.op_Equality(SHADE.Vector2,SHADE.Vector2)">
<summary>
Checks if two Vector2s are approximately equal. This is equivalent to
calling Vector2.IsNear() with default tolerance values.
</summary>
<param name="lhs">Vector2 to compare.</param>
<param name="rhs">Another Vector2 to compare.</param>
<returns>
True if all components are approximately equal within the default
tolerance value.
</returns>
</member>
<member name="M:SHADE.Vector2.op_Division(SHADE.Vector2,System.Single)">
<summary>
Calculates the division of a Vector2 with a scalar value and returns
the result.
</summary>
<param name="lhs">Scalar to divide with.</param>
<param name="rhs">Vector2 to divide with.</param>
<returns>The result of the scalar division.</returns>
</member>
<member name="M:SHADE.Vector2.op_Multiply(SHADE.Vector2,System.Single)">
<summary>
Calculates the multiplication of a Vector2 with a scalar value and returns
the result.
</summary>
<param name="lhs">Vector2 to multiply with.</param>
<param name="rhs">Scalar to multiply with.</param>
<returns>The result of the scalar multiplication.</returns>
</member>
<member name="M:SHADE.Vector2.op_Division(SHADE.Vector2,System.Double)">
<summary>
Calculates the division of a Vector2 with a scalar value and returns
the result.
</summary>
<param name="lhs">Scalar to divide with.</param>
<param name="rhs">Vector2 to divide with.</param>
<returns>The result of the scalar division.</returns>
</member>
<member name="M:SHADE.Vector2.op_Multiply(SHADE.Vector2,System.Double)">
<summary>
Calculates the multiplication of a Vector2 with a scalar value and returns
the result.
</summary>
<param name="lhs">Vector2 to multiply with.</param>
<param name="rhs">Scalar to multiply with.</param>
<returns>The result of the scalar multiplication.</returns>
</member>
<member name="M:SHADE.Vector2.op_Multiply(SHADE.Vector2,SHADE.Vector2)">
<summary>
Calculates the component-wise multiplication of two Vector2s and returns the
result.
</summary>
<param name="lhs">Vector2 to multiply with.</param>
<param name="rhs">Another Vector2 to multiply with.</param>
<returns>The result of rhs subtracted from lhs.</returns>
</member>
<member name="M:SHADE.Vector2.op_Subtraction(SHADE.Vector2,SHADE.Vector2)">
<summary>
Subtracts a Vector2 from another Vector2 and returns the result.
</summary>
<param name="lhs">Vector2 to subtract from.</param>
<param name="rhs">Another Vector2 to subtract.</param>
<returns>The result of rhs subtracted from lhs.</returns>
</member>
<member name="M:SHADE.Vector2.op_Addition(SHADE.Vector2,SHADE.Vector2)">
<summary>
Adds two Vector2s together and returns the result.
</summary>
<param name="lhs">Vector2 to add.</param>
<param name="rhs">Another Vector2 to add.</param>
<returns>The result of lhs added to rhs</returns>
</member>
<member name="M:SHADE.Vector2.MoveTowards(SHADE.Vector2,SHADE.Vector2,System.Single)">
<summary>
Moves a point current towards target.
Similar to Lerp(), however, the function will ensure that the distance never
exceeds maxDistanceDelta. Negative values of maxDistanceDelta pushes the
vector away from target
</summary>
<param name="current">The current position of the point.</param>
<param name="target">The target position to move to.</param>
<param name="maxDistanceDelta">Maximum distance moved per call.</param>
<returns>Vector representing the moved point.</returns>
</member>
<member name="M:SHADE.Vector2.LerpUnclamped(SHADE.Vector2,SHADE.Vector2,System.Single)">
<summary>
Linearly interpolates between two specified points.
This is most commonly used to find a point some fraction of the way along a
line between two endpoints.
Unlike Lerp(), t is not clamped to a range at all.
</summary>
<param name="a">The start Vector2, returned when t = 0.0f.</param>
<param name="b">The end Vector2, returned when t = 1.0f.</param>
<param name="t">Value used to interpolate between a and b.</param>
<returns>The interpolated Vector2.</returns>
</member>
<member name="M:SHADE.Vector2.Lerp(SHADE.Vector2,SHADE.Vector2,System.Single)">
<summary>
Linearly interpolates between two specified points.
This is most commonly used to find a point some fraction of the way along a
line between two endpoints.
</summary>
<param name="a">The start Vector2, returned when t = 0.0f.</param>
<param name="b">The end Vector2, returned when t = 1.0f.</param>
<param name="t">
Value used to interpolate between a and b which is clamped to
the range[0, 1].
</param>
<returns>The interpolated Vector2.</returns>
</member>
<member name="M:SHADE.Vector2.Max(SHADE.Vector2,SHADE.Vector2)">
<summary>
Computes and returns a Vector2 that is made from the largest components of
the two specified Vector2s.
</summary>
<param name="lhs">Vector2 to calculate maximum Vector2 with.</param>
<param name="rhs">Another Vector2 to calculate maximum Vector2 with.</param>
<returns>
The Vector2 that contains the largest components of the two specified
Vector2s.
</returns>
</member>
<member name="M:SHADE.Vector2.Min(SHADE.Vector2,SHADE.Vector2)">
<summary>
Computes and returns a Vector2 that is made from the smallest components of
the two specified Vector2s.
</summary>
<param name="lhs">Vector2 to calculate minimum Vector2 with.</param>
<param name="rhs">Another Vector2 to calculate minimum Vector2 with.</param>
<returns>
The Vector2 that contains the smallest components of the two specified
Vector2s.
</returns>
</member>
<member name="M:SHADE.Vector2.RotateDegrees(SHADE.Vector2,System.Single)">
<summary>
Rotates a Vector2 on the Z-axis by a specified angle in an anti-clockwise
direction.
</summary>
<param name="vec">A Vector2 to rotate.</param>
<param name="degrees">
Angle to rotate the vector by in an anti-clockwise direction in degrees.
</param>
<returns>The Vector2 that represents the rotated vector.</returns>
</member>
<member name="M:SHADE.Vector2.RotateRadians(SHADE.Vector2,System.Single)">
<summary>
Rotates a Vector2 on the Z-axis by a specified angle in an anti-clockwise
direction.
</summary>
<param name="vec">A Vector2 to rotate.</param>
<param name="radians">
Angle to rotate the vector by in an anti-clockwise direction in radians.
</param>
<returns>The Vector2 that represents the rotated vector.</returns>
</member>
<member name="M:SHADE.Vector2.Reflect(SHADE.Vector2,SHADE.Vector2)">
<summary>
Reflects a Vector2 across another Vector2.
</summary>
<param name="vec">A Vector2 to reflect.</param>
<param name="normal">A normal to reflect the Vector2 across.</param>
<returns>The Vector2 that represents vec reflected across normal.</returns>
</member>
<member name="M:SHADE.Vector2.Project(SHADE.Vector2,SHADE.Vector2)">
<summary>
Computes and returns a Vector2 projection.
</summary>
<param name="vec">Vector2 to project.</param>
<param name="direction">Vector2 to project onto.</param>
<returns>The Vector2 that represents the projected vec onto direction.</returns>
</member>
<member name="M:SHADE.Vector2.Perpendicular(SHADE.Vector2,System.Boolean)">
<summary>
Computes a perpendicular Vector2 to the specified Vector2.
</summary>
<param name="lhs">Vector2 to find a perpendicular of.</param>
<param name="inward">
Whether the inward perpendicular Vector is retrieved. If true, the
resultant vector is rotated 90-degrees in a counter-clockwise.
</param>
<returns>The perpendicular Vector2 relative to the specified Vector2.
</returns>
</member>
<member name="M:SHADE.Vector2.Perpendicular(SHADE.Vector2)">
<summary>
Computes the inward perpendicular Vector2 to the specified Vector2.
Equivalent to calling Perpendicular(lhs, true). This means, the
resultant Vector2 is rotated 90-degrees in a counter-clockwise.
</summary>
<param name="lhs">Vector2 to find a perpendicular of.</param>
<returns>
The perpendicular Vector2 relative to the specified Vector2.
</returns>
</member>
<member name="M:SHADE.Vector2.Dot(SHADE.Vector2,SHADE.Vector2)">
<summary>
Computes and returns the dot product of 2 specified Vector2s.
</summary>
<param name="lhs">Vector2 to calculate dot product with.</param>
<param name="rhs">Another Vector2 to calculate dot product with.</param>
<returns>
Scalar value representing the dot product of the two Vector2s.
</returns>
</member>
<member name="M:SHADE.Vector2.IsNear(SHADE.Vector2,SHADE.Vector2,System.Single)">
<summary>
Checks if two specified Vector2s are near in value.
</summary>
<param name="lhs">Vector2 to check if is near in value.</param>
<param name="rhs">Another Vector2 to check if is near in value.</param>
<param name="tolerance">
Amount of tolerance to do the comparison with.
</param>
<returns>
True if the two Vector2s are within the tolerance value specified
</returns>
</member>
<member name="M:SHADE.Vector2.IsNear(SHADE.Vector2,SHADE.Vector2)">
<summary>
Checks if two specified Vector2s are near in value.
</summary>
<param name="lhs">Vector2 to check if is near in value.</param>
<param name="rhs">Another Vector2 to check if is near in value.</param>
<returns>
True if the two Vector2s are within the tolerance value specified
</returns>
</member>
<member name="M:SHADE.Vector2.GetHashCode">
<summary>
Gets a unique hash for this object.
</summary>
<returns>Unique hash for this object.</returns>
</member>
<member name="M:SHADE.Vector2.Equals(System.Object)">
<summary>
Compares equality with another unboxed object.
</summary>
<param name="o">The unboxed object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.Vector2.Equals(SHADE.Vector2)">
<summary>
Compares equality with an object of the same type.
</summary>
<param name="other">The object to compare with.</param>
<returns>True if both objects are the same.</returns>
</member>
<member name="M:SHADE.Vector2.IsNearPoint(SHADE.Vector2,System.Single)">
<summary>
Checks if a specified point is near this Vector2 that represents a point.
</summary>
<param name="point">The other point to check if we are near.</param>
<param name="tolerance">
The amount of tolerance before we consider these points as "near".
</param>
<returns>
True if this Vector2 representing a point and the specified point are within
the range of the specified tolerance. False otherwise.
</returns>
</member>
<member name="M:SHADE.Vector2.IsNearPoint(SHADE.Vector2)">
<summary>
Checks if a specified point is near this Vector2 that represents a point with
a tolerance value of PLS_EPSILON.
</summary>
<param name="point">The other point to check if we are near.</param>
<returns>
True if this Vector2 representing a point and the specified point are within
the range of the specified tolerance. False otherwise.
</returns>
</member>
<member name="M:SHADE.Vector2.AngleFromRightDegrees">
<summary>
Calculates and returns the angle of this vector from the right vector. This
function returns values between -180.0f and 180.0f.
</summary>
<returns>Returns the angle of this vector from the right vector in degrees.</returns>
</member>
<member name="M:SHADE.Vector2.AngleFromRightRadians">
<summary>
Calculates and returns the angle of this vector from the right vector. This
function returns values between -Math.PI and Math.PI.
</summary>
<returns>Returns the angle of this vector from the right vector in radians.</returns>
</member>
<member name="M:SHADE.Vector2.GetSqrMagnitude">
<summary>
Calculates and returns the squared magnitude of this Vector2.
</summary>
<returns>Returns the squared length of this Vector2.</returns>
</member>
<member name="M:SHADE.Vector2.GetMagnitude">
<summary>
Calculates and returns the magnitude of this Vector2. Note that this function
incurs a performance cost from the square root calculation. If you do not
need the precise magnitude, consider using GetSqrMagnitude() instead.
</summary>
<returns>Returns the length of this Vector2.</returns>
</member>
<member name="M:SHADE.Vector2.GetNormalised">
<summary>
Creates a copy of this Vector2 and returns a normalized version.
</summary>
<returns>
Returns a normalised copy of this Vector2.
If this Vector2 is a zero vector, a zero vector will be returned.
</returns>
</member>
<member name="M:SHADE.Vector2.Normalise">
<summary>
Normalises this current Vector2. This changes the data of this Vector2.
If you would like to get a copy, use GetNormalised() instead.
This function does nothing to a zero vector.
</summary>
</member>
<member name="M:SHADE.Vector2.#ctor(System.Single,System.Single)">
<summary>
Constructor to construct a Vector2 with the specified components..
</summary>
<param name="_x">X-coordinate to set.</param>
<param name="_y">Y-coordinate to set.</param>
</member>
<member name="M:SHADE.Vector2.#ctor(System.Single)">
<summary>
Constructor to construct a Vector2 with the specified components with the
Y-component set to 0.0f.
</summary>
<param name="_x">X-coordinate to set.</param>
</member>
<member name="F:SHADE.Vector2.y">
<summary>
Y-component of the Vector2.
</summary>
</member>
<member name="F:SHADE.Vector2.x">
<summary>
X-component of the Vector2.
</summary>
</member>
<member name="F:SHADE.Vector2.Zero">
<summary>
Shorthand for writing Vector2(0, 0).
</summary>
</member>
<member name="F:SHADE.Vector2.Up">
<summary>
Shorthand for writing Vector2(0, 1).
</summary>
</member>
<member name="F:SHADE.Vector2.Right">
<summary>
Shorthand for writing Vector2(1, 0).
</summary>
</member>
<member name="F:SHADE.Vector2.PositiveInfinity">
<summary>
Shorthand for writing Vector2(float.PositiveInfinity,
float.PositiveInfinity).
</summary>
</member>
<member name="F:SHADE.Vector2.One">
<summary>
Shorthand for writing Vector2(1, 1).
</summary>
</member>
<member name="F:SHADE.Vector2.NegativeInfinity">
<summary>
Shorthand for writing Vector2(float.NegativeInfinity,
float.NegativeInfinity).
</summary>
</member>
<member name="F:SHADE.Vector2.Left">
<summary>
Shorthand for writing Vector2(-1, 0).
</summary>
</member>
<member name="F:SHADE.Vector2.Down">
<summary>
Shorthand for writing Vector2(0, -1).
</summary>
</member>
<member name="T:SHADE.Vector2">
<summary>
CLR version of SHADE Engine's Vector2 class that represents a 2-Dimensional Vector.
Designed to closely match Unity's Vector2 struct.
</summary>
</member>
<member name="M:SHADE.EntityUtils.IsValid(System.ValueType!System.UInt32!System.Runtime.CompilerServices.IsBoxed)">
<summary>
Checks if the specified entity is valid. This is done by checking if it
matches Pls::Entity::INVALID.
</summary>
<param name="entity">The Entity to check.</param>
<returns>True if the specified Entity is valid.</returns>
</member>
<member name="T:SHADE.EntityUtils">
<summary>
Static class that contains useful utility functions for working with Entity.
</summary>
</member>
<member name="T:SHADE.SHResourceHub">
<summary>
Manages all resources in multiple ResourceLibraries.
</summary>
</member>
<member name="T:SHADE.SHResourceLibraryBase">
<summary>
Base class for SHResourceLibrary that holds information about the library type.
</summary>
</member>
<member name="T:SHADE.Handle{System.Void}">
<summary>
Template Specialization for Handle that represents a type-less Handle.
</summary>
</member>
<member name="M:SHADE.HandleBase.op_Implicit~System.Boolean">
<summary>
Converts to true if this is a valid Handle.
</summary>
</member>
<member name="T:SHADE.HandleBase.Id">
<summary>
Native ID type of a handle
</summary>
</member>
<member name="T:SHADE.HandleBase">
<summary>
Base implementation of the Handle that is not templated to allow for holding
generic non-type-specific Handles.
</summary>
</member>
<member name="T:SHADE.BadHandleCastException">
<summary>
Exception thrown when a generic Handle is being casted to the wrong type.
</summary>
</member>
<member name="T:SHADE.InvalidHandleException">
<summary>
Exception thrown when an invalid Handle was dereferenced.
</summary>
</member>
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SDL_acos(System.Double)'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputCheckbox(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputInt(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputUnsignedInt(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.UInt32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputFloat(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputDouble(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Double*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputAngle(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Double*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputSlider(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32,System.Int32,System.Int32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputSlider(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.UInt32,System.UInt32,System.UInt32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputSlider(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single,System.Single,System.Single*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputSlider(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Double,System.Double,System.Double*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputVec2(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,SHADE.SHVec2*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputVec3(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,SHADE.SHVec3*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*,System.Single)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputTextField(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputEnumCombo(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,std.vector<std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>,std.allocator<std.basic_string<System.SByte!System.Runtime.Co'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputCheckbox(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputInt(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputUnsignedInt(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.UInt32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputFloat(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputDouble(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Double*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputAngle(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Double*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputSlider(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32,System.Int32,System.Int32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputSlider(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.UInt32,System.UInt32,System.UInt32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputSlider(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single,System.Single,System.Single*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputSlider(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Double,System.Double,System.Double*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputVec2(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,SHADE.SHVec2*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputVec3(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,SHADE.SHVec3*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*,System.Single)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputTextField(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Boolean*)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.SHEditorUI.InputEnumCombo(std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,std.vector<std.basic_string<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte,std.char_traits{System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte},std.allocator<System.SByte!System.Runtime.CompilerServices.IsSignUnspecifiedByte>>,std.allocator<std.basic_string<System.SByte!System.Runtime.Co'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.Ray)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToNative(SHADE.GenericHandle)'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.Convert.ToCLI(SHADE.Handle{System.Void})'. -->
<!-- Discarding badly formed XML document comment for member 'T:SHADE.GenericHandle'. -->
<!-- Discarding badly formed XML document comment for member 'M:SHADE.GenericHandle.#ctor(SHADE.Handle{System.Void})'. -->
</members>
</doc>