developers deck - nhmkdev/cardmaker GitHub Wiki
Developers - Deck
General
The Deck represents a Layout combined with one or more References. The Deck class is also currently
responsible with Definition translation.
Filename Translation
On export of files the Deck.TranslateFileNameString method provides a way to translate the target file name.
Definition Translation
Deck.TranslateString translates a Definition string and caches it to avoid wasting cycles reprocessing an
unchanged Defintion. The order of translation is critical and should not be adjusted (without extreme care).
Element Override
Deck.GetOverrideElement provides functionality that combines an Element with any overrides configured in the
reference. The final rendered Element is the combination of the two.
Loading
Deck.SetAndLoadLayout is responsible for adjusting the currently associated Layout and loading any related references.
In the future it would best if Reference loading were handled outside of this class for easier unit testing.