Namespace BinaryCharm.SemanticColorPalette.Colorers
Classes
SCP_AColorer
Abstract base class for all Colorer implementations using a single SCP_ColorId definition.
SCP_AColorer<T>
Abstract base class for all colorer implementations using multiple SCP_ColorId definitions wrapped in a struct.
SCP_AColorerBase
Abstract class implementing the core colorer logic. All colorers must inherit (directly or indirectly) from this class.
Excluding very particular circumstances (for example: see @BinaryCharm.SemanticColorPalette.Colorers.TMPro.SCP_TMP_RichTextColorer ), a custom, user-defined colorer should not inherit directly from this class, but should instead extend one of its children, accordings to this selection logic:
- SCP_AColorer: there's a single color to apply
- SCP_AColorer<T>: there's
multiple colors to apply, and their identifiers are wrapped in a
struct of type
T
- SCP_AMaterialColorer: there's some colors to apply to a Material, and their identifiers are hold in a SCP_MaterialColorDef array automatically generated according to the shader characteristics
- SCP_AMaterialColorer<T>:
there's some colors to apply to a Material of a
specific type (with specific shader color properties), and their
identifiers are wrapped in a struct of type
T
- SCP_AGradientColorer: there's a Gradient property that we want to control through palette color identifiers
SCP_AGradientColorer
Abstract base class for colorers controlling a Gradient property.
SCP_AGraphicColorer
Abstract base class for the colorers operating on elements inheriting from @UnityEngine.UI.Graphic.
SCP_AMaterialColorer
Abstract base class for colorer implementations acting on a Material that require an arbitrary number of color properties (depending on the shader color properties).
SCP_AMaterialColorer<T>
Abstract base class for colorer implementations acting on a Material that require a specific set of SCP_ColorId wrapped in a struct.
SCP_AMaterialColorerBase
Abstract base class for colorer implementations acting on a Material. The class handles the optional creation and use of a material instance, which is needed when the coloring must not be applied globally to all the renderers referring to the material. SCP_ColorId wrapped in a struct.
Structs
SCP_MaterialColorDef
Structure defining a (name, value) pair where each entry is made of a shader property name and a color id.
Interfaces
SCP_IColorer
Interface defining methods to read/write the color id configuration of a simple colorer (that is: a colorer configured through a single color id).
SCP_IColorer<T>
Interface defining methods to read/write the color ids configuration of
a colorer. An instance of T
will contain the color ids needed by the
actual colorer implementation.
SCP_IGradientAccessor
Interface to abstract getting and setting a Gradient property, to minimize code duplication in colorers inheriting from SCP_AGradientColorer.