From c96eeb7c5b8dc0409f969c3d2fe6b35b56fe6299 Mon Sep 17 00:00:00 2001 From: Xiao Qi Date: Wed, 2 Nov 2022 22:36:44 +0800 Subject: [PATCH] Removed xml --- bin/Debug/SHADE_CSharp.xml | 1029 ------ bin/Debug/SHADE_Managed.xml | 6250 --------------------------------- bin/Release/SHADE_CSharp.xml | 1029 ------ bin/Release/SHADE_Managed.xml | 6250 --------------------------------- 4 files changed, 14558 deletions(-) delete mode 100644 bin/Debug/SHADE_CSharp.xml delete mode 100644 bin/Debug/SHADE_Managed.xml delete mode 100644 bin/Release/SHADE_CSharp.xml delete mode 100644 bin/Release/SHADE_Managed.xml diff --git a/bin/Debug/SHADE_CSharp.xml b/bin/Debug/SHADE_CSharp.xml deleted file mode 100644 index daeaa3c5..00000000 --- a/bin/Debug/SHADE_CSharp.xml +++ /dev/null @@ -1,1029 +0,0 @@ - - - - SHADE_CSharp - - - - - Interface for a CallbackAction that all variants inherit from. - - - - - Whether or not this CallbackAction is runtime assigned. If it is, then the - TargetMethodName and TargetObject properties are invalid. - - - - - Name of the method that this CallbackAction is using. - - - - - Object which the specified target method is called on. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 1 parameter. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 2 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 3 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 4 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 5 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 6 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 7 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 8 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 9 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 10 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Interface for a CallbackEvent that all variants inherit from. - - - - - Registers an empty ICallbackAction. - - - - - Registers an ICallbackAction with the event such that it will be called in - future - - ICallbackAction to register with. - - - - Deregisters an ICallbackAction that was previously added. This should - only emit a warning if an action that was not previous added was - provided. - - ICallbackAction to remove. - - - - Iterable set of ICallbackActions that were registered to this event. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - diff --git a/bin/Debug/SHADE_Managed.xml b/bin/Debug/SHADE_Managed.xml deleted file mode 100644 index 7b653116..00000000 --- a/bin/Debug/SHADE_Managed.xml +++ /dev/null @@ -1,6250 +0,0 @@ - - - - "SHADE_Managed" - - - - -Retrieves the duration that the specified key has not been held or was last -not been held for. - - The key to check. - Time in seconds that the key was held. - - - -Retrieves the duration that the specified key has been held or was last held -for. - - The key to check. - Time in seconds that the key was held. - - - -Retrieves the duration that the specified key has not been held or was last -not been held for. - - The key to check. - Time in seconds that the key was held. - - - -Retrieves the duration that the specified key has been held or was last held -for. - - The key to check. - Time in seconds that the key was held. - - - -Sets the position of the mouse cursor relative to the top left corner of the -window. - - -Position of the mouse in window pixel coordinates to set. - - - - -Checks if a specified mouse button is no longer pressed and was pressed -before. - - MouseCode of the mouse button to check. - -True during the frame the user releases the given mouse button. - - - - -Checks if a specified mouse button is pressed and was not pressed before. - - MouseCode of the mouse button to check. - -True during the frame the user pressed the given mouse button. - - - - -Checks if a specified mouse button is being held down. -This will also be true if GetMouseButtonDown() is true. - - MouseCode of the mouse button to check. - True while the user holds down the mouse button specified. - - - -Checks if a specified key is no longer pressed pressed and was pressed -before. - - KeyCode of the key to check. - -True during the frame the user releases the key identified by name. - - - - -Checks if a specified key is pressed and was not pressed before. - - KeyCode of the key to check. - -True during the frame the user starts pressing down the key specified. - - - - -Checks if a specified key is being held down. -This will also be true if GetKeyDown() is true. - - KeyCode of the key to check. - True while the user holds down the key specified. - - - -Amnount of vertical mouse scroll in this frame. - - - - -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 - - - - -Represents the available supported mouse keycodes that can be passed into the -mouse-button-based Input functions. - - - - -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 - - - - -Static class responsible for providing access to Input-related functionality. - - - - -Simple attribute to mark that a field in a Script should be serialised. - - - - -Cleans up all required components for managed code. - - - - -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(). - - - - -Loads the managed script assembly. Ensure this is only called after -UnloadScriptAssembly() has been called. - - - - -Unloads the managed script assembly. -Take note that this will clear all existing scripts, ensure that the scene -is saved before doing so. - - - - -Initialises all required components for managed code. - - - - -Name of the Managed Library that contains the C# scripts written externally. - - - - -Static class that contains the functions for interfacing with the core -PlushieEngine written in C++ for managing the lifecycle of managed code. - - - - -Default Constructor - - - - -Custom AssemblyLoadContext marked as collectible so that it can be unloaded. - - - - -Time taken for Physics simulations. You should use this for operations -within Script.FixedUpdate() - - - - -Time taken to process the previous frame. - - - - -Static class that contains the functions for working with time. - - - - -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. - - - - -Constructor for a Tooltip attribute that fills in the description. - - Text to be shown when a field is hovered. - - - -Description that is to be shown in the Tooltip. - - - - -Simple attribute to provide a field in a script with a tooltip. - - - - -Checks if a specified file exists. - - File path to the file to check. - True if the file exists - - - -Deletes the folder and all files in it as specified by the file path. - - File path to the file to delete. - - - -Deletes the file as specified by the file path. - - File path to the file to delete. - - - -Reads the file via the specified path that represents a build log of error -and warning messages. - - -File path to the build log of script builds done by BuildScriptAssembly() to -dump and process. - - - - -Registers events for the scripting system - - - - -Loads all the function pointers to CLR code that we need to execute. - - - - -Generates a .csproj file for editing and compiling the C# scripts. - - File path to the generated file. - - - -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. - - -Whether or not a debug build will be built. Only debug built C# assemblies -can be debugged. - - -Whether or not we are reloading the assembly, if so, unload and then reload it. - - Whether or not the build succeeded. - - - -Performs a redo for script inspector changes if it exists. - - - - -Performs an undo for script inspector changes if it exists. - - - - -Renders the set of attached Scripts for the specified Entity into the -inspector. -
-This function is meant for consumption from native code in the inspector -rendering code. -
- The Entity to render the Scripts of. -
- - -Creates scripts and sets fields for the specified Entity based on the specified -YAML node. - - The Entity to deserialise a Script on to. - -YAML Node that contains the serialised script data. - - True if successfully deserialised. - - - -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. - - The Entity to Serialise. - -YAML Node that will store the serialised scripts. - - True if successfully serialised. - - - -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. - - The entity to remove the scripts from. - -Whether or not to call OnDestroy on the scripts. This is ignored if not in -play mode. - - - - -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. - - The entity to remove the scripts from. - - - -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<T>() (C# only) currently only -gives you the first Script added of the specified type. - - The entity to add a script to. - Type name of the script to add. - -True if successfully added. False otherwise with the error logged to the -console. - - - - -Shuts down the DotNetRuntime. - - - - -Executes the OnCollision*()s and OnTrigger*()s of the Scripts that are attached -to Entities. - - - - -Executes the FixedUpdate()s of the Scripts that are attached to -Entities. - - - - -Reloads the managed script assembly. -Take note that this will clear all existing scripts, ensure that the scene -is saved before doing so. - - - - -Unloads the managed script assembly. -Take note that this will clear all existing scripts, ensure that the scene -is saved before doing so. - - - - -Loads the managed script assembly. Ensure this is only called after -UnloadScriptAssembly() has been called. - - - - -Initialises the DotNetRuntime and retrieves function pointers to all -functions on the CLR used to interface with the engine. - - - - -Manages initialisation of the DotNetRuntime and interfacing with CLR code written -and executed on .NET. - - - - -Deserialises a YAML node that contains a map of Scripts and copies the -deserialised data into the specified object if there are matching fields. - - -The JSON string that contains the data to copy into this Script object. - - The object to copy deserialised data into. - - - -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. - - The object to serialise. - - - -Checks if a specified field is a candidate for serialisation. This means that -the field is public or private with the [SerialiseField] attribute. - - The field to check. - -True if the specified field is a candidate for serialisation. - - - - -Retrieves a set of all non-static (instance) fields from a specified object. - - The object to get non-static fields from. - Immutable list of non-static fields. - - - -Contains useful static functions for working with Reflection. - - - -Converts the node to a YAML string. - - -Emits the node to the given output stream. - - -Emits the node to the given {@link Emitter}. If there is an error in writing, -{@link Emitter#good} will return false. - - - - 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. - - - - Loads the input stream as a list of YAML documents. - - @throws {@link ParserException} if it is malformed. - - - - Loads the input string as a list of YAML documents. - - @throws {@link ParserException} if it is malformed. - - - - Loads the input string as a list of YAML documents. - - @throws {@link ParserException} if it is malformed. - - - - 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. - - - - Loads the input stream as a single YAML document. - - @throws {@link ParserException} if it is malformed. - - - - Loads the input string as a single YAML document. - - @throws {@link ParserException} if it is malformed. - - - - Loads the input string as a single YAML document. - - @throws {@link ParserException} if it is malformed. - - - -Handles a "TAG" directive, which should be of the form 'handle prefix', -where 'handle' is converted to 'prefix' in the file. - - - -Handles a "YAML" directive, which should be of the form 'major.minor' (like -a version number). - - - -Reads any directives that are next in the queue, setting the internal -{@code m_pDirectives} state. - - - - Handles the next document by calling events on the {@code eventHandler}. - - @throw a ParserException on error. - @return false if there are no more documents - - - -Resets the parser with the given input stream. Any existing state is -erased. - - - -Evaluates to true if the parser has some valid input to be read. - - -Constructs a parser from the given input stream. The input stream must -live as long as the parser. - - - -Constructs an empty parser (with no input. - - -A parser turns a stream of bytes into one stream of "events" per YAML -document in the input stream. - - - - -Renders a context menu when right clicked for the scripts - - The Entity to render the Scripts of. - The Script to render the inspector for. - - - -Renders a field specified into the inspector. - - The field to render. - -The object that contains the data of the field to render. - - - - -Renders a single specified Script's inspector. - - The Entity to render the Scripts of. - The Script to render the inspector for. - -Indices used internally to differentiate each rendered Script -inspector. This is required to open and close each Script's inspector -independently from each other. - - - - -Redoes the last script inspector change if there is any. - - - - -Undoes the last script inspector change if there is any. - - - - -Renders a dropdown button that allows for the addition of PlushieScripts -onto the specified Entity. - - The Entity to add PlushieScripts to. - - - -Renders the set of attached Scripts for the specified Entity into the -inspector. -
-This function is meant for consumption from native code in the inspector -rendering code. -
- The Entity to render the Scripts of. -
- - -Static class for Editor-related functions - - - - -Processes a YAML node that contains a list of multiple scripts to be loaded -into the specified Entity. -

-This function should only be called from native unmanaged code. -
- -The Entity to attach the deserialised Scripts to. - - -Pointer to the YAML::Node that contains serialized script data. - - -
- - -Populates a YAML node with the scripts for a specified Entity. -

-This function should only be called from native unmanaged code. -
- The Entity to Serialise. - -Pointer to a YAML::Node that will be populated with all of the serialised -scripts and their associated fields. - - -True if serialisation is successful. False if the buffer is too small for -the serialised output. - -
- - -Executes OnCollision*() and OnTrigger*() for all scripts. - - - - -Executes LateUpdate() for all scripts. - - - - -Executes Update() for all scripts. - - - - -Executes FixedUpdate() for all scripts. - - - - -Retrieves a immutable list of available scripts that can be added. - - Immutable list of available scripts that can be added. - - - -Cleans up data stored in the ScriptStore to free up memory for garbage -collection. - - - - -Cleans up scripts that were marked for deletion. This calls the OnDestroy() -for these Scripts. - - - - -Sets up scripts that were marked for initialization. This calls the Awake() -and Start() for Scripts that have yet to have done so. - - - - -Initializes the ScriptStore to allocate and pre-populate reflection data. - - - - -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. - - The entity to remove the scripts from. - -Whether or not to call OnDestroy on the scripts.This is ignored if not in -play mode. - - - - -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. - - The entity to remove the scripts from. - - - -Removes a specific script from the - - The entity to remove the script from. - The script to remove. - True if successfully removed. False otherwise. - - - -Removes all Scripts of the specified type from the specified Entity. - - -Type of script to remove. -This needs to be a default constructable Script. - - The entity to remove the script from. - -If the specified Entity is invalid. - - - - -Retrieves an immutable list of all scripts attached to a specified Entity. - - -The entity which the scripts to retrieve are attached. - - -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. - - - - -Retrieves a immutable list of scripts from the specified Entity that -matches the specified type. -
-Note that this function allocates. It should be used sparingly. -
- -Type of scripts to get. -This needs to be a default constructable Script. - - -The entity which the scripts to retrieve are attached. - - -Immutable list of references to scripts of the specified type. - -
- - -Retrieves the first Script from the specified Entity's children that matches -the specified type. - - -Type of script to get. -This needs to be a default constructable Script. - - -The entity which the script to retrieve is attached. - - -Reference to the script. This can be null if no script of the specified -type is attached. - - -If the specified Entity is invalid. - - - - -Retrieves the first Script from the specified Entity that matches the -specified type. - - -Type of script to get. -This needs to be a default constructable Script. - - -The entity which the script to retrieve is attached. - - -Reference to the script. This can be null if no script of the specified -type is attached. - - -If the specified Entity is invalid. - - - - -Adds a Script to a specified Entity. -
-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<T>() instead as it is faster. -
- The entity to add a script to. - The entity to add a script to. - -Out parameter handle to the Script that was created. - - -True if successfully added. False otherwise with the error logged to the -console. - -
- - -Adds a Script to a specified Entity. -
-This function is meant for consumption from native code. If you are writing -in C# or C++/CLI, use AddScript<T>() instead as it is faster. -
- The entity to add a script to. - The entity to add a script to. - -True if successfully added. False otherwise with the error logged to the -console. - -
- - -Adds a Script to a specified Entity. - - -Type of script to add. -This needs to be a default constructable PlushieScript. - - The entity to add a script to. - Reference to the script added. - -If the specified Entity is invalid. - - - - -Responsible for managing all scripts attached to Entities as well as executing -all lifecycle functions of scripts. - - - - -Checks if two Colors are not approximately equal. - - Color to compare. - Another Color to compare. - -True if all components are not approximately equal within the default -tolerance value. - - - - -Checks if two Colors are approximately equal. - - Color to compare. - Another Color to compare. - -True if all components are approximately equal within the default -tolerance value. - - - - -Calculates the division of a Color with a scalar value and returns -the result. - - Scalar to divide with. - Color to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Color with a scalar value and returns -the result. - - Color to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the component-wise multiplication of two Colors and returns the -result. - - Color to multiply with. - Another Color to multiply with. - The result of rhs subtracted from lhs. - - - -Subtracts a Color from another Color and returns the result. - - Color to subtract from. - Another Color to subtract. - The result of rhs subtracted from lhs. - - - -Adds two Colors together and returns the result. - - Color to add. - Another Color to add. - The result of lhs added to rhs - - - -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. - - The start Color, returned when t = 0.0. - The end Color, returned when t = 1.0. - Value used to interpolate between a and b. - The interpolated Color. - - - -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. - - The start Color, returned when t = 0.0. - The end Color, returned when t = 1.0. - -Value used to interpolate between a and b which is clamped to -the range[0, 1]. - - The interpolated Vector3. - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Alpha component of the colour. Ranges from 0.0f to 1.0f. - - - - -Blue component of the colour. Ranges from 0.0f to 1.0f. - - - - -Green component of the colour. Ranges from 0.0f to 1.0f. - - - - -Red component of the colour. Ranges from 0.0f to 1.0f. - - - - -Constructor to construct a Color with the specified components. - - Red component to set. - Green component to set. - Blue component to set. - Alpha component to set. - - - -Constructor to construct a Color with the specified components with the -alpha component set to 1.0f. - - Red component to set. - Green component to set. - Blue component to set. - - - -Constructor to construct a Color with the specified components with the -blue and alpha component set to 1.0f. - - Red component to set. - Green component to set. - - - -Constructor to construct a Color with the specified components with the -green, blue and alpha component set to 1.0f. - - Red component to set. - - - -Pure yellow, mix of pure red and green. - - - - -Pure magenta, mix of pure red and blue. - - - - -Pure cyan, mix of pure green and blue. - - - - -Pure blue. - - - - -Pure green. - - - - -Pure red. - - - - -Pure white. - - - - -Dark Gray, darker than gray. - - - - -Gray, halfway between black and white. - - - - -Light Gray, lighter than gray. - - - - -Pure black. - - - - -A static class that contains a set of default Colors. - - - - -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. - - - - -Creates a inline button widget. -
-Wraps up ImGui::Button(). -
- Text to display. - True if button was pressed. -
- - -Creates a small inline button widget. -
-Wraps up ImGui::SmallButton(). -
- Text to display. - True if button was pressed. -
- - -Creates a visual text widget. -
-Wraps up ImGui::Text(). -
- Text to display. -
- - -Creates a menu item in the list of items for a mini popup. -
-Wraps up ImGui::MenuItem(). -
- Label used to identify this widget. - Whether or not the menu item was selected. -
- - -Opens the popup that was defined with the specified label. -
-Wraps up ImGui::OpenPopup(). -
-
- - -Marks the end of a definition of a mini pop up that can show options. -
-Wraps up ImGui::EndPopup(). -
-
- - -Marks the start of a definition of a mini pop up that can show options. -
-Wraps up ImGui::BeginPopup(). -
- Label used to identify this widget. - Whether or not the pop up is open. -
- - -Creates a collapsing title header. -
-Wraps up ImGui::CollapsingHeader(). -
- Label for the header. - True if the header is open, false otherwise. -
- - -Unindents the widgets rendered after this call. -
-Wraps up ImGui::Unindent(). -
-
- - -Indents the widgets rendered after this call. -
-Wraps up ImGui::Indent(). -
-
- - -Marks the end of a stack of ImGui widgets from the last PushID() call. -
-Wraps up ImGui::PopID(). -
-
- - -Marks the start of a stack of ImGui widgets with the specified id. -
-Wraps up ImGui::PushID(). -
- Integer-based ID. -
- - -Marks the start of a stack of ImGui widgets with the specified id. -
-Wraps up ImGui::PushID(). -
- String-based ID. -
- - -Maximum length of a string supported by InputTextField() - - - - -Static class that contains useful functions for Editor UI using ImGui. - - - - -Redoes the last undo-ed command if it exists. - - - - -Undos the last added command if it exists. - - - - -Adds a command onto the stack. - - - - - -True if there is a redoable action in the stack. - - - - -True if there is an undoable action in the stack. - - - - -Command for the stack that represents a data modification. - - - - -Class that is able to store a stack of actions that can be done and redone. - - - - -To be called from native code when a Collision Shape has been changed. - - -The entity which has it's collision shape changed. - - - - -To be called from native code when a collision shape has been removed. - - The entity which has it's collision shape removed. - - - -Retrieves a ColliderBound at the specified index in the ColliderBound list -and casts it to the appropriate type. - - Type of the ColliderBound to cast to. - Index to retrieve a ColliderBound from. - ColliderBound for the specified index. - - - -Retrieves a ColliderBound at the specified index in the ColliderBound list. - - Index to retrieve a ColliderBound from. - ColliderBound for the specified index. - - - -Total number of ColliderShapes in the Collider component. - - - - -Constructs a Collider Component that represents a native SHColliderComponent -component tied to the specified Entity. - - Entity that this Component will be tied to. - - - -CLR version of the the SHADE Engine's SHColliderComponent. -A single Collider component can contain one or multiple Collider Bounds. - - - - - - - - - - -Radius of the Bounding Sphere formed by this bound. - - - - -Center of the Bounding Sphere formed by this bound. - - - - -Sphere-shaped Collider Bound. - - - - - - - - - - -Position of the top right front corner of the Bounding Box formed by this -bound. - - - - -Position of the bottom left back corner of the Bounding Box formed by this -bound. - - - - -Half of the scale of the Bounding Box formed by this bound. - - - - -Center of the Bounding Box formed by this bound. - - - - -Box-shaped Collider Bound. - - - - -Computes a Raycast and checks if there is a collision with any object. - - The ray to cast. - Maximum distance for the raycast check. - True if the ray intersects with an object in the scene. - - - -Checks if the specified point is within this shape's bounds. - - Point to test with. - True if the point is in the shape's bounds. - - - -Base interface for all Collider Shapes. - - - -@brief The density of the collider that determines the mass of the collision shape - if it is automatically computed. Must be a positive number. - - - -@brief The bounciness factor of the physics object., clamped between [0,1].
- 0 means the object will never bounce. - 1 means the object never loses energy on a bounce. - -
- -@brief The friction coefficient of the physics object., clamped between [0,1].
- 0 means the object will never experience friction. - 1 means the friction force against the object is equal to the applied force. - -
- -@brief Sets the mass density of the physics material. -@param newDensity The density value to set. Always made positive. - - - -@brief Sets the bounciness factor of the physics material. -@param newBounciness The bounciness value to set. Clamped between [0,1]. - - - -@brief Sets the friction coefficient of the physics material. -@param newFriction The friction value to set. Clamped between [0,1]. - - - -@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. - - - - -Closes the current window, and depending on the implementation, should also -close the application. - - - - -Retrieves the current window fullscreen status. - - The current window fullscreen status.. - - - -Retrieves the current window height. - - The current window height. - - - -Retrieves the current window width. - - The current window width. - - - -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. - - - - @brief Perform ImGui and ImGui Backend Render - - - - - @brief Start new frame for editor - - - - - @brief Initialise Backend for ImGui (SDL and Vulkan backend) - - @param sdlWindow Pointer to SDL_Window - - - - @brief Set the Style for the editor - - @param style Desired style - - - - @brief Safely shutdown the editor - - - - - @brief Update the editor and add to ImGui DrawList - - @param dt Delta-time of the frame - - - - @brief Initialise the editor - - @param sdlWindow pointer to SDL_Window object created in application - - - - @brief Style options - - - - - @brief SHEditor static class contains editor variables and implementation of editor functions. - - - - - 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. - - - - Get the YUV conversion mode - - \since This function is available since SDL 2.0.8. - - - - Set the YUV conversion mode - - \since This function is available since SDL 2.0.8. - - - - 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 - - - - 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 - - - - Perform bilinear scaling between two surfaces of the same format, 32BPP. - - \since This function is available since SDL 2.0.16. - - - - 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. - - - - 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 - - - - * 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->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->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->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->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 - - - - 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 - - - - 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 - - - - 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. - - - - 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. - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - Set up a surface for directly accessing the pixels. - - Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write to - and read from `surface->pixels`, using the pixel format stored in - `surface->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 - - - - 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. - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - -Reference count -- used when freeing surface - - -info for fast blit mapping to other surfaces - - -clipping information - - -list of BlitMap that hold a reference to this surface - - -information needed for surfaces requiring locks - - -Application data associated with the 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. - - - - 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 - - - - 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. - - - - 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. - - - - 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. - - - - 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 - - - - 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 - - - - Returns true if the two rectangles are equal, using a default epsilon. - - \since This function is available since SDL 2.0.22. - - - - Returns true if the two rectangles are equal, within some given epsilon. - - \since This function is available since SDL 2.0.22. - - - -Returns true if the rectangle has no area. - - - -Returns true if point resides inside a rectangle. - - - - 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. - - - - 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. - - - - 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. - - - - 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 - - - - 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 - - - -Returns true if the two rectangles are equal. - - - -Returns true if the rectangle has no area. - - - -Returns true if point resides inside a rectangle. - - - - 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 - - - - 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 - - - - The structure that defines a point (floating point) - - \sa SDL_EncloseFPoints - \sa SDL_PointInFRect - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - \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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - \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 - - - - 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. - - - - 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. - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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. - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - \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 - - - -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. - - - - Clear any previous error message for this thread. - - \since This function is available since SDL 2.0.0. - - \sa SDL_GetError - \sa SDL_SetError - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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. - - - -\note Everything in the pixel format structure is read-only. - - - -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). - - - - 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. - - - - 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. - - - - 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. - - - - Get the number of outstanding (unfreed) allocations - - \since This function is available since SDL 2.0.7. - - - - Replace SDL's memory allocation functions with a custom set - - \since This function is available since SDL 2.0.7. - - - - Get the current set of SDL memory functions - - \since This function is available since SDL 2.0.7. - - - - Get the original set of SDL memory functions - - \since This function is available since SDL 2.24.0. - - - -\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. :) - - - -\name Floating-point constants - -\cond - - -\brief An unsigned 64-bit integer type. - - - -\brief A signed 64-bit integer type. - - - -\brief An unsigned 32-bit integer type. - - - -\brief A signed 32-bit integer type. - - - -\brief An unsigned 16-bit integer type. - - - -\brief A signed 16-bit integer type. - - - -\brief An unsigned 8-bit integer type. - - - -\brief A signed 8-bit integer type. - - - - \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 - - - - \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. - - - -*!************************************************************************* - - - -Marks the application to stop at the end of the current frame. - - - - -Whether or not the application is currently in fullscreen mode or not. - - - - -Retrieves the designated height of the current window. - - - - -Retrieves the designated width of the current window. - - - - -Whether or not the engine is in a paused state where script updates and -physics are not in play. - - - - -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. - - - - -Static class that contains useful properties for querying the state of the -engine. - - - - -Sets the parent of this Transform component. - - -Entity that contains the Transform component that this Transform will be -parented to. If null, unparenting will occur. - - -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. - - - - -Parent Transform that affects this Transform. - - - - -Global scale stored by this Transform. - - - - -Global euler angle rotations stored by this Transform. - - - - -Global rotation quaternion stored by this Transform. - - - - -Global position stored by this Transform. - - - - -Local scale stored by this Transform. - - - - -Local euler angle rotations stored by this Transform. - - - - -Local rotation quaternion stored by this Transform. - - - - -Local position stored by this Transform. - - - - -Constructs a Transform Component that represents a native Transform component -tied to the specified Entity. - - Entity that this Component will be tied to. - - - -CLR version of the SHADE Engine's TransformComponent. - - - - -Compares if two float values are close enough to be the same with the -specified tolerance value. - - One of the values to compare. - The other value to compare. - Tolerance for floating point comparison. - True if a and b are practically the same. - - - -Compares if two float values are close enough to be the same with a tolerance -of Epsilon. - - One of the values to compare. - The other value to compare. - True if a and b are practically the same. - - - -Calculates the linear parameter t that produces the interpolant value within -the range [a, b]. - - Start value. - End value. - Value between start and end. - Percentage of value between start and end. - - - -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. - - The start value. - The end value. - The interpolation value between the two float. - The interpolated float result between the two float values. - - - -Linearly interpolates between a and b by t. -The parameter t is clamped to the range [0, 1]. - - The start value. - The end value. - The interpolation value between the two float. - The interpolated float result between the two float values. - - - -Converts an angle from radian representation to degree representation. - - Radian-based angle to convert. - The specified angle in degrees. - - - -Converts an angle from degree representation to radian representation. - - Degree-based angle to convert. - The specified angle in radians. - - - -Wraps a value if they get to low or too high. - - Value to wrap. - Minimum value to wrap at. - Maximum value to wrap at. - Wrapped value. - - - -Small value used for single precision floating point comparisons. - - - - -Radians-to-degrees conversion constant - - - - -Degrees-to-radians conversion constant - - - - -Contains utility Math functions. - - - - -Logs a native exception that is formatted nicely to the output. - - Native exception to log. - Name of the one responsible for the exception. - - - -Logs an exception that is formatted nicely to the output. - - Name of the one responsible for the exception. - Exception to log. - - - -Logs a native exception that is formatted nicely to the output. -Equivalent to calling -LogException(exception, Convert::ToNative(thrower->GetType()->Name)); - - Native exception to log. - -Object that threw the exception to label the exception message. -The name of the object will be used. - - - - -Logs an exception that is formatted nicely to the output. - - Exception to log. - -Object that threw the exception to label the exception message. -The name of the object will be used. - - - - -Logs an exception that is formatted nicely to the output. - - Exception to log. - - - -Logs a error message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that threw the error to label the error message. -The name of the object will be used. - - - - -Logs a error message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that threw the error to label the error message. -The name of the object will be used. - - - - -Logs a error message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Object that threw the error to label the error message. -The name of the object will be used. - - - - -Logs a error message to the output. - - The string to output. - - - -Logs a error message to the output. - - The string to output. - - - -Logs a warning message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that threw the warning to label the warning message. -The name of the object will be used. - - - - -Logs a warning message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that threw the warning to label the warning message. -The name of the object will be used. - - - - -Logs a warning message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Object that threw the warning to label the warning message. -The name of the object will be used. - - - - -Logs a warning message to the output. - - The string to output. - - - -Logs a warning message to the output. - - The string to output. - - - -Logs a message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that sent the message to label the message. -The name of the object will be used. - - - - -Logs a message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that sent the message to label the message. -The name of the object will be used. - - - - -Logs a message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Object that sent the message to label the message. -The name of the object will be used. - - - - -Logs a message to the output. - - The string to output. - - - -Logs a message to the output. - - The string to output. - - - -Static class that contains the functions for working with time. - - - - -Material used to render this Renderable. - - - - -Material used to render this Renderable. - - - - -Mesh used to render this Renderable. - - - - -Constructs a Renderable Component that represents a native Renderable -component tied to the specified Entity. - - Entity that this Component will be tied to. - - - -CLR version of the SHADE Engine's SHRenderableComponent. - - - - -Retrieves the value of a specified property on the material. - - Type of property to get. - Name of the property to get. - Value of that property on the material. - -If this Material object is invalid. - - -If the name or type was specified that does not match the material's shader's -defined properties. - - - - -Set the value of a specific property. - - Type of property to set. - Name of the property to set. - Value to set te property to. - -If this Material object is invalid. - - -If the name or type was specified that does not match the material's shader's -defined properties. - - - - -Constructor for the Material - - Handle to the native material object. - - - -Managed counterpart of the native MaterialInstance object containing material -data that can be fed to Renderables for rendering. - - - - -Constructor for the Mesh - - Handle to the mesh object. - - - -Managed counterpart of the native Mesh object containing vertex data that can -be fed to Renderables for rendering. - - - -@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. - - - -@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. - - - -@brief Interface for a Column-Major Row Vector 4x4 Matrix. - - - - -Constructs a RigidBody Component that represents a native -SHRigidBodyComponent component tied to the specified Entity. - - Entity that this Component will be tied to. - - - -CLR version of the the SHADE Engine's SHRigidBodyComponent. - - - - -Creates an instance of the Managed representation of a Component with a -native Entity. - - Type of Component to create. - Native Entity that this Component is tied to. - The created Managed representation of the Component. - - - -Static constructor to initialize static data - - - - -Pointer to a function for Component manipulation operations. - - -Contains a set of Component related data used for resolving operations for -each Component. - - - - -Removes a Component from the specified Entity. - - Type of the Component to remove. - -Entity object that should have the specified Component removed from/ - - - - -Checks if the specified Entity has the specified Component. - - Type of the Component to check for. - Entity object to check for the Component. - -True if the specified Entity has the specified Component. False otherwise. - - - - -Ensures a Component on the specified Entity. - - Type of the Component to ensure. - Entity object to ensure the Component on. - Reference to the Component. - - - -Retrieves the first Component from the specified GameObjectt's children that -matches the specified type. - - Type of the Component to get. - Entity object to get the Component from. - -Reference to the Component or null if the Entity does not have the -specified Component. - - - - -Gets a Component from the specified Entity. - - Type of the Component to get. - Entity object to get the Component from. - -Reference to the Component or null if the Entity does not have the -specified Component. - - - - -Adds a Component to the specified Entity. - - Type of the Component to add. - -Entity object that should have the specified Component added to. - - Reference to the Component that was added. - - - -Static class which contains functions that map Pls::ECS's Component manipulation -functions to managed generic functions. - - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Entity that this Component belongs to. - - - - -Constructor for BaseComponent to tie it to a specific Entity. -Constructors of derived Components should call this Constructor. - - Entity that this Component will be tied to. - - - -Implicit conversion operator to enable checking if a component is null. - - Component to check. - - - -Removes all Scripts of the specified type from this GameObject. - - Type of PLushieScripts to remove. - - - -Retrieves a immutable list of Scripts of the specified type from this -GameObject. - - Type of Scripts to Get. - Immutable list of Scripts of the specified type. - - - -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. - - Type of Script to add. - Reference to the Script to retrieve. - - - -Adds a Script of the specified type to this GameObject. - - Type of Script to add. - Reference to the created Script. - - - -Removes a Component from this GameObject. If no Component exists to begin -with, nothing happens. - - Type of the Component to get. - - - -Gets a Component from this GameObject. - - Type of the Component to get. - -Reference to the Component or null if this GameObject does not have the -specified Component. - - - - -Adds a Component to this GameObject. - - Type of the Component to add. - Reference to the Component that was added. - - - -Retrieves the GameObject that this Component belongs to. - - - - -Class that serves as the base for a wrapper class to Components in native code. - - - - -Called when the attached GameObject has a Collider and leaves a -collision with another GameObject with a Collider2D. - - Information on the collision event. - - - -Called when the attached GameObject has a Collider and collides with -another GameObject with a Collider in subsequent frames of collision. - - Information on the collision event. - - - -Called when the attached GameObject has a Collider and collides with -another GameObject with a Collider in the first frame of collision. - - Information on the collision event. - - - -Called when the attached GameObject has a trigger Collider and leaves a -collision with another GameObject with a Collider2D. - - Information on the collision event. - - - -Called when the attached GameObject has a trigger Collider and collides with -another GameObject with a Collider in subsequent frames of collision. - - Information on the collision event. - - - -Called when the attached GameObject has a trigger Collider and collides with -another GameObject with a Collider in the first frame of collision. - - Information on the collision event. - - - -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. - - - - -Called every frame after physics and collision resolution but before -rendering. - - - - -Called every frame before physics and collision resolution. - - - - -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. - - - - -Called on the first frame that the attached GameObject is active but always -after Awake(). - - - - -Called on the first frame that the attached GameObject is active if they are -a part of the scene. - - - - -Called immediately once this script is detached from a GameObject. - - - - -Called immediately once this script is attached to a GameObject. - - - - -Constructor for Script to tie it to a specific GameObject. -Constructors of derived Scripts should call this Constructor. - - -GameObject that this Script will be tied to. - - - - -Used to call onTriggerExit(). This should be called when a trigger-type -collision is detected between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onTriggerStay(). This should be called when a trigger-type -collision is detected between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onTriggerEnter(). This should be called when a trigger-type -collision is detected between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onCollisionExit(). This should be called when a collision ends -between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onCollisionStay(). This should be called when a collision is -persistent between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onCollisionEnter(). This should be called when a collision is -detected between the attached GameObject and another GameObject. - - Information on the collision event. - - - -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. - - - - -Used to call lateUpdate(). This should be called every frame after physics -and collision resolution but before rendering. - - - - -Used to call update(). This should be called every frame before physics and -collision resolution. - - - - -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. - - - - -Used to call start(). This should be called on the first frame that the -attached GameObject is active but always after Awake(). - - - - -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. - - - - -Used to call onDetached(). This is called immediately when this script is -detached from a GameObject. - - - - -Used to call onAttached(). This is called immediately when this script is -attached to a GameObject. - - - - -Implicit conversion operator to enable checking if a component is null. - - Component to check. - - - -Removes all Scripts of the specified type from this GameObject. - - -Type of script to remove. -This needs to be a default constructable Script. - - - - -Retrieves a immutable list of scripts from the specified Entity that -matches the specified type. -
-Note that this function allocates. It should be used sparingly. -
- -Type of scripts to get. -This needs to be a default constructable Script. - - -Immutable list of references to scripts of the specified type. - -
- - -Retrieves the first Script from this GameObject's children that matches the -specified type. - - -Type of script to get. -This needs to be a default constructable Script. - - Reference to the script added - - - -Retrieves the first Script from this GameObject that matches the specified -type. - - -Type of script to get. -This needs to be a default constructable Script. - - Reference to the script added - - - -Adds a Script to this GameObject. - - -Type of script to add. -This needs to be a default constructable Script. - - Reference to the script added - - - -Removes a Component from the GameObject that this Script belongs to. - - -Type of the Component to remove. Must be derived from BaseComponent. - - - - -Ensures a Component on the GameObject that this Script belongs to. - - -Type of the Component to ensure. Must be derived from BaseComponent. - - Reference to the Component. - - - -Retrieves the first Component from this GameObject's children that matches -the specified type. - - -Type of the Component to get. Must be derived from BaseComponent. - - Reference to the Component that was retrieved. - - - -Gets a Component from the GameObject that this Script belongs to. - - -Type of the Component to get. Must be derived from BaseComponent. - - Reference to the Component that was retrieved. - - - -Adds a Component to the GameObject that this Script belongs to. - - -Type of the Component to add. Must be derived from BaseComponent. - - Reference to the Component that was added. - - - -GameObject that this Script belongs to. - - - - -Class that forms the basis of all "script"-objects that can be attached to -Entities to update each Entity's Components via C# code. - - - - -The RigidBody that you are colliding with. - - - - -The CollisionShape of the Collider that you are colliding with. - - - - -The Collider that you are colliding with. - - - - -The GameObject whose collider you are colliding with. - - - - -Struct that describes a collision - - - - -Checks if two GameObject references are different. - - GameObject to check. - Another GameObject to check with. - True if both Components are different. - - - -Checks if two GameObject references are the same. - - GameObject to check. - Another GameObject to check with. - True if both Components are the same. - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Retrieves the native Entity object that this GameObject represents. - - Native Entity object that this GameObject represents. - - - -Retrieves the CLR Entity object that this GameObject represents. - - Entity object that this GameObject represents. - - - -Constructor for the GameObject. - - -Managed numerical representation of the ECS Entity that this GameObject -should represent. - - - - -Constructor for the GameObject. - - -The ECS Entity that this GameObject should represent. - - - - -Removes all Scripts of the specified type from this GameObject. - - Type of PLushieScripts to remove. - - - -Retrieves a immutable list of Scripts of the specified type from this -GameObject. - - Type of Scripts to retrieve. - Immutable list of Scripts of the specified type. - - - -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. - - Type of Script to retrieve. - Reference to the Script to retrieve. - - - -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. - - Type of Script to retrieve. - Reference to the Script to retrieve. - - - -Adds a Script of the specified type to this GameObject. - - Type of Script to add. - Reference to the created Script. - - - -Removes a Component from this GameObject. If no Component exists to begin -with, nothing happens. - - Type of the Component to get. - - - -Ensures a Component on this GameObject. - - Type of the Component to ensure. - -Reference to the Component. - - - - -Retrieves the first Component from this GameObject's children that matches -the specified type. - - Type of the Component to get. - -Reference to the Component or null if neither of this GameObject's children -does not have the specified Component. - - - - -Gets a Component from this GameObject. - - Type of the Component to get. - -Reference to the Component or null if this GameObject does not have the -specified Component. - - - - -Adds a Component to this GameObject. - - Type of the Component to add. - Reference to the Component that was added. - - - -Sets the active state of this GameObject. -
-The actual "activeness" of this GameObject is still dependent on the parents' -active states. -
- -Whether to activate or deactivate this GameObject. - -
- - -Sets the name of this GameObject. - - The name to set. - - - -Native Entity ID value for this GameObject. - - - - -Whether or not this Entity is active in the Scene hierarchy. - - - - -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. - - - - -Name of the object that this Entity represents. - - - - -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". - - Name of the GameObject to find. - GameObject that has the specified name. Null if not found. - - - -Destroys the specified GameObject. Note that the specified GameObject will no -longer be a valid GameObject after this function is called. - - The GameObject to be destroyed. - - - -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(). - - GameObject that represents the newly created GameObject. - - - -Lightweight object for an PlushieEngine Entity that allows for easy access -to Component and Script operations. - - - - -Constructor for a Tooltip attribute that fills in the description. - - Text to be shown when a field is hovered. - - - -Maximum value for the Ranged field. - - - - -Minimum value for the Ranged field. - - - - -Simple attribute to constrain the range of values for a field on the editor. - - - - -Converts from a native std::Stringto a managed String. - - The native std::string to convert from. - Managed copy of a native std::string. - - - -Converts from a managed String to a native std::string. - - The managed String to convert from. - Native copy of a managed String. - - - -Converts from a native Vector2 to a managed Vector2. - - The native Vector2 to convert from. - Managed copy of a native Vector2. - - - -Converts from a native Quaternion to a managed Quaternion. - - The native Quaternion to convert from. - Managed copy of a native Quaternion. - - - -Converts from a managed Quaternion to a native Quaternion. - - The managed Quaternion to convert from. - Native copy of a managed Quaternion. - - - -Converts from a native Vector2 to a managed Vector2. - - The native Vector2 to convert from. - Managed copy of a native Vector2. - - - -Converts from a managed Vector2 to a native Vector2. - - The managed Vector2 to convert from. - Native copy of a managed Vector2. - - - -Converts from a native Vector3 to a managed Vector3. - - The native Vector3 to convert from. - Managed copy of a native Vector3. - - - -Converts from a managed Vector3 to a native Vector3. - - The managed Vector3 to convert from. - Native copy of a managed Vector3. - - - -Converts from a native Entity to a managed Entity (UInt32). - - Native Entity to convert from. - Managed representation of the specified Entity. - - - -Provides functions easy and consistent syntax for converting between custom -managed and native types that are aligned. - - - - -Converts to true if this is a valid Handle. - - - - -The library that the handle was issued by. - - - - -The internal ID of the handle. - - - - -Creates a ray starting at origin along direction. - - Source of the ray. - Direction the ray travels in. - - - -The direction that a ray travels in. - - - - -The start point of the ray. - - - - -CLR version of the the SHADE Engine's Ray class that represents a ray in -3-Dimensional space. - - - - -Are two quaternions equal to each other? - - Left-hand side quaternion. - Right-hand side quaternion. - - - -Combines rotations lhs and rhs. - - Left-hand side quaternion. - Right-hand side quaternion. - - - -Spherically interpolates between a and b by t. The parameter t is not clamped. - - - - -Spherically interpolates between quaternions a and b by ratio t. The parameter t is clamped to the range [0, 1]. - - Start value, returned when t = 0. - End value, returned when t = 1. - Interpolation ratio. - A quaternion spherically interpolated between quaternions a and b. - - - -Rotates a rotation from towards to.
-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. -
-
- - -Converts this quaternion to one with the same orientation but with a magnitude of 1. - - - - -Creates a rotation with the specified forward and upwards directions.
-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. -
-
- - -Interpolates between a and b by t and normalizes the result afterwards. The parameter t is not clamped. - - - - -Interpolates between a and b by t and normalizes the result afterwards. The parameter t is clamped to the range [0, 1]. - - Start value, returned when t = 0. - End value, returned when t = 1. - Interpolation ratio. - A quaternion interpolated between quaternions a and b. - - - -Returns the Inverse of rotation. - - - - -Creates a rotation which rotates from fromDirection to toDirection. - - - - -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. - - - - -The dot product between two rotations. - - - - -Creates a rotation which rotates angle degrees around axis. - - - - -Returns the angle in degrees between two rotations a and b.
- The angle in degrees between the two vectors. -
- - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Converts a rotation to angle-axis representation (angles in degrees). - - - - -Creates a rotation with the specified forward and upwards directions.
-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. -
- The direction to look in. - The vector that defines in which direction up is. -
- - -Creates a rotation which rotates from fromDirection to toDirection.
-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. -
-
- - -Constructor to construct a Quaternion with the specified components. - - X-coordinate to set. - Y-coordinate to set. - Z-coordinate to set. - W-coordinate to set. - - - -W-component of the Quaternion. Do not directly modify quaternions. - - - - -Z-component of the Quaternion. -Don't modify this directly unless you know quaternions inside out. - - - - -Y-component of the Quaternion. -Don't modify this directly unless you know quaternions inside out. - - - - -X-component of the Quaternion. -Don't modify this directly unless you know quaternions inside out. - - - - -Shorthand for writing Quaternion(0, 0, 0, 1). - - - - -CLR version of SHADE's Quaternion class that represents an orientation. -Designed to closely match Unity's Quaternion struct. - - - - -Explicit conversion operator to enable explicit casting from a Vector2 to a -Vector3. - - Vector2 to convert from. - - - -Explicit conversion operator to enable explicit casting from a Vector3 to a -Vector2. - - Vector3 to convert from. - - - -Checks if two Vector3s are not approximately equal. This is equivalent to -calling !Vector3.IsNear() with default tolerance values. - - Vector3 to compare. - Another Vector3 to compare. - -True if all components are not approximately equal within the default -tolerance value. - - - - -Checks if two Vector3s are approximately equal. This is equivalent to -calling Vector3.IsNear() with default tolerance values. - - Vector3 to compare. - Another Vector3 to compare. - -True if all components are approximately equal within the default -tolerance value. - - - - -Calculates the division of a Vector3 with a scalar value and returns -the result. - - Scalar to divide with. - Vector3 to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Vector3 with a scalar value and returns -the result. - - Vector3 to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the division of a Vector3 with a scalar value and returns -the result. - - Scalar to divide with. - Vector3 to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Vector3 with a scalar value and returns -the result. - - Vector3 to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the component-wise multiplication of two Vector3s and returns the -result. - - Vector3 to multiply with. - Another Vector3 to multiply with. - The result of rhs subtracted from lhs. - - - -Subtracts a Vector3 from another Vector3 and returns the result. - - Vector3 to subtract from. - Another Vector3 to subtract. - The result of rhs subtracted from lhs. - - - -Adds two Vector3s together and returns the result. - - Vector3 to add. - Another Vector3 to add. - The result of lhs added to rhs - - - -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 - - The current position of the point. - The target position to move to. - Maximum distance moved per call. - Vector representing the moved point. - - - -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. - - The start Vector3, returned when t = 0.0f. - The end Vector3, returned when t = 1.0f. - Value used to interpolate between a and b. - The interpolated Vector3. - - - -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. - - The start Vector3, returned when t = 0.0f. - The end Vector3, returned when t = 1.0f. - -Value used to interpolate between a and b which is clamped to -the range[0, 1]. - - The interpolated Vector3. - - - -Computes and returns a Vector3 that is made from the largest components of -the two specified Vector3s. - - Vector3 to calculate maximum Vector3 with. - Another Vector3 to calculate maximum Vector3 with. - -The Vector3 that contains the largest components of the two specified -Vector3s. - - - - -Computes and returns a Vector3 that is made from the smallest components of -the two specified Vector3s. - - Vector3 to calculate minimum Vector3 with. - Another Vector3 to calculate minimum Vector3 with. - -The Vector3 that contains the smallest components of the two specified -Vector3s. - - - - -Rotates a Vector3 on the Z-axis by a specified angle in an anti-clockwise -direction. - - A Vector3 to rotate. - -Angle to rotate the vector by in an anti-clockwise direction in degrees. - - The Vector3 that represents the rotated vector. - - - -Rotates a Vector3 on the Z-axis by a specified angle in an anti-clockwise -direction. - - A Vector3 to rotate. - -Angle to rotate the vector by in an anti-clockwise direction in radians. - - The Vector3 that represents the rotated vector. - - - -Reflects a Vector3 across another Vector3. - - A Vector3 to reflect. - A normal to reflect the Vector3 across. - The Vector3 that represents vec reflected across normal. - - - -Computes and returns a Vector3 projection. - - Vector3 to project. - Vector3 to project onto. - The Vector3 that represents the projected vec onto direction. - - - -Computes and returns the cross product of 2 specified Vector3s. - - Vector3 to calculate cross product with. - Another Vector3 to calculate cross product with. - The cross product of the two Vector3s. - - - -Computes and returns the dot product of 2 specified Vector3s. - - Vector3 to calculate dot product with. - Another Vector3 to calculate dot product with. - Scalar value representing the dot product of the two Vector3s. - - - -Checks if two specified Vector3s are near in value. - - Vector3 to check if is near in value. - Another Vector3 to check if is near in value. - Amount of tolerance to do the comparison with. - -True if the two Vector3s are within the tolerance value specified - - - - -Checks if two specified Vector3s are near in value. - - Vector3 to check if is near in value. - Another Vector3 to check if is near in value. - -True if the two Vector3s are within the tolerance value specified - - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Checks if a specified point is near this Vector3 that represents a point. - - The other point to check if we are near. - -The amount of tolerance before we consider these points as "near". - - -True if this Vector3 representing a point and the specified point are within -the range of the specified tolerance. False otherwise. - - - - -Checks if a specified point is near this Vector3 that represents a point with -a tolerance value of PLS_EPSILON. - - The other point to check if we are near. - -True if this Vector3 representing a point and the specified point are within -the range of the specified tolerance. False otherwise. - - - - -Calculates and returns the angle of this vector from the right vector. This -function returns values between -180.0f and 180.0f. - - Returns the angle of this vector from the right vector in degrees. - - - -Calculates and returns the angle of this vector from the right vector. This -function returns values between -Math.PI and Math.PI. - - Returns the angle of this vector from the right vector in radians. - - - -Calculates and returns the squared magnitude of this Vector3. - - Returns the squared length of this Vector3. - - - -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. - - Returns the length of this Vector3. - - - -Creates a copy of this Vector3 and returns a normalized version. - - -Returns a normalised copy of this Vector3. -If this Vector3 is a zero vector, a zero vector will be returned. - - - - -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. - - - - -Conversion constructor to construct a Vector3 using a Vector2. - - - - - -Constructor to construct a Vector3 with the specified components. - - X-coordinate to set. - Y-coordinate to set. - Z-coordinate to set. - - - -Constructor to construct a Vector3 with the specified components with the -Z-component set to 0.0f. - - X-coordinate to set. - Y-coordinate to set. - - - -Constructor to construct a Vector3 with the specified components with the -Y and Z-component set to 0.0f. - - X-coordinate to set. - - - -Z-component of the Vector3. - - - - -Y-component of the Vector3. - - - - -X-component of the Vector3. - - - - -Shorthand for writing Vector3(0, 0, 0). - - - - -Shorthand for writing Vector3(0, 1, 0). - - - - -Shorthand for writing Vector3(1, 0, 0). - - - - -Shorthand for writing Vector3(float.PositiveInfinity, -float.PositiveInfinity, float.PositiveInfinity). - - - - -Shorthand for writing Vector3(1, 1, 1). - - - - -Shorthand for writing Vector3(float.NegativeInfinity, -float.NegativeInfinity, float.NegativeInfinity). - - - - -Shorthand for writing Vector3(-1, 0, 0). - - - - -Shorthand for writing Vector3(0, 0, 1). - - - - -Shorthand for writing Vector3(0, -1, 0). - - - - -Shorthand for writing Vector3(0, 0, -1). - - - - -CLR version of SHADE Engine's Vector3 class that represents a 3-Dimensional Vector. -Designed to closely match Unity's Vector3 struct. - - - - -Checks if two Vector2s are not approximately equal. This is equivalent to -calling !Vector2.IsNear() with default tolerance values. - - Vector2 to compare. - Another Vector2 to compare. - -True if all components are not approximately equal within the default -tolerance value. - - - - -Checks if two Vector2s are approximately equal. This is equivalent to -calling Vector2.IsNear() with default tolerance values. - - Vector2 to compare. - Another Vector2 to compare. - -True if all components are approximately equal within the default -tolerance value. - - - - -Calculates the division of a Vector2 with a scalar value and returns -the result. - - Scalar to divide with. - Vector2 to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Vector2 with a scalar value and returns -the result. - - Vector2 to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the division of a Vector2 with a scalar value and returns -the result. - - Scalar to divide with. - Vector2 to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Vector2 with a scalar value and returns -the result. - - Vector2 to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the component-wise multiplication of two Vector2s and returns the -result. - - Vector2 to multiply with. - Another Vector2 to multiply with. - The result of rhs subtracted from lhs. - - - -Subtracts a Vector2 from another Vector2 and returns the result. - - Vector2 to subtract from. - Another Vector2 to subtract. - The result of rhs subtracted from lhs. - - - -Adds two Vector2s together and returns the result. - - Vector2 to add. - Another Vector2 to add. - The result of lhs added to rhs - - - -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 - - The current position of the point. - The target position to move to. - Maximum distance moved per call. - Vector representing the moved point. - - - -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. - - The start Vector2, returned when t = 0.0f. - The end Vector2, returned when t = 1.0f. - Value used to interpolate between a and b. - The interpolated Vector2. - - - -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. - - The start Vector2, returned when t = 0.0f. - The end Vector2, returned when t = 1.0f. - -Value used to interpolate between a and b which is clamped to -the range[0, 1]. - - The interpolated Vector2. - - - -Computes and returns a Vector2 that is made from the largest components of -the two specified Vector2s. - - Vector2 to calculate maximum Vector2 with. - Another Vector2 to calculate maximum Vector2 with. - -The Vector2 that contains the largest components of the two specified -Vector2s. - - - - -Computes and returns a Vector2 that is made from the smallest components of -the two specified Vector2s. - - Vector2 to calculate minimum Vector2 with. - Another Vector2 to calculate minimum Vector2 with. - -The Vector2 that contains the smallest components of the two specified -Vector2s. - - - - -Rotates a Vector2 on the Z-axis by a specified angle in an anti-clockwise -direction. - - A Vector2 to rotate. - -Angle to rotate the vector by in an anti-clockwise direction in degrees. - - The Vector2 that represents the rotated vector. - - - -Rotates a Vector2 on the Z-axis by a specified angle in an anti-clockwise -direction. - - A Vector2 to rotate. - -Angle to rotate the vector by in an anti-clockwise direction in radians. - - The Vector2 that represents the rotated vector. - - - -Reflects a Vector2 across another Vector2. - - A Vector2 to reflect. - A normal to reflect the Vector2 across. - The Vector2 that represents vec reflected across normal. - - - -Computes and returns a Vector2 projection. - - Vector2 to project. - Vector2 to project onto. - The Vector2 that represents the projected vec onto direction. - - - -Computes a perpendicular Vector2 to the specified Vector2. - - Vector2 to find a perpendicular of. - -Whether the inward perpendicular Vector is retrieved. If true, the -resultant vector is rotated 90-degrees in a counter-clockwise. - - The perpendicular Vector2 relative to the specified Vector2. - - - - -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. - - Vector2 to find a perpendicular of. - -The perpendicular Vector2 relative to the specified Vector2. - - - - -Computes and returns the dot product of 2 specified Vector2s. - - Vector2 to calculate dot product with. - Another Vector2 to calculate dot product with. - -Scalar value representing the dot product of the two Vector2s. - - - - -Checks if two specified Vector2s are near in value. - - Vector2 to check if is near in value. - Another Vector2 to check if is near in value. - -Amount of tolerance to do the comparison with. - - -True if the two Vector2s are within the tolerance value specified - - - - -Checks if two specified Vector2s are near in value. - - Vector2 to check if is near in value. - Another Vector2 to check if is near in value. - -True if the two Vector2s are within the tolerance value specified - - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Checks if a specified point is near this Vector2 that represents a point. - - The other point to check if we are near. - -The amount of tolerance before we consider these points as "near". - - -True if this Vector2 representing a point and the specified point are within -the range of the specified tolerance. False otherwise. - - - - -Checks if a specified point is near this Vector2 that represents a point with -a tolerance value of PLS_EPSILON. - - The other point to check if we are near. - -True if this Vector2 representing a point and the specified point are within -the range of the specified tolerance. False otherwise. - - - - -Calculates and returns the angle of this vector from the right vector. This -function returns values between -180.0f and 180.0f. - - Returns the angle of this vector from the right vector in degrees. - - - -Calculates and returns the angle of this vector from the right vector. This -function returns values between -Math.PI and Math.PI. - - Returns the angle of this vector from the right vector in radians. - - - -Calculates and returns the squared magnitude of this Vector2. - - Returns the squared length of this Vector2. - - - -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. - - Returns the length of this Vector2. - - - -Creates a copy of this Vector2 and returns a normalized version. - - -Returns a normalised copy of this Vector2. -If this Vector2 is a zero vector, a zero vector will be returned. - - - - -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. - - - - -Constructor to construct a Vector2 with the specified components.. - - X-coordinate to set. - Y-coordinate to set. - - - -Constructor to construct a Vector2 with the specified components with the -Y-component set to 0.0f. - - X-coordinate to set. - - - -Y-component of the Vector2. - - - - -X-component of the Vector2. - - - - -Shorthand for writing Vector2(0, 0). - - - - -Shorthand for writing Vector2(0, 1). - - - - -Shorthand for writing Vector2(1, 0). - - - - -Shorthand for writing Vector2(float.PositiveInfinity, -float.PositiveInfinity). - - - - -Shorthand for writing Vector2(1, 1). - - - - -Shorthand for writing Vector2(float.NegativeInfinity, -float.NegativeInfinity). - - - - -Shorthand for writing Vector2(-1, 0). - - - - -Shorthand for writing Vector2(0, -1). - - - - -CLR version of SHADE Engine's Vector2 class that represents a 2-Dimensional Vector. -Designed to closely match Unity's Vector2 struct. - - - - -Checks if the specified entity is valid. This is done by checking if it -matches Pls::Entity::INVALID. - - The Entity to check. - True if the specified Entity is valid. - - - -Static class that contains useful utility functions for working with Entity. - - - - -Manages all resources in multiple ResourceLibraries. - - - - -Base class for SHResourceLibrary that holds information about the library type. - - - - -Template Specialization for Handle that represents a type-less Handle. - - - - -Converts to true if this is a valid Handle. - - - - -Native ID type of a handle - - - - -Base implementation of the Handle that is not templated to allow for holding -generic non-type-specific Handles. - - - - -Exception thrown when a generic Handle is being casted to the wrong type. - - - - -Exception thrown when an invalid Handle was dereferenced. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
\ No newline at end of file diff --git a/bin/Release/SHADE_CSharp.xml b/bin/Release/SHADE_CSharp.xml deleted file mode 100644 index daeaa3c5..00000000 --- a/bin/Release/SHADE_CSharp.xml +++ /dev/null @@ -1,1029 +0,0 @@ - - - - SHADE_CSharp - - - - - Interface for a CallbackAction that all variants inherit from. - - - - - Whether or not this CallbackAction is runtime assigned. If it is, then the - TargetMethodName and TargetObject properties are invalid. - - - - - Name of the method that this CallbackAction is using. - - - - - Object which the specified target method is called on. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 1 parameter. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 2 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 3 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 4 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 5 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 6 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 7 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 8 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 9 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Represents a function call that can be serialised and put togetheer with scripts. - This variant accepts functions with 10 parameters. - - - - - - - - - - - - - - Constructs an empty Callback action. - - - - - Constructs a CallbackAction that represents a call to the specified static - method. - - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a CallbackAction that represents a call to a specified member - method on the specified target. - - Object to call the method on. - Method to call. - - Thrown if a method that is not compatible with the target is specified. The method's - source type must match the target's type. - - - - - Constructs a Callback action based on an action. - - Action that wraps a function to be called. - - - - Invokes the CallbackAction's stored method/action with the specified parameters. - - - - - Interface for a CallbackEvent that all variants inherit from. - - - - - Registers an empty ICallbackAction. - - - - - Registers an ICallbackAction with the event such that it will be called in - future - - ICallbackAction to register with. - - - - Deregisters an ICallbackAction that was previously added. This should - only emit a warning if an action that was not previous added was - provided. - - ICallbackAction to remove. - - - - Iterable set of ICallbackActions that were registered to this event. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - - A container of CallbackActions that is correlated to a specific scenario as - specified by the user of this class. - This variant accepts CallbackEvents with 1 generic parameter. - - - - - - - - - - - - - - Adds a CallbackAction into the event. - - CallbackAction to add. - - - - Constructs and adds a CallbackACtion into the event. - - System.Action to add as a CallbackAction. - - - - Constructs and adds a CallbackACtion into the event. - - Object to call the method on. - Method to call. - - - - - - - Invokes all stored CallbackActions with the specified parameters. - - - - diff --git a/bin/Release/SHADE_Managed.xml b/bin/Release/SHADE_Managed.xml deleted file mode 100644 index 7b653116..00000000 --- a/bin/Release/SHADE_Managed.xml +++ /dev/null @@ -1,6250 +0,0 @@ - - - - "SHADE_Managed" - - - - -Retrieves the duration that the specified key has not been held or was last -not been held for. - - The key to check. - Time in seconds that the key was held. - - - -Retrieves the duration that the specified key has been held or was last held -for. - - The key to check. - Time in seconds that the key was held. - - - -Retrieves the duration that the specified key has not been held or was last -not been held for. - - The key to check. - Time in seconds that the key was held. - - - -Retrieves the duration that the specified key has been held or was last held -for. - - The key to check. - Time in seconds that the key was held. - - - -Sets the position of the mouse cursor relative to the top left corner of the -window. - - -Position of the mouse in window pixel coordinates to set. - - - - -Checks if a specified mouse button is no longer pressed and was pressed -before. - - MouseCode of the mouse button to check. - -True during the frame the user releases the given mouse button. - - - - -Checks if a specified mouse button is pressed and was not pressed before. - - MouseCode of the mouse button to check. - -True during the frame the user pressed the given mouse button. - - - - -Checks if a specified mouse button is being held down. -This will also be true if GetMouseButtonDown() is true. - - MouseCode of the mouse button to check. - True while the user holds down the mouse button specified. - - - -Checks if a specified key is no longer pressed pressed and was pressed -before. - - KeyCode of the key to check. - -True during the frame the user releases the key identified by name. - - - - -Checks if a specified key is pressed and was not pressed before. - - KeyCode of the key to check. - -True during the frame the user starts pressing down the key specified. - - - - -Checks if a specified key is being held down. -This will also be true if GetKeyDown() is true. - - KeyCode of the key to check. - True while the user holds down the key specified. - - - -Amnount of vertical mouse scroll in this frame. - - - - -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 - - - - -Represents the available supported mouse keycodes that can be passed into the -mouse-button-based Input functions. - - - - -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 - - - - -Static class responsible for providing access to Input-related functionality. - - - - -Simple attribute to mark that a field in a Script should be serialised. - - - - -Cleans up all required components for managed code. - - - - -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(). - - - - -Loads the managed script assembly. Ensure this is only called after -UnloadScriptAssembly() has been called. - - - - -Unloads the managed script assembly. -Take note that this will clear all existing scripts, ensure that the scene -is saved before doing so. - - - - -Initialises all required components for managed code. - - - - -Name of the Managed Library that contains the C# scripts written externally. - - - - -Static class that contains the functions for interfacing with the core -PlushieEngine written in C++ for managing the lifecycle of managed code. - - - - -Default Constructor - - - - -Custom AssemblyLoadContext marked as collectible so that it can be unloaded. - - - - -Time taken for Physics simulations. You should use this for operations -within Script.FixedUpdate() - - - - -Time taken to process the previous frame. - - - - -Static class that contains the functions for working with time. - - - - -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. - - - - -Constructor for a Tooltip attribute that fills in the description. - - Text to be shown when a field is hovered. - - - -Description that is to be shown in the Tooltip. - - - - -Simple attribute to provide a field in a script with a tooltip. - - - - -Checks if a specified file exists. - - File path to the file to check. - True if the file exists - - - -Deletes the folder and all files in it as specified by the file path. - - File path to the file to delete. - - - -Deletes the file as specified by the file path. - - File path to the file to delete. - - - -Reads the file via the specified path that represents a build log of error -and warning messages. - - -File path to the build log of script builds done by BuildScriptAssembly() to -dump and process. - - - - -Registers events for the scripting system - - - - -Loads all the function pointers to CLR code that we need to execute. - - - - -Generates a .csproj file for editing and compiling the C# scripts. - - File path to the generated file. - - - -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. - - -Whether or not a debug build will be built. Only debug built C# assemblies -can be debugged. - - -Whether or not we are reloading the assembly, if so, unload and then reload it. - - Whether or not the build succeeded. - - - -Performs a redo for script inspector changes if it exists. - - - - -Performs an undo for script inspector changes if it exists. - - - - -Renders the set of attached Scripts for the specified Entity into the -inspector. -
-This function is meant for consumption from native code in the inspector -rendering code. -
- The Entity to render the Scripts of. -
- - -Creates scripts and sets fields for the specified Entity based on the specified -YAML node. - - The Entity to deserialise a Script on to. - -YAML Node that contains the serialised script data. - - True if successfully deserialised. - - - -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. - - The Entity to Serialise. - -YAML Node that will store the serialised scripts. - - True if successfully serialised. - - - -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. - - The entity to remove the scripts from. - -Whether or not to call OnDestroy on the scripts. This is ignored if not in -play mode. - - - - -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. - - The entity to remove the scripts from. - - - -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<T>() (C# only) currently only -gives you the first Script added of the specified type. - - The entity to add a script to. - Type name of the script to add. - -True if successfully added. False otherwise with the error logged to the -console. - - - - -Shuts down the DotNetRuntime. - - - - -Executes the OnCollision*()s and OnTrigger*()s of the Scripts that are attached -to Entities. - - - - -Executes the FixedUpdate()s of the Scripts that are attached to -Entities. - - - - -Reloads the managed script assembly. -Take note that this will clear all existing scripts, ensure that the scene -is saved before doing so. - - - - -Unloads the managed script assembly. -Take note that this will clear all existing scripts, ensure that the scene -is saved before doing so. - - - - -Loads the managed script assembly. Ensure this is only called after -UnloadScriptAssembly() has been called. - - - - -Initialises the DotNetRuntime and retrieves function pointers to all -functions on the CLR used to interface with the engine. - - - - -Manages initialisation of the DotNetRuntime and interfacing with CLR code written -and executed on .NET. - - - - -Deserialises a YAML node that contains a map of Scripts and copies the -deserialised data into the specified object if there are matching fields. - - -The JSON string that contains the data to copy into this Script object. - - The object to copy deserialised data into. - - - -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. - - The object to serialise. - - - -Checks if a specified field is a candidate for serialisation. This means that -the field is public or private with the [SerialiseField] attribute. - - The field to check. - -True if the specified field is a candidate for serialisation. - - - - -Retrieves a set of all non-static (instance) fields from a specified object. - - The object to get non-static fields from. - Immutable list of non-static fields. - - - -Contains useful static functions for working with Reflection. - - - -Converts the node to a YAML string. - - -Emits the node to the given output stream. - - -Emits the node to the given {@link Emitter}. If there is an error in writing, -{@link Emitter#good} will return false. - - - - 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. - - - - Loads the input stream as a list of YAML documents. - - @throws {@link ParserException} if it is malformed. - - - - Loads the input string as a list of YAML documents. - - @throws {@link ParserException} if it is malformed. - - - - Loads the input string as a list of YAML documents. - - @throws {@link ParserException} if it is malformed. - - - - 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. - - - - Loads the input stream as a single YAML document. - - @throws {@link ParserException} if it is malformed. - - - - Loads the input string as a single YAML document. - - @throws {@link ParserException} if it is malformed. - - - - Loads the input string as a single YAML document. - - @throws {@link ParserException} if it is malformed. - - - -Handles a "TAG" directive, which should be of the form 'handle prefix', -where 'handle' is converted to 'prefix' in the file. - - - -Handles a "YAML" directive, which should be of the form 'major.minor' (like -a version number). - - - -Reads any directives that are next in the queue, setting the internal -{@code m_pDirectives} state. - - - - Handles the next document by calling events on the {@code eventHandler}. - - @throw a ParserException on error. - @return false if there are no more documents - - - -Resets the parser with the given input stream. Any existing state is -erased. - - - -Evaluates to true if the parser has some valid input to be read. - - -Constructs a parser from the given input stream. The input stream must -live as long as the parser. - - - -Constructs an empty parser (with no input. - - -A parser turns a stream of bytes into one stream of "events" per YAML -document in the input stream. - - - - -Renders a context menu when right clicked for the scripts - - The Entity to render the Scripts of. - The Script to render the inspector for. - - - -Renders a field specified into the inspector. - - The field to render. - -The object that contains the data of the field to render. - - - - -Renders a single specified Script's inspector. - - The Entity to render the Scripts of. - The Script to render the inspector for. - -Indices used internally to differentiate each rendered Script -inspector. This is required to open and close each Script's inspector -independently from each other. - - - - -Redoes the last script inspector change if there is any. - - - - -Undoes the last script inspector change if there is any. - - - - -Renders a dropdown button that allows for the addition of PlushieScripts -onto the specified Entity. - - The Entity to add PlushieScripts to. - - - -Renders the set of attached Scripts for the specified Entity into the -inspector. -
-This function is meant for consumption from native code in the inspector -rendering code. -
- The Entity to render the Scripts of. -
- - -Static class for Editor-related functions - - - - -Processes a YAML node that contains a list of multiple scripts to be loaded -into the specified Entity. -

-This function should only be called from native unmanaged code. -
- -The Entity to attach the deserialised Scripts to. - - -Pointer to the YAML::Node that contains serialized script data. - - -
- - -Populates a YAML node with the scripts for a specified Entity. -

-This function should only be called from native unmanaged code. -
- The Entity to Serialise. - -Pointer to a YAML::Node that will be populated with all of the serialised -scripts and their associated fields. - - -True if serialisation is successful. False if the buffer is too small for -the serialised output. - -
- - -Executes OnCollision*() and OnTrigger*() for all scripts. - - - - -Executes LateUpdate() for all scripts. - - - - -Executes Update() for all scripts. - - - - -Executes FixedUpdate() for all scripts. - - - - -Retrieves a immutable list of available scripts that can be added. - - Immutable list of available scripts that can be added. - - - -Cleans up data stored in the ScriptStore to free up memory for garbage -collection. - - - - -Cleans up scripts that were marked for deletion. This calls the OnDestroy() -for these Scripts. - - - - -Sets up scripts that were marked for initialization. This calls the Awake() -and Start() for Scripts that have yet to have done so. - - - - -Initializes the ScriptStore to allocate and pre-populate reflection data. - - - - -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. - - The entity to remove the scripts from. - -Whether or not to call OnDestroy on the scripts.This is ignored if not in -play mode. - - - - -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. - - The entity to remove the scripts from. - - - -Removes a specific script from the - - The entity to remove the script from. - The script to remove. - True if successfully removed. False otherwise. - - - -Removes all Scripts of the specified type from the specified Entity. - - -Type of script to remove. -This needs to be a default constructable Script. - - The entity to remove the script from. - -If the specified Entity is invalid. - - - - -Retrieves an immutable list of all scripts attached to a specified Entity. - - -The entity which the scripts to retrieve are attached. - - -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. - - - - -Retrieves a immutable list of scripts from the specified Entity that -matches the specified type. -
-Note that this function allocates. It should be used sparingly. -
- -Type of scripts to get. -This needs to be a default constructable Script. - - -The entity which the scripts to retrieve are attached. - - -Immutable list of references to scripts of the specified type. - -
- - -Retrieves the first Script from the specified Entity's children that matches -the specified type. - - -Type of script to get. -This needs to be a default constructable Script. - - -The entity which the script to retrieve is attached. - - -Reference to the script. This can be null if no script of the specified -type is attached. - - -If the specified Entity is invalid. - - - - -Retrieves the first Script from the specified Entity that matches the -specified type. - - -Type of script to get. -This needs to be a default constructable Script. - - -The entity which the script to retrieve is attached. - - -Reference to the script. This can be null if no script of the specified -type is attached. - - -If the specified Entity is invalid. - - - - -Adds a Script to a specified Entity. -
-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<T>() instead as it is faster. -
- The entity to add a script to. - The entity to add a script to. - -Out parameter handle to the Script that was created. - - -True if successfully added. False otherwise with the error logged to the -console. - -
- - -Adds a Script to a specified Entity. -
-This function is meant for consumption from native code. If you are writing -in C# or C++/CLI, use AddScript<T>() instead as it is faster. -
- The entity to add a script to. - The entity to add a script to. - -True if successfully added. False otherwise with the error logged to the -console. - -
- - -Adds a Script to a specified Entity. - - -Type of script to add. -This needs to be a default constructable PlushieScript. - - The entity to add a script to. - Reference to the script added. - -If the specified Entity is invalid. - - - - -Responsible for managing all scripts attached to Entities as well as executing -all lifecycle functions of scripts. - - - - -Checks if two Colors are not approximately equal. - - Color to compare. - Another Color to compare. - -True if all components are not approximately equal within the default -tolerance value. - - - - -Checks if two Colors are approximately equal. - - Color to compare. - Another Color to compare. - -True if all components are approximately equal within the default -tolerance value. - - - - -Calculates the division of a Color with a scalar value and returns -the result. - - Scalar to divide with. - Color to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Color with a scalar value and returns -the result. - - Color to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the component-wise multiplication of two Colors and returns the -result. - - Color to multiply with. - Another Color to multiply with. - The result of rhs subtracted from lhs. - - - -Subtracts a Color from another Color and returns the result. - - Color to subtract from. - Another Color to subtract. - The result of rhs subtracted from lhs. - - - -Adds two Colors together and returns the result. - - Color to add. - Another Color to add. - The result of lhs added to rhs - - - -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. - - The start Color, returned when t = 0.0. - The end Color, returned when t = 1.0. - Value used to interpolate between a and b. - The interpolated Color. - - - -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. - - The start Color, returned when t = 0.0. - The end Color, returned when t = 1.0. - -Value used to interpolate between a and b which is clamped to -the range[0, 1]. - - The interpolated Vector3. - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Alpha component of the colour. Ranges from 0.0f to 1.0f. - - - - -Blue component of the colour. Ranges from 0.0f to 1.0f. - - - - -Green component of the colour. Ranges from 0.0f to 1.0f. - - - - -Red component of the colour. Ranges from 0.0f to 1.0f. - - - - -Constructor to construct a Color with the specified components. - - Red component to set. - Green component to set. - Blue component to set. - Alpha component to set. - - - -Constructor to construct a Color with the specified components with the -alpha component set to 1.0f. - - Red component to set. - Green component to set. - Blue component to set. - - - -Constructor to construct a Color with the specified components with the -blue and alpha component set to 1.0f. - - Red component to set. - Green component to set. - - - -Constructor to construct a Color with the specified components with the -green, blue and alpha component set to 1.0f. - - Red component to set. - - - -Pure yellow, mix of pure red and green. - - - - -Pure magenta, mix of pure red and blue. - - - - -Pure cyan, mix of pure green and blue. - - - - -Pure blue. - - - - -Pure green. - - - - -Pure red. - - - - -Pure white. - - - - -Dark Gray, darker than gray. - - - - -Gray, halfway between black and white. - - - - -Light Gray, lighter than gray. - - - - -Pure black. - - - - -A static class that contains a set of default Colors. - - - - -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. - - - - -Creates a inline button widget. -
-Wraps up ImGui::Button(). -
- Text to display. - True if button was pressed. -
- - -Creates a small inline button widget. -
-Wraps up ImGui::SmallButton(). -
- Text to display. - True if button was pressed. -
- - -Creates a visual text widget. -
-Wraps up ImGui::Text(). -
- Text to display. -
- - -Creates a menu item in the list of items for a mini popup. -
-Wraps up ImGui::MenuItem(). -
- Label used to identify this widget. - Whether or not the menu item was selected. -
- - -Opens the popup that was defined with the specified label. -
-Wraps up ImGui::OpenPopup(). -
-
- - -Marks the end of a definition of a mini pop up that can show options. -
-Wraps up ImGui::EndPopup(). -
-
- - -Marks the start of a definition of a mini pop up that can show options. -
-Wraps up ImGui::BeginPopup(). -
- Label used to identify this widget. - Whether or not the pop up is open. -
- - -Creates a collapsing title header. -
-Wraps up ImGui::CollapsingHeader(). -
- Label for the header. - True if the header is open, false otherwise. -
- - -Unindents the widgets rendered after this call. -
-Wraps up ImGui::Unindent(). -
-
- - -Indents the widgets rendered after this call. -
-Wraps up ImGui::Indent(). -
-
- - -Marks the end of a stack of ImGui widgets from the last PushID() call. -
-Wraps up ImGui::PopID(). -
-
- - -Marks the start of a stack of ImGui widgets with the specified id. -
-Wraps up ImGui::PushID(). -
- Integer-based ID. -
- - -Marks the start of a stack of ImGui widgets with the specified id. -
-Wraps up ImGui::PushID(). -
- String-based ID. -
- - -Maximum length of a string supported by InputTextField() - - - - -Static class that contains useful functions for Editor UI using ImGui. - - - - -Redoes the last undo-ed command if it exists. - - - - -Undos the last added command if it exists. - - - - -Adds a command onto the stack. - - - - - -True if there is a redoable action in the stack. - - - - -True if there is an undoable action in the stack. - - - - -Command for the stack that represents a data modification. - - - - -Class that is able to store a stack of actions that can be done and redone. - - - - -To be called from native code when a Collision Shape has been changed. - - -The entity which has it's collision shape changed. - - - - -To be called from native code when a collision shape has been removed. - - The entity which has it's collision shape removed. - - - -Retrieves a ColliderBound at the specified index in the ColliderBound list -and casts it to the appropriate type. - - Type of the ColliderBound to cast to. - Index to retrieve a ColliderBound from. - ColliderBound for the specified index. - - - -Retrieves a ColliderBound at the specified index in the ColliderBound list. - - Index to retrieve a ColliderBound from. - ColliderBound for the specified index. - - - -Total number of ColliderShapes in the Collider component. - - - - -Constructs a Collider Component that represents a native SHColliderComponent -component tied to the specified Entity. - - Entity that this Component will be tied to. - - - -CLR version of the the SHADE Engine's SHColliderComponent. -A single Collider component can contain one or multiple Collider Bounds. - - - - - - - - - - -Radius of the Bounding Sphere formed by this bound. - - - - -Center of the Bounding Sphere formed by this bound. - - - - -Sphere-shaped Collider Bound. - - - - - - - - - - -Position of the top right front corner of the Bounding Box formed by this -bound. - - - - -Position of the bottom left back corner of the Bounding Box formed by this -bound. - - - - -Half of the scale of the Bounding Box formed by this bound. - - - - -Center of the Bounding Box formed by this bound. - - - - -Box-shaped Collider Bound. - - - - -Computes a Raycast and checks if there is a collision with any object. - - The ray to cast. - Maximum distance for the raycast check. - True if the ray intersects with an object in the scene. - - - -Checks if the specified point is within this shape's bounds. - - Point to test with. - True if the point is in the shape's bounds. - - - -Base interface for all Collider Shapes. - - - -@brief The density of the collider that determines the mass of the collision shape - if it is automatically computed. Must be a positive number. - - - -@brief The bounciness factor of the physics object., clamped between [0,1].
- 0 means the object will never bounce. - 1 means the object never loses energy on a bounce. - -
- -@brief The friction coefficient of the physics object., clamped between [0,1].
- 0 means the object will never experience friction. - 1 means the friction force against the object is equal to the applied force. - -
- -@brief Sets the mass density of the physics material. -@param newDensity The density value to set. Always made positive. - - - -@brief Sets the bounciness factor of the physics material. -@param newBounciness The bounciness value to set. Clamped between [0,1]. - - - -@brief Sets the friction coefficient of the physics material. -@param newFriction The friction value to set. Clamped between [0,1]. - - - -@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. - - - - -Closes the current window, and depending on the implementation, should also -close the application. - - - - -Retrieves the current window fullscreen status. - - The current window fullscreen status.. - - - -Retrieves the current window height. - - The current window height. - - - -Retrieves the current window width. - - The current window width. - - - -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. - - - - @brief Perform ImGui and ImGui Backend Render - - - - - @brief Start new frame for editor - - - - - @brief Initialise Backend for ImGui (SDL and Vulkan backend) - - @param sdlWindow Pointer to SDL_Window - - - - @brief Set the Style for the editor - - @param style Desired style - - - - @brief Safely shutdown the editor - - - - - @brief Update the editor and add to ImGui DrawList - - @param dt Delta-time of the frame - - - - @brief Initialise the editor - - @param sdlWindow pointer to SDL_Window object created in application - - - - @brief Style options - - - - - @brief SHEditor static class contains editor variables and implementation of editor functions. - - - - - 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. - - - - Get the YUV conversion mode - - \since This function is available since SDL 2.0.8. - - - - Set the YUV conversion mode - - \since This function is available since SDL 2.0.8. - - - - 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 - - - - 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 - - - - Perform bilinear scaling between two surfaces of the same format, 32BPP. - - \since This function is available since SDL 2.0.16. - - - - 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. - - - - 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 - - - - * 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->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->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->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->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 - - - - 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 - - - - 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 - - - - 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. - - - - 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. - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - Set up a surface for directly accessing the pixels. - - Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write to - and read from `surface->pixels`, using the pixel format stored in - `surface->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 - - - - 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. - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - -Reference count -- used when freeing surface - - -info for fast blit mapping to other surfaces - - -clipping information - - -list of BlitMap that hold a reference to this surface - - -information needed for surfaces requiring locks - - -Application data associated with the 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. - - - - 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 - - - - 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. - - - - 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. - - - - 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. - - - - 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 - - - - 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 - - - - Returns true if the two rectangles are equal, using a default epsilon. - - \since This function is available since SDL 2.0.22. - - - - Returns true if the two rectangles are equal, within some given epsilon. - - \since This function is available since SDL 2.0.22. - - - -Returns true if the rectangle has no area. - - - -Returns true if point resides inside a rectangle. - - - - 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. - - - - 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. - - - - 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. - - - - 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 - - - - 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 - - - -Returns true if the two rectangles are equal. - - - -Returns true if the rectangle has no area. - - - -Returns true if point resides inside a rectangle. - - - - 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 - - - - 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 - - - - The structure that defines a point (floating point) - - \sa SDL_EncloseFPoints - \sa SDL_PointInFRect - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - \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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - \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 - - - - 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. - - - - 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. - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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. - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - \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 - - - -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. - - - - Clear any previous error message for this thread. - - \since This function is available since SDL 2.0.0. - - \sa SDL_GetError - \sa SDL_SetError - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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. - - - -\note Everything in the pixel format structure is read-only. - - - -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). - - - - 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. - - - - 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. - - - - 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. - - - - Get the number of outstanding (unfreed) allocations - - \since This function is available since SDL 2.0.7. - - - - Replace SDL's memory allocation functions with a custom set - - \since This function is available since SDL 2.0.7. - - - - Get the current set of SDL memory functions - - \since This function is available since SDL 2.0.7. - - - - Get the original set of SDL memory functions - - \since This function is available since SDL 2.24.0. - - - -\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. :) - - - -\name Floating-point constants - -\cond - - -\brief An unsigned 64-bit integer type. - - - -\brief A signed 64-bit integer type. - - - -\brief An unsigned 32-bit integer type. - - - -\brief A signed 32-bit integer type. - - - -\brief An unsigned 16-bit integer type. - - - -\brief A signed 16-bit integer type. - - - -\brief An unsigned 8-bit integer type. - - - -\brief A signed 8-bit integer type. - - - - \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 - - - - \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. - - - -*!************************************************************************* - - - -Marks the application to stop at the end of the current frame. - - - - -Whether or not the application is currently in fullscreen mode or not. - - - - -Retrieves the designated height of the current window. - - - - -Retrieves the designated width of the current window. - - - - -Whether or not the engine is in a paused state where script updates and -physics are not in play. - - - - -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. - - - - -Static class that contains useful properties for querying the state of the -engine. - - - - -Sets the parent of this Transform component. - - -Entity that contains the Transform component that this Transform will be -parented to. If null, unparenting will occur. - - -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. - - - - -Parent Transform that affects this Transform. - - - - -Global scale stored by this Transform. - - - - -Global euler angle rotations stored by this Transform. - - - - -Global rotation quaternion stored by this Transform. - - - - -Global position stored by this Transform. - - - - -Local scale stored by this Transform. - - - - -Local euler angle rotations stored by this Transform. - - - - -Local rotation quaternion stored by this Transform. - - - - -Local position stored by this Transform. - - - - -Constructs a Transform Component that represents a native Transform component -tied to the specified Entity. - - Entity that this Component will be tied to. - - - -CLR version of the SHADE Engine's TransformComponent. - - - - -Compares if two float values are close enough to be the same with the -specified tolerance value. - - One of the values to compare. - The other value to compare. - Tolerance for floating point comparison. - True if a and b are practically the same. - - - -Compares if two float values are close enough to be the same with a tolerance -of Epsilon. - - One of the values to compare. - The other value to compare. - True if a and b are practically the same. - - - -Calculates the linear parameter t that produces the interpolant value within -the range [a, b]. - - Start value. - End value. - Value between start and end. - Percentage of value between start and end. - - - -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. - - The start value. - The end value. - The interpolation value between the two float. - The interpolated float result between the two float values. - - - -Linearly interpolates between a and b by t. -The parameter t is clamped to the range [0, 1]. - - The start value. - The end value. - The interpolation value between the two float. - The interpolated float result between the two float values. - - - -Converts an angle from radian representation to degree representation. - - Radian-based angle to convert. - The specified angle in degrees. - - - -Converts an angle from degree representation to radian representation. - - Degree-based angle to convert. - The specified angle in radians. - - - -Wraps a value if they get to low or too high. - - Value to wrap. - Minimum value to wrap at. - Maximum value to wrap at. - Wrapped value. - - - -Small value used for single precision floating point comparisons. - - - - -Radians-to-degrees conversion constant - - - - -Degrees-to-radians conversion constant - - - - -Contains utility Math functions. - - - - -Logs a native exception that is formatted nicely to the output. - - Native exception to log. - Name of the one responsible for the exception. - - - -Logs an exception that is formatted nicely to the output. - - Name of the one responsible for the exception. - Exception to log. - - - -Logs a native exception that is formatted nicely to the output. -Equivalent to calling -LogException(exception, Convert::ToNative(thrower->GetType()->Name)); - - Native exception to log. - -Object that threw the exception to label the exception message. -The name of the object will be used. - - - - -Logs an exception that is formatted nicely to the output. - - Exception to log. - -Object that threw the exception to label the exception message. -The name of the object will be used. - - - - -Logs an exception that is formatted nicely to the output. - - Exception to log. - - - -Logs a error message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that threw the error to label the error message. -The name of the object will be used. - - - - -Logs a error message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that threw the error to label the error message. -The name of the object will be used. - - - - -Logs a error message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Object that threw the error to label the error message. -The name of the object will be used. - - - - -Logs a error message to the output. - - The string to output. - - - -Logs a error message to the output. - - The string to output. - - - -Logs a warning message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that threw the warning to label the warning message. -The name of the object will be used. - - - - -Logs a warning message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that threw the warning to label the warning message. -The name of the object will be used. - - - - -Logs a warning message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Object that threw the warning to label the warning message. -The name of the object will be used. - - - - -Logs a warning message to the output. - - The string to output. - - - -Logs a warning message to the output. - - The string to output. - - - -Logs a message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that sent the message to label the message. -The name of the object will be used. - - - - -Logs a message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Name of the object that sent the message to label the message. -The name of the object will be used. - - - - -Logs a message to the output with a label such that it looks like this: -"[Label] Message" - - The string to output. - -Object that sent the message to label the message. -The name of the object will be used. - - - - -Logs a message to the output. - - The string to output. - - - -Logs a message to the output. - - The string to output. - - - -Static class that contains the functions for working with time. - - - - -Material used to render this Renderable. - - - - -Material used to render this Renderable. - - - - -Mesh used to render this Renderable. - - - - -Constructs a Renderable Component that represents a native Renderable -component tied to the specified Entity. - - Entity that this Component will be tied to. - - - -CLR version of the SHADE Engine's SHRenderableComponent. - - - - -Retrieves the value of a specified property on the material. - - Type of property to get. - Name of the property to get. - Value of that property on the material. - -If this Material object is invalid. - - -If the name or type was specified that does not match the material's shader's -defined properties. - - - - -Set the value of a specific property. - - Type of property to set. - Name of the property to set. - Value to set te property to. - -If this Material object is invalid. - - -If the name or type was specified that does not match the material's shader's -defined properties. - - - - -Constructor for the Material - - Handle to the native material object. - - - -Managed counterpart of the native MaterialInstance object containing material -data that can be fed to Renderables for rendering. - - - - -Constructor for the Mesh - - Handle to the mesh object. - - - -Managed counterpart of the native Mesh object containing vertex data that can -be fed to Renderables for rendering. - - - -@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. - - - -@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. - - - -@brief Interface for a Column-Major Row Vector 4x4 Matrix. - - - - -Constructs a RigidBody Component that represents a native -SHRigidBodyComponent component tied to the specified Entity. - - Entity that this Component will be tied to. - - - -CLR version of the the SHADE Engine's SHRigidBodyComponent. - - - - -Creates an instance of the Managed representation of a Component with a -native Entity. - - Type of Component to create. - Native Entity that this Component is tied to. - The created Managed representation of the Component. - - - -Static constructor to initialize static data - - - - -Pointer to a function for Component manipulation operations. - - -Contains a set of Component related data used for resolving operations for -each Component. - - - - -Removes a Component from the specified Entity. - - Type of the Component to remove. - -Entity object that should have the specified Component removed from/ - - - - -Checks if the specified Entity has the specified Component. - - Type of the Component to check for. - Entity object to check for the Component. - -True if the specified Entity has the specified Component. False otherwise. - - - - -Ensures a Component on the specified Entity. - - Type of the Component to ensure. - Entity object to ensure the Component on. - Reference to the Component. - - - -Retrieves the first Component from the specified GameObjectt's children that -matches the specified type. - - Type of the Component to get. - Entity object to get the Component from. - -Reference to the Component or null if the Entity does not have the -specified Component. - - - - -Gets a Component from the specified Entity. - - Type of the Component to get. - Entity object to get the Component from. - -Reference to the Component or null if the Entity does not have the -specified Component. - - - - -Adds a Component to the specified Entity. - - Type of the Component to add. - -Entity object that should have the specified Component added to. - - Reference to the Component that was added. - - - -Static class which contains functions that map Pls::ECS's Component manipulation -functions to managed generic functions. - - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Entity that this Component belongs to. - - - - -Constructor for BaseComponent to tie it to a specific Entity. -Constructors of derived Components should call this Constructor. - - Entity that this Component will be tied to. - - - -Implicit conversion operator to enable checking if a component is null. - - Component to check. - - - -Removes all Scripts of the specified type from this GameObject. - - Type of PLushieScripts to remove. - - - -Retrieves a immutable list of Scripts of the specified type from this -GameObject. - - Type of Scripts to Get. - Immutable list of Scripts of the specified type. - - - -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. - - Type of Script to add. - Reference to the Script to retrieve. - - - -Adds a Script of the specified type to this GameObject. - - Type of Script to add. - Reference to the created Script. - - - -Removes a Component from this GameObject. If no Component exists to begin -with, nothing happens. - - Type of the Component to get. - - - -Gets a Component from this GameObject. - - Type of the Component to get. - -Reference to the Component or null if this GameObject does not have the -specified Component. - - - - -Adds a Component to this GameObject. - - Type of the Component to add. - Reference to the Component that was added. - - - -Retrieves the GameObject that this Component belongs to. - - - - -Class that serves as the base for a wrapper class to Components in native code. - - - - -Called when the attached GameObject has a Collider and leaves a -collision with another GameObject with a Collider2D. - - Information on the collision event. - - - -Called when the attached GameObject has a Collider and collides with -another GameObject with a Collider in subsequent frames of collision. - - Information on the collision event. - - - -Called when the attached GameObject has a Collider and collides with -another GameObject with a Collider in the first frame of collision. - - Information on the collision event. - - - -Called when the attached GameObject has a trigger Collider and leaves a -collision with another GameObject with a Collider2D. - - Information on the collision event. - - - -Called when the attached GameObject has a trigger Collider and collides with -another GameObject with a Collider in subsequent frames of collision. - - Information on the collision event. - - - -Called when the attached GameObject has a trigger Collider and collides with -another GameObject with a Collider in the first frame of collision. - - Information on the collision event. - - - -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. - - - - -Called every frame after physics and collision resolution but before -rendering. - - - - -Called every frame before physics and collision resolution. - - - - -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. - - - - -Called on the first frame that the attached GameObject is active but always -after Awake(). - - - - -Called on the first frame that the attached GameObject is active if they are -a part of the scene. - - - - -Called immediately once this script is detached from a GameObject. - - - - -Called immediately once this script is attached to a GameObject. - - - - -Constructor for Script to tie it to a specific GameObject. -Constructors of derived Scripts should call this Constructor. - - -GameObject that this Script will be tied to. - - - - -Used to call onTriggerExit(). This should be called when a trigger-type -collision is detected between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onTriggerStay(). This should be called when a trigger-type -collision is detected between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onTriggerEnter(). This should be called when a trigger-type -collision is detected between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onCollisionExit(). This should be called when a collision ends -between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onCollisionStay(). This should be called when a collision is -persistent between the attached GameObject and another GameObject. - - Information on the collision event. - - - -Used to call onCollisionEnter(). This should be called when a collision is -detected between the attached GameObject and another GameObject. - - Information on the collision event. - - - -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. - - - - -Used to call lateUpdate(). This should be called every frame after physics -and collision resolution but before rendering. - - - - -Used to call update(). This should be called every frame before physics and -collision resolution. - - - - -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. - - - - -Used to call start(). This should be called on the first frame that the -attached GameObject is active but always after Awake(). - - - - -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. - - - - -Used to call onDetached(). This is called immediately when this script is -detached from a GameObject. - - - - -Used to call onAttached(). This is called immediately when this script is -attached to a GameObject. - - - - -Implicit conversion operator to enable checking if a component is null. - - Component to check. - - - -Removes all Scripts of the specified type from this GameObject. - - -Type of script to remove. -This needs to be a default constructable Script. - - - - -Retrieves a immutable list of scripts from the specified Entity that -matches the specified type. -
-Note that this function allocates. It should be used sparingly. -
- -Type of scripts to get. -This needs to be a default constructable Script. - - -Immutable list of references to scripts of the specified type. - -
- - -Retrieves the first Script from this GameObject's children that matches the -specified type. - - -Type of script to get. -This needs to be a default constructable Script. - - Reference to the script added - - - -Retrieves the first Script from this GameObject that matches the specified -type. - - -Type of script to get. -This needs to be a default constructable Script. - - Reference to the script added - - - -Adds a Script to this GameObject. - - -Type of script to add. -This needs to be a default constructable Script. - - Reference to the script added - - - -Removes a Component from the GameObject that this Script belongs to. - - -Type of the Component to remove. Must be derived from BaseComponent. - - - - -Ensures a Component on the GameObject that this Script belongs to. - - -Type of the Component to ensure. Must be derived from BaseComponent. - - Reference to the Component. - - - -Retrieves the first Component from this GameObject's children that matches -the specified type. - - -Type of the Component to get. Must be derived from BaseComponent. - - Reference to the Component that was retrieved. - - - -Gets a Component from the GameObject that this Script belongs to. - - -Type of the Component to get. Must be derived from BaseComponent. - - Reference to the Component that was retrieved. - - - -Adds a Component to the GameObject that this Script belongs to. - - -Type of the Component to add. Must be derived from BaseComponent. - - Reference to the Component that was added. - - - -GameObject that this Script belongs to. - - - - -Class that forms the basis of all "script"-objects that can be attached to -Entities to update each Entity's Components via C# code. - - - - -The RigidBody that you are colliding with. - - - - -The CollisionShape of the Collider that you are colliding with. - - - - -The Collider that you are colliding with. - - - - -The GameObject whose collider you are colliding with. - - - - -Struct that describes a collision - - - - -Checks if two GameObject references are different. - - GameObject to check. - Another GameObject to check with. - True if both Components are different. - - - -Checks if two GameObject references are the same. - - GameObject to check. - Another GameObject to check with. - True if both Components are the same. - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Retrieves the native Entity object that this GameObject represents. - - Native Entity object that this GameObject represents. - - - -Retrieves the CLR Entity object that this GameObject represents. - - Entity object that this GameObject represents. - - - -Constructor for the GameObject. - - -Managed numerical representation of the ECS Entity that this GameObject -should represent. - - - - -Constructor for the GameObject. - - -The ECS Entity that this GameObject should represent. - - - - -Removes all Scripts of the specified type from this GameObject. - - Type of PLushieScripts to remove. - - - -Retrieves a immutable list of Scripts of the specified type from this -GameObject. - - Type of Scripts to retrieve. - Immutable list of Scripts of the specified type. - - - -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. - - Type of Script to retrieve. - Reference to the Script to retrieve. - - - -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. - - Type of Script to retrieve. - Reference to the Script to retrieve. - - - -Adds a Script of the specified type to this GameObject. - - Type of Script to add. - Reference to the created Script. - - - -Removes a Component from this GameObject. If no Component exists to begin -with, nothing happens. - - Type of the Component to get. - - - -Ensures a Component on this GameObject. - - Type of the Component to ensure. - -Reference to the Component. - - - - -Retrieves the first Component from this GameObject's children that matches -the specified type. - - Type of the Component to get. - -Reference to the Component or null if neither of this GameObject's children -does not have the specified Component. - - - - -Gets a Component from this GameObject. - - Type of the Component to get. - -Reference to the Component or null if this GameObject does not have the -specified Component. - - - - -Adds a Component to this GameObject. - - Type of the Component to add. - Reference to the Component that was added. - - - -Sets the active state of this GameObject. -
-The actual "activeness" of this GameObject is still dependent on the parents' -active states. -
- -Whether to activate or deactivate this GameObject. - -
- - -Sets the name of this GameObject. - - The name to set. - - - -Native Entity ID value for this GameObject. - - - - -Whether or not this Entity is active in the Scene hierarchy. - - - - -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. - - - - -Name of the object that this Entity represents. - - - - -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". - - Name of the GameObject to find. - GameObject that has the specified name. Null if not found. - - - -Destroys the specified GameObject. Note that the specified GameObject will no -longer be a valid GameObject after this function is called. - - The GameObject to be destroyed. - - - -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(). - - GameObject that represents the newly created GameObject. - - - -Lightweight object for an PlushieEngine Entity that allows for easy access -to Component and Script operations. - - - - -Constructor for a Tooltip attribute that fills in the description. - - Text to be shown when a field is hovered. - - - -Maximum value for the Ranged field. - - - - -Minimum value for the Ranged field. - - - - -Simple attribute to constrain the range of values for a field on the editor. - - - - -Converts from a native std::Stringto a managed String. - - The native std::string to convert from. - Managed copy of a native std::string. - - - -Converts from a managed String to a native std::string. - - The managed String to convert from. - Native copy of a managed String. - - - -Converts from a native Vector2 to a managed Vector2. - - The native Vector2 to convert from. - Managed copy of a native Vector2. - - - -Converts from a native Quaternion to a managed Quaternion. - - The native Quaternion to convert from. - Managed copy of a native Quaternion. - - - -Converts from a managed Quaternion to a native Quaternion. - - The managed Quaternion to convert from. - Native copy of a managed Quaternion. - - - -Converts from a native Vector2 to a managed Vector2. - - The native Vector2 to convert from. - Managed copy of a native Vector2. - - - -Converts from a managed Vector2 to a native Vector2. - - The managed Vector2 to convert from. - Native copy of a managed Vector2. - - - -Converts from a native Vector3 to a managed Vector3. - - The native Vector3 to convert from. - Managed copy of a native Vector3. - - - -Converts from a managed Vector3 to a native Vector3. - - The managed Vector3 to convert from. - Native copy of a managed Vector3. - - - -Converts from a native Entity to a managed Entity (UInt32). - - Native Entity to convert from. - Managed representation of the specified Entity. - - - -Provides functions easy and consistent syntax for converting between custom -managed and native types that are aligned. - - - - -Converts to true if this is a valid Handle. - - - - -The library that the handle was issued by. - - - - -The internal ID of the handle. - - - - -Creates a ray starting at origin along direction. - - Source of the ray. - Direction the ray travels in. - - - -The direction that a ray travels in. - - - - -The start point of the ray. - - - - -CLR version of the the SHADE Engine's Ray class that represents a ray in -3-Dimensional space. - - - - -Are two quaternions equal to each other? - - Left-hand side quaternion. - Right-hand side quaternion. - - - -Combines rotations lhs and rhs. - - Left-hand side quaternion. - Right-hand side quaternion. - - - -Spherically interpolates between a and b by t. The parameter t is not clamped. - - - - -Spherically interpolates between quaternions a and b by ratio t. The parameter t is clamped to the range [0, 1]. - - Start value, returned when t = 0. - End value, returned when t = 1. - Interpolation ratio. - A quaternion spherically interpolated between quaternions a and b. - - - -Rotates a rotation from towards to.
-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. -
-
- - -Converts this quaternion to one with the same orientation but with a magnitude of 1. - - - - -Creates a rotation with the specified forward and upwards directions.
-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. -
-
- - -Interpolates between a and b by t and normalizes the result afterwards. The parameter t is not clamped. - - - - -Interpolates between a and b by t and normalizes the result afterwards. The parameter t is clamped to the range [0, 1]. - - Start value, returned when t = 0. - End value, returned when t = 1. - Interpolation ratio. - A quaternion interpolated between quaternions a and b. - - - -Returns the Inverse of rotation. - - - - -Creates a rotation which rotates from fromDirection to toDirection. - - - - -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. - - - - -The dot product between two rotations. - - - - -Creates a rotation which rotates angle degrees around axis. - - - - -Returns the angle in degrees between two rotations a and b.
- The angle in degrees between the two vectors. -
- - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Converts a rotation to angle-axis representation (angles in degrees). - - - - -Creates a rotation with the specified forward and upwards directions.
-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. -
- The direction to look in. - The vector that defines in which direction up is. -
- - -Creates a rotation which rotates from fromDirection to toDirection.
-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. -
-
- - -Constructor to construct a Quaternion with the specified components. - - X-coordinate to set. - Y-coordinate to set. - Z-coordinate to set. - W-coordinate to set. - - - -W-component of the Quaternion. Do not directly modify quaternions. - - - - -Z-component of the Quaternion. -Don't modify this directly unless you know quaternions inside out. - - - - -Y-component of the Quaternion. -Don't modify this directly unless you know quaternions inside out. - - - - -X-component of the Quaternion. -Don't modify this directly unless you know quaternions inside out. - - - - -Shorthand for writing Quaternion(0, 0, 0, 1). - - - - -CLR version of SHADE's Quaternion class that represents an orientation. -Designed to closely match Unity's Quaternion struct. - - - - -Explicit conversion operator to enable explicit casting from a Vector2 to a -Vector3. - - Vector2 to convert from. - - - -Explicit conversion operator to enable explicit casting from a Vector3 to a -Vector2. - - Vector3 to convert from. - - - -Checks if two Vector3s are not approximately equal. This is equivalent to -calling !Vector3.IsNear() with default tolerance values. - - Vector3 to compare. - Another Vector3 to compare. - -True if all components are not approximately equal within the default -tolerance value. - - - - -Checks if two Vector3s are approximately equal. This is equivalent to -calling Vector3.IsNear() with default tolerance values. - - Vector3 to compare. - Another Vector3 to compare. - -True if all components are approximately equal within the default -tolerance value. - - - - -Calculates the division of a Vector3 with a scalar value and returns -the result. - - Scalar to divide with. - Vector3 to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Vector3 with a scalar value and returns -the result. - - Vector3 to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the division of a Vector3 with a scalar value and returns -the result. - - Scalar to divide with. - Vector3 to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Vector3 with a scalar value and returns -the result. - - Vector3 to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the component-wise multiplication of two Vector3s and returns the -result. - - Vector3 to multiply with. - Another Vector3 to multiply with. - The result of rhs subtracted from lhs. - - - -Subtracts a Vector3 from another Vector3 and returns the result. - - Vector3 to subtract from. - Another Vector3 to subtract. - The result of rhs subtracted from lhs. - - - -Adds two Vector3s together and returns the result. - - Vector3 to add. - Another Vector3 to add. - The result of lhs added to rhs - - - -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 - - The current position of the point. - The target position to move to. - Maximum distance moved per call. - Vector representing the moved point. - - - -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. - - The start Vector3, returned when t = 0.0f. - The end Vector3, returned when t = 1.0f. - Value used to interpolate between a and b. - The interpolated Vector3. - - - -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. - - The start Vector3, returned when t = 0.0f. - The end Vector3, returned when t = 1.0f. - -Value used to interpolate between a and b which is clamped to -the range[0, 1]. - - The interpolated Vector3. - - - -Computes and returns a Vector3 that is made from the largest components of -the two specified Vector3s. - - Vector3 to calculate maximum Vector3 with. - Another Vector3 to calculate maximum Vector3 with. - -The Vector3 that contains the largest components of the two specified -Vector3s. - - - - -Computes and returns a Vector3 that is made from the smallest components of -the two specified Vector3s. - - Vector3 to calculate minimum Vector3 with. - Another Vector3 to calculate minimum Vector3 with. - -The Vector3 that contains the smallest components of the two specified -Vector3s. - - - - -Rotates a Vector3 on the Z-axis by a specified angle in an anti-clockwise -direction. - - A Vector3 to rotate. - -Angle to rotate the vector by in an anti-clockwise direction in degrees. - - The Vector3 that represents the rotated vector. - - - -Rotates a Vector3 on the Z-axis by a specified angle in an anti-clockwise -direction. - - A Vector3 to rotate. - -Angle to rotate the vector by in an anti-clockwise direction in radians. - - The Vector3 that represents the rotated vector. - - - -Reflects a Vector3 across another Vector3. - - A Vector3 to reflect. - A normal to reflect the Vector3 across. - The Vector3 that represents vec reflected across normal. - - - -Computes and returns a Vector3 projection. - - Vector3 to project. - Vector3 to project onto. - The Vector3 that represents the projected vec onto direction. - - - -Computes and returns the cross product of 2 specified Vector3s. - - Vector3 to calculate cross product with. - Another Vector3 to calculate cross product with. - The cross product of the two Vector3s. - - - -Computes and returns the dot product of 2 specified Vector3s. - - Vector3 to calculate dot product with. - Another Vector3 to calculate dot product with. - Scalar value representing the dot product of the two Vector3s. - - - -Checks if two specified Vector3s are near in value. - - Vector3 to check if is near in value. - Another Vector3 to check if is near in value. - Amount of tolerance to do the comparison with. - -True if the two Vector3s are within the tolerance value specified - - - - -Checks if two specified Vector3s are near in value. - - Vector3 to check if is near in value. - Another Vector3 to check if is near in value. - -True if the two Vector3s are within the tolerance value specified - - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Checks if a specified point is near this Vector3 that represents a point. - - The other point to check if we are near. - -The amount of tolerance before we consider these points as "near". - - -True if this Vector3 representing a point and the specified point are within -the range of the specified tolerance. False otherwise. - - - - -Checks if a specified point is near this Vector3 that represents a point with -a tolerance value of PLS_EPSILON. - - The other point to check if we are near. - -True if this Vector3 representing a point and the specified point are within -the range of the specified tolerance. False otherwise. - - - - -Calculates and returns the angle of this vector from the right vector. This -function returns values between -180.0f and 180.0f. - - Returns the angle of this vector from the right vector in degrees. - - - -Calculates and returns the angle of this vector from the right vector. This -function returns values between -Math.PI and Math.PI. - - Returns the angle of this vector from the right vector in radians. - - - -Calculates and returns the squared magnitude of this Vector3. - - Returns the squared length of this Vector3. - - - -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. - - Returns the length of this Vector3. - - - -Creates a copy of this Vector3 and returns a normalized version. - - -Returns a normalised copy of this Vector3. -If this Vector3 is a zero vector, a zero vector will be returned. - - - - -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. - - - - -Conversion constructor to construct a Vector3 using a Vector2. - - - - - -Constructor to construct a Vector3 with the specified components. - - X-coordinate to set. - Y-coordinate to set. - Z-coordinate to set. - - - -Constructor to construct a Vector3 with the specified components with the -Z-component set to 0.0f. - - X-coordinate to set. - Y-coordinate to set. - - - -Constructor to construct a Vector3 with the specified components with the -Y and Z-component set to 0.0f. - - X-coordinate to set. - - - -Z-component of the Vector3. - - - - -Y-component of the Vector3. - - - - -X-component of the Vector3. - - - - -Shorthand for writing Vector3(0, 0, 0). - - - - -Shorthand for writing Vector3(0, 1, 0). - - - - -Shorthand for writing Vector3(1, 0, 0). - - - - -Shorthand for writing Vector3(float.PositiveInfinity, -float.PositiveInfinity, float.PositiveInfinity). - - - - -Shorthand for writing Vector3(1, 1, 1). - - - - -Shorthand for writing Vector3(float.NegativeInfinity, -float.NegativeInfinity, float.NegativeInfinity). - - - - -Shorthand for writing Vector3(-1, 0, 0). - - - - -Shorthand for writing Vector3(0, 0, 1). - - - - -Shorthand for writing Vector3(0, -1, 0). - - - - -Shorthand for writing Vector3(0, 0, -1). - - - - -CLR version of SHADE Engine's Vector3 class that represents a 3-Dimensional Vector. -Designed to closely match Unity's Vector3 struct. - - - - -Checks if two Vector2s are not approximately equal. This is equivalent to -calling !Vector2.IsNear() with default tolerance values. - - Vector2 to compare. - Another Vector2 to compare. - -True if all components are not approximately equal within the default -tolerance value. - - - - -Checks if two Vector2s are approximately equal. This is equivalent to -calling Vector2.IsNear() with default tolerance values. - - Vector2 to compare. - Another Vector2 to compare. - -True if all components are approximately equal within the default -tolerance value. - - - - -Calculates the division of a Vector2 with a scalar value and returns -the result. - - Scalar to divide with. - Vector2 to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Vector2 with a scalar value and returns -the result. - - Vector2 to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the division of a Vector2 with a scalar value and returns -the result. - - Scalar to divide with. - Vector2 to divide with. - The result of the scalar division. - - - -Calculates the multiplication of a Vector2 with a scalar value and returns -the result. - - Vector2 to multiply with. - Scalar to multiply with. - The result of the scalar multiplication. - - - -Calculates the component-wise multiplication of two Vector2s and returns the -result. - - Vector2 to multiply with. - Another Vector2 to multiply with. - The result of rhs subtracted from lhs. - - - -Subtracts a Vector2 from another Vector2 and returns the result. - - Vector2 to subtract from. - Another Vector2 to subtract. - The result of rhs subtracted from lhs. - - - -Adds two Vector2s together and returns the result. - - Vector2 to add. - Another Vector2 to add. - The result of lhs added to rhs - - - -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 - - The current position of the point. - The target position to move to. - Maximum distance moved per call. - Vector representing the moved point. - - - -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. - - The start Vector2, returned when t = 0.0f. - The end Vector2, returned when t = 1.0f. - Value used to interpolate between a and b. - The interpolated Vector2. - - - -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. - - The start Vector2, returned when t = 0.0f. - The end Vector2, returned when t = 1.0f. - -Value used to interpolate between a and b which is clamped to -the range[0, 1]. - - The interpolated Vector2. - - - -Computes and returns a Vector2 that is made from the largest components of -the two specified Vector2s. - - Vector2 to calculate maximum Vector2 with. - Another Vector2 to calculate maximum Vector2 with. - -The Vector2 that contains the largest components of the two specified -Vector2s. - - - - -Computes and returns a Vector2 that is made from the smallest components of -the two specified Vector2s. - - Vector2 to calculate minimum Vector2 with. - Another Vector2 to calculate minimum Vector2 with. - -The Vector2 that contains the smallest components of the two specified -Vector2s. - - - - -Rotates a Vector2 on the Z-axis by a specified angle in an anti-clockwise -direction. - - A Vector2 to rotate. - -Angle to rotate the vector by in an anti-clockwise direction in degrees. - - The Vector2 that represents the rotated vector. - - - -Rotates a Vector2 on the Z-axis by a specified angle in an anti-clockwise -direction. - - A Vector2 to rotate. - -Angle to rotate the vector by in an anti-clockwise direction in radians. - - The Vector2 that represents the rotated vector. - - - -Reflects a Vector2 across another Vector2. - - A Vector2 to reflect. - A normal to reflect the Vector2 across. - The Vector2 that represents vec reflected across normal. - - - -Computes and returns a Vector2 projection. - - Vector2 to project. - Vector2 to project onto. - The Vector2 that represents the projected vec onto direction. - - - -Computes a perpendicular Vector2 to the specified Vector2. - - Vector2 to find a perpendicular of. - -Whether the inward perpendicular Vector is retrieved. If true, the -resultant vector is rotated 90-degrees in a counter-clockwise. - - The perpendicular Vector2 relative to the specified Vector2. - - - - -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. - - Vector2 to find a perpendicular of. - -The perpendicular Vector2 relative to the specified Vector2. - - - - -Computes and returns the dot product of 2 specified Vector2s. - - Vector2 to calculate dot product with. - Another Vector2 to calculate dot product with. - -Scalar value representing the dot product of the two Vector2s. - - - - -Checks if two specified Vector2s are near in value. - - Vector2 to check if is near in value. - Another Vector2 to check if is near in value. - -Amount of tolerance to do the comparison with. - - -True if the two Vector2s are within the tolerance value specified - - - - -Checks if two specified Vector2s are near in value. - - Vector2 to check if is near in value. - Another Vector2 to check if is near in value. - -True if the two Vector2s are within the tolerance value specified - - - - -Gets a unique hash for this object. - - Unique hash for this object. - - - -Compares equality with another unboxed object. - - The unboxed object to compare with. - True if both objects are the same. - - - -Compares equality with an object of the same type. - - The object to compare with. - True if both objects are the same. - - - -Checks if a specified point is near this Vector2 that represents a point. - - The other point to check if we are near. - -The amount of tolerance before we consider these points as "near". - - -True if this Vector2 representing a point and the specified point are within -the range of the specified tolerance. False otherwise. - - - - -Checks if a specified point is near this Vector2 that represents a point with -a tolerance value of PLS_EPSILON. - - The other point to check if we are near. - -True if this Vector2 representing a point and the specified point are within -the range of the specified tolerance. False otherwise. - - - - -Calculates and returns the angle of this vector from the right vector. This -function returns values between -180.0f and 180.0f. - - Returns the angle of this vector from the right vector in degrees. - - - -Calculates and returns the angle of this vector from the right vector. This -function returns values between -Math.PI and Math.PI. - - Returns the angle of this vector from the right vector in radians. - - - -Calculates and returns the squared magnitude of this Vector2. - - Returns the squared length of this Vector2. - - - -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. - - Returns the length of this Vector2. - - - -Creates a copy of this Vector2 and returns a normalized version. - - -Returns a normalised copy of this Vector2. -If this Vector2 is a zero vector, a zero vector will be returned. - - - - -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. - - - - -Constructor to construct a Vector2 with the specified components.. - - X-coordinate to set. - Y-coordinate to set. - - - -Constructor to construct a Vector2 with the specified components with the -Y-component set to 0.0f. - - X-coordinate to set. - - - -Y-component of the Vector2. - - - - -X-component of the Vector2. - - - - -Shorthand for writing Vector2(0, 0). - - - - -Shorthand for writing Vector2(0, 1). - - - - -Shorthand for writing Vector2(1, 0). - - - - -Shorthand for writing Vector2(float.PositiveInfinity, -float.PositiveInfinity). - - - - -Shorthand for writing Vector2(1, 1). - - - - -Shorthand for writing Vector2(float.NegativeInfinity, -float.NegativeInfinity). - - - - -Shorthand for writing Vector2(-1, 0). - - - - -Shorthand for writing Vector2(0, -1). - - - - -CLR version of SHADE Engine's Vector2 class that represents a 2-Dimensional Vector. -Designed to closely match Unity's Vector2 struct. - - - - -Checks if the specified entity is valid. This is done by checking if it -matches Pls::Entity::INVALID. - - The Entity to check. - True if the specified Entity is valid. - - - -Static class that contains useful utility functions for working with Entity. - - - - -Manages all resources in multiple ResourceLibraries. - - - - -Base class for SHResourceLibrary that holds information about the library type. - - - - -Template Specialization for Handle that represents a type-less Handle. - - - - -Converts to true if this is a valid Handle. - - - - -Native ID type of a handle - - - - -Base implementation of the Handle that is not templated to allow for holding -generic non-type-specific Handles. - - - - -Exception thrown when a generic Handle is being casted to the wrong type. - - - - -Exception thrown when an invalid Handle was dereferenced. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
\ No newline at end of file