Click or drag to resize

DustProductions.Core Namespace

Holds all the base code for DustProductions Unity Projects. Provides many helpful utilities for all sorts of projects.
Public classAudioSourceVolumeSetter
Sets the volume of an AudioSource. Can be used with TransitionDefinitions to set over time.
Public classCacheable
Used to make it easier to cache off values in different classes in a standardized way.
Public classCacheableValueSetter
A Cacheable version of a ValueSetter. Right now, all ValueSetters inherit from this class. This also gives a convenient non-generic entrypoint necessary to automatically add relevant setters to GameObjects
Public classCanvasGroupAlphaSetter
Does the work of setting alpha values on CanvasGroups. For convenience, can also set the blocksRaycasts value when the transparency changes.
Public classCanvasGroupInteractableSetter
Used to set the interactable variable on CanvasGroups, keeps track of what items want it to be interactible, and what items don't. If any objects do not want the CanvasGroup to be interactible, then it will not be.
Public classColorValueSetter
An abstract class that will allow you to get or set any Color using a transition. All you have to do is inherit from this, and implement the abstract class.
Public classCoroutineT
A wrapper for Coroutines so it is easier to get information about them and control them at runtime
Public classCoroutineCancelledException
Use to know when a coroutine was cancelled.
Public classCoroutineDisabledException
Use to know when the object a coroutine is running on is disabled.
Public classCursorDefinition
An asset to hold a cursor to use in game.
Public classCursorDefinitionCustomEditor
Class that draws the custom icon for Cursor Definitions
Public classCursorManager
Singleton used to manage adding and removing cursors at runtime.
Public classCurveInterpolater
Class used to easily get the values of a n AnimationCurve depending on the time passed in
Public classDeveloperInformation
Just a class to use to make it easy to update developer information.
Public classDiskUtilities
Class used to modify items on the computer's harddrive. This class has ONLY been tested in Windows, and only used for editor utilities. Things in here will not likely work in a build on target devices.
Public classDontDestroyOnLoad
Just a simple class to attach to gameobjects to make them persist through loads. Should only be placed on root objects in the scene.
Public classExtensionMethods
Class containing utilities to reduce boilerplate code. It's really just a random assortment of goodies.
Public classFlagsHelper
Used to make it easier to work with bitmasks and enums by providing a frontend for checking if things are part of the mask or not Source:
Public classFloatValueSetter
An abstract class that will allow you to get or set any float using a transition. All you have to do is inherit from this, and implement the abstract class.
Public classGraphicColorSetter
Use this whenever trying to set a Graphic's color, it will allow you to set using transitions and fancy things.
Public classHideFieldAttribute
Allows hiding / disabling of fields without writing fancy custom editors. Adapted from
Public classHideFieldPropertyDrawer
Allows hiding / disabling of fields without writing fancy custom editors. Adapted from
Public classInterpolate
Interpolation utility functions: easing, bezier, and catmull-rom. Consider using Unity's Animation curve editor and AnimationCurve class before scripting the desired behaviour using this utility. Interpolation functionality available at different levels of abstraction. Low level access via individual easing functions (ex. EaseInOutCirc), Bezier(), and CatmullRom(). High level access using sequence generators, NewEase(), NewBezier(), and NewCatmullRom(). The low level functions work similarly to Unity's built in Lerp and it is up to you to track and pass in elapsedTime and duration on every call. The functions take this form (or the logical equivalent for Bezier() and CatmullRom()). transform.position = ease(start, distance, elapsedTime, duration); For convenience in configuration you can use the Ease(EaseType) function to look up a concrete easing function @author Fernando Zapata ( @Traduzione Andrea85cs ( Modified to be less insane by Dusty Hunsaker
Public classJobsUtilities
Methods to make it easier to work with Unity's new Jobs system and Native types.
Public classLightColorSetter
Use this whenever trying to set a Light's color, it will allow you to set using transitions and fancy things.
Public classLightIntensitySetter
Sets the intensity of a Light. Can be used with TransitionDefinitions to set over time.
Public classLocker
Class used to allow multiple objects to lock or unlock functionality of another item. e.g. Make a button not interactible until a number of other objects say it's ok.
Public classMultiValueDictionaryTKey, TValue
A dictionary that simplifies having multiple values for a key.
Public classOpenInFileBrowser
Class used to easily open a folder of a file on Windows and Mac. Will likely only work in editor, not in a build. License: Public Domain Original Source:
Public classQuickButtonAttribute
Use this on a serialized field to quickly add a button to the inspector without having to write custom inspector code.
Public classQuickButtonPropertyDrawer
Override the default property drawer to instead show a button that can run code in the class it's in.
Public classReflectionUtilities
Used to hold any miscellaneous utility methods for reflection.
Public classSerializableCursorDefinitionStack
A serializable stack for CursorDefinitions
Public classSerializableStackT
This is a "stack" that supports editor serialization. It's really just a list with an API that looks like a stack. It's comparably quick, for most cases it will be slightly faster to push to this than a stack, but slightly slower to pop than an actual stack. NOTE: If you want to use this you need to define your own class and inherit from this, as Unity does not support serialization of generic types
Public classSerializableUnityObjectStack
A serializable stack for any UnityEngine.Object
Public classSingletonT
A class that creates an instance of an object if it doesn't exist, and ensures only one object of that type exists at a time
Public classStringDropdownPropertyDrawer
PropertyDrawer for strings that can be used to select the string in a dropdown list (similar to enums) Original by DYLAN ENGELMAN Altered by Brecht Lecluyse Made more generic by working with any string array by Dusty Hunsaker
Public classTransformValueSetter
Use this to modify a Transform’s position, rotation, and / or scale. With a RectTransform, you can also modify the anchors, pivot, and sizeDelta values.
Public classTransitionDefinition
This is an asset used to create transitions that can be shared across various GameObjects.
Public classTransitionDefinitionCustomEditor
Class that draws the custom icon for Transition Definitions
Public classValueSetterT
A ValueSetter for structs.
Public structureTransformValues
This is a data struct to easily cache off Transform values. Unfortunately it needs to exist because you can't have a Transform exist without creating a GameObject as well, and that's way too much overhead to do this frequently.
Public interfaceIComponentAddedHandler
Used to allow other Components to know a different Component was added to a GameObject.
Public enumerationCachePromptType
When to cache a Cacheable object. These are offset by 10 so that anything that needs to go in between can do so without having a crazy int order.
Public enumerationInterpolateEaseType
Different methods of easing interpolation.
Public enumerationTransitionDefinitionTransitionType
The types of transition available to use. Interpolate uses math to transition, and custom uses animation curves