CardDb now includes a more refined mechanism to set up values for CardArt Preference.
These methods do now support the proper setup for legacy values and string values (as supported previously in mobile version).
Moreover, new methods are now defined to support the new (separated) pair of settings as integrated into the Desktop App.
I've decided to use the option in settings only for gameplay, and so always allowing the load of custom cards.
This is because otherwise the option should be much more pervasive, so inhibiting card catalog, sets filters, ...
So the option will just control the use of custom cards in decks for gameplay (still false by default!)
If Custom Card setting is disabled, an error message in logs will be printed accordingly.
Custom Cards will be loaded as such in Card Pool only if the option in settings is enabled.
Also, the CardArtPreference Enum now includes a new methods that allows seamless recognition (and instantiation) of corresponding enum value from Forge Preference - also with backward compatibility.
The revised implementation of `attemptToLoadCard` method now also takes into consideration any setcode that may be present into request info.
This is to reduce db lookup operation and returning a card from a very specific set.
Setting the value of card art preference from string now is more reliable, and it falls back automatically to the default
(Latest Art All editions).
This is to allow setting the enum value from Forge Preference Labels.
The new name, i.e. OldArtExcludedPromoAndOnlineEditions is more self-explanatory - a bit long though.
Won't exclude that I will come back at namings after having now worked on CardEdition.Type revision
The new name IMHO is easier and more appropriate as a category name.
This would be a mismatch with Scryfall Nomenclature, but Forge contains already mismatch (e.g. REPRINT) so not a big deal.
Card Editions now includes updated Types, following the new remapping.
Moreover, a new option to CardEdition.Reader has been added (in the constructor) in order to account for custom editions.
So far this new "reading mode" accounts for type that is "forced" always to be "THIRDPARTY" so to guarantee consistent sets filtering (so far only on Mobile platform).
This new option is integrated in StaticData when instantiating the collection for CustomEditions.