• Manual
  • Scripting API
Show / Hide Table of Contents
  • BinaryCharm.SemanticColorPalette
    • SCP_ColorId
    • SCP_IPaletteCore
    • SCP_Palette
    • SCP_Palette.eType
    • SCP_PaletteProvider
  • BinaryCharm.SemanticColorPalette.Colorers
    • SCP_AColorer
    • SCP_AColorer<T>
    • SCP_AColorerBase
    • SCP_AGradientColorer
    • SCP_AGraphicColorer
    • SCP_AMaterialColorer
    • SCP_AMaterialColorer<T>
    • SCP_AMaterialColorerBase
    • SCP_IColorer
    • SCP_IColorer<T>
    • SCP_IGradientAccessor
    • SCP_MaterialColorDef
  • BinaryCharm.SemanticColorPalette.Importers
    • SCP_AcoPaletteData
    • SCP_AndroidXmlPaletteData
    • SCP_APaletteData
    • SCP_AsePaletteData
    • SCP_GimpPaletteData
    • SCP_IPaletteDataProvider
    • SCP_KritaPaletteData
    • SCP_SvgPaletteData
  • BinaryCharm.SemanticColorPalette.Utils
    • SCP_ColorUtils
    • SCP_ImportUtils
    • SCP_Utils

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.

In This Article
Back to top Binary Charm