SnowyPeak.Duality.Frozen.core
TimedCommand used to alter over time the colorization of a SpriteRenderer
Abstract class used in order to allow the Command to target a specific Component.
An Exception is thrown if the required Component is not present inside the Commanded GameObject.
Provides utility methods to define the duration of the Command based on a time, or a speed.
The Type of the required Component
Abstract class used in order to allow the Command to target a specific Component.
An Exception is thrown if the required Component is not present inside the Commanded GameObject.
The Type of the required Component
Abstract class acting as the base for all Commands
Advances the command's execution
Initializes the command
Indicates if the command completed its execution
Calculates the time to completion depending on the desired speed and command length
Sets the completion time
Returns the length, in abstract, of the command before it reaches its completion. Used for FixedSpeed commands
Advances the command's execution
Initialization
Returns the length, in abstract, of the command before it reaches its completion. Used for FixedSpeed commands
ColorRgba Extensions
Converts a ColorRgba to float array
Converts a ColorRgba to Vector4 (R, G, B, A) = (X, Y, Z, W)
The Color
TimedCommand used to alter over time the colorization of a SpriteRenderer
Advances the command's execution
Initialization
Returns the length, in abstract, of the command before it reaches its completion. Used for FixedSpeed commands
Command encapsulating a list of Commands that will be carried out in parallel on a single GameObject.
The ParallelCommand will be considered Complete once all subCommands are completed.
Adds a Command to the parallel execution list
Advances the command's execution
Initialization
TimedCommand used to alter a GameObject's scale
Advances the command's execution
Initialization
Returns the length, in abstract, of the command before it reaches its completion. Used for FixedSpeed commands
Command used to destroy (dispose and remove from the Scene) a GameObject
Advances the command's execution
Initialization
A utility Command used to send a signal to the other Commands. Used for command synchronization via WaitFor
Advances the command's execution
Initialization
The Value of the Signal
A utility Command that waits for a signal coming from another GameObject. Used for command synchronization
via Signal
Advances the command's execution
Initialization
A Command used to stop the execution of the following Command until enough time has elapsed.
Advances the command's execution
Initialization
TimedCommand used to Move a GameObject in 3D
Advances the command's execution
Initialization
Returns the length, in abstract, of the command before it reaches its completion. Used for FixedSpeed commands
TimedCommand used to rotate a GameObject around its Z axis.
Advances the command's execution
Initialization
Returns the length, in abstract, of the command before it reaches its completion. Used for FixedSpeed commands
A two-way Dictionary that allows to lookup a Value given a Key or a Key given a Value.
Based on http://stackoverflow.com/a/10966684
Constructor
Checks if the Key is present in the Map
Checks if the Value is present in the Map
Removes a Key and the associated Value from the Map
Removes a Value and the associated Key from the Map
Returns the list of Keys as IEnumerable
Returns the list of Values as IEnumerable
Gets or Sets a Key, given a Value
Gets or Sets a Value, given a Key
Utility class containing the translation of .net's default Colors to ColorRgba objects
Converts a Vector4 with values between 0 and 1 to ColorRgba
Converts a Vector4 with values between 0 and 255 to ColorRgba
The BaseInputReceiver is an abstract Component that needs to be derived and its methods overridded in order
to implement the necessary logic by your components.
The type of methods called depend on the associated InputController and its configuration.
Virtual KeyDown
Virtual KeyUp
Virtual MouseDown
Virtual MouseEnter
Virtual MouseLeave
Virtual MouseUp
Virtual MouseWheel
The InputReceiverVisual is a derived BaseInputReceiver that allows to send events directly to an ICmpRenderer
GameObject. This allows to implement GUI elements such as Buttons, etc or to directly control a GameObject
such as a Player character.
Executed when dragged
[GET / SET] If the associated ICmpRenderer can be dragged by holding the Left Mouse Button
[GET / SET] If the Component is notified of KeyUp and KeyDown events
[GET / SET] If the Component is notified of MouseUp and MouseDown events
[GET / SET] If the Component is notified of MouseWheel events
This Component can be assigned to a Camera in order to detect and manage Input events such as Mouse and
Keyboard events and redirect said events to a BaseInputReceiver.
It allows to specify a default BaseInputReceiver which can receive all enabled events regardless of its
current status, and also to manage InputVisualReceivers in a way that allows the implementation of a basic GUI.
Constructor
[GET / SET] If the Receiver should always be notified of events even if there is a Focused InputVisualReceiver
[GET] The currently Focused InputVisualReceiver
[GET] The currently Hovered InputVisualReceiver
[GET / SET] If the Controller should register for Keyboard events
[GET / SET] The Keyboard key that will be treated as a Left Mouse click
[GET / SET] The Keyboard key that will be treated as a Middle Mouse click
[GET / SET] If the Controller should register for Mouse events
[GET / SET] The default BaseInputReceiver
[GET / SET] The Keyboard key that will be treated as a Right Mouse click
The Commander is a Component in charge of managing the Commands for a single GameObject.
It provides a series of predefined methods to generate and manage SnowyPeak.Duality.Plugin.Frozen.Core's included Commands,
but also allows the user to register its own custom Commands.
Constructor
Adds a custom Command to the execution list or to the currently open parallel Command.
The Type of the Command that will be added
The Command
The Command added
Tells the Commander that all the subsequent Commands will have to be carried out in parallel, until the
EndParallel method is called
Adds a ColorizeSprite Command, from the current to the desired Color
Target color
The ColorizeSprite Command
Adds a ColorizeText Command, from the current to the desired Color
Target color
The ColorizeText Command
Adds a Destroy Command
The Destroy Command
Stops the addition of parallel Commands and marks them as ready for execution
Adds a XY Move Command to the desired position, relative to the current one
XY position
The Move Command
Adds a XYZ Move Command to the desired position, relative to the current one
XYZ position
The Move Command
Adds a XY Move Command to the desired absolute position
Target XY position
The Move Command
Adds a XYZ Move Command to the desired absolute position
Target XYZ position
The Move Command
Adds a XY Move Command to the desired position, relative to the parent GameObject
Target XY position
The Move Command
Adds a XYZ Move Command to the desired position, relative to the parent GameObject
Target XYZ position
The Move Command
Adds a Rotate Command to the desired angle, relative to the current one
angle
The Rotate Command
Adds a Rotate Command to the desired absolute angle
Target angle
The Rotate Command
Adds a Rotate Command to the desired angle, relative to the parent GameObject
Target angle
The Rotate Command
Adds a Scale Command to the desired absolute scale
Target scale
The Scale Command
Adds a Scale Command to the desired scale, relative to the current one
Target relative scale
The Scale Command
Adds a Signal Command
The Signal to emit
The Signal Command
Adds a Wait Command
The duration, in seconds, of the wait
The Wait Command
Adds a WaitFor Command, waiting until the other object has completed all its Commands
The GameObject to wait for
The WaitFor Command
Adds a WaitFor Command, waiting until the other object issues a determined Signal
The GameObject to wait for
The Signal to wait for
The WaitFor Command
The Last Signal emitted by a Signal Command
Indicates if there are no current or pending Commands to execute
This Component is in charge of the asynchronous loading of a LoadableResource.
The Resource is loaded using a separate thread working in background; the thread can be monitored
by implementing the LoaderOnUpdate and LoadingComplete methods.
It's possible to have the LoadableResource set a volatile field from time to time that
reflects the loading percentage. LoaderOnUpdate could be then be implemented in order to display
such percentage, or affect a loading bar.
Component that can Mark an entire GameObject, its Childrens and all their Rendering Components as Active or Inactive
Camera extensions
Creates a GameObject covering the entirety of the Camera's viewport and applies a ColorizeSprite
Command going from one Color to another
The Camera
The time, in milliseconds, that the transition will take
The starting color
The ending color
Moves the Camera on the XY plane, and alters the camera's FocusDist property in order to
contain the entirety of the Target Area in the screen's viewport
The Camera
A 2D Polygon representing the extent of the area to show on screen
The reference Z coordinate of the area to show on screen
Moves the Camera in 3D in order to contain the entirety of the Target Area in the screen's
viewport
The Camera
A 2D Polygon representing the extent of the area to show on screen
The reference Z coordinate of the area to show on screen
MathF extensions
Fast Floor function
Fast Floor function
OpenTK Extensions
Expands the Rect, on each side, by an amount
The caller
The amount to expand each side
Multiplies the Rect by the amount specified in a Vector2.
Useful to pass from UV coordinates to Pixmap coordinates
Divides the Rect by the amount specified in a Vector2.
Useful to pass from Pixmap coordinates to UV coordinates
Vector4 Extensions
Returns the XY components as a Vector2
Returns the ZW components as a Vector2
Implementation of Range for Vector3 values
Abstract class used to interpolate and obtain random values between a maximum and a minimum defined.
Constructor
The random instance to use
Get the value corresponding to the required interpolation. Parameter must be between 0 and 1
GameObject extensions
Travels backwards through ancestors until one with the desired Component is found
The Type of the Component that should be looked for
The caller
The first GameObject in the caller's ancestry containing a Component of the required type.
null otherwise
Defines a Duality core plugin.
Implementation of Range for ColorRgba values
Implementation of Range for float values
Implementation of Range for int values
Mono's Random implementation. Actually faster than System.Random
Constructor
Constructor
Sets the seed
A collection of general-purpose methods, mainly used inside SnowyPeak.Duality.Plugin.Frozen.Core.
Represents a Point in Scene, World and UV coordinates
Models a Polygon as an ordered array of 2D, coplanar vertices
Constructs an N-sided Polygon as an empty array of N elements
Constructs a Polygon starting from a list of vertices
Constructs a Polygon starting from a Rect
Constructs a regular Polygon centered around a point, with a defined radius
Constructs a regular Polygon centered around a point, with a defined radius, and a defined number of
subdivisions
Determines if a Vector2 is inside or outside the Polygon
True if the point is inside, false otherwise.
Offsets each vertex in the polygon by the desired amouns
The offset to apply
Centers the Polygon on its Centroid, effectively making it Zero
Rotates the Polygon of a specified amount
Returns the area of the Polygon
Returns the Centroid of the Polygon, as the point where its extents are halved on each direction
The vertices of the Polygon
Returns the Winding (Clockwise/Counterclockwise) of the Polygon's vertices
Returns the i-index vertex of the Polygon