Plating¶
Namespace Nfty.Ticket in assembly Nfty.Ticket.
Turns a ticket into the ordered list of draws that reproduces it.
Remarks¶
Bottom-first, in layerOrder — generation's own paint order, which the ticket already carries because Ticketer walks the layers in it.
Nothing here touches a pixel. The colorize rule a renderer must implement is one line: rgb = HsvToRgb(hue, sat, source.R / 255) with the source's alpha carried through untouched — which is exactly what Colorizer.Apply computes, via a 256-entry table it builds because the red channel is the only per-pixel input.
Methods¶
Plate(MenuArchive, AssetTicket)¶
The draws that reproduce a ticket.
Parameters
menu(MenuArchive) - The Menu the ticket was rolled against.ticket(AssetTicket) - The roll.
Returns. One draw per present layer, bottom-first.
Exceptions
KeyNotFoundException- The Menu has no recipe named byAssetTicket.RecipeId; that recipe has no layer for one of the ticket's ingredient ids (both fromMenuArchive.Layer()); or the Menu has no art cell for one of the ticket's rolled variants (fromMenuArchive.Cell()). All three name the specific id that was not found.FormatException- A colorized layer's hue or saturation quantize differs from the Menu's colorization for that layer. The message names the layer.