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