namespace PKHeX.Core; /// /// Interface describing how to obtain a from the implementer. /// /// Type of sprite that can be generated. public interface ISpriteBuilder { /// /// Gets a sprite using the requested parameters. /// T GetSprite(int species, int form, int gender, uint formarg, int heldItem, bool isEgg, Shiny shiny, int generation = -1, SpriteBuilderTweak tweak = SpriteBuilderTweak.None); /// /// Revises the sprite using the requested parameters. /// T GetSprite(T baseSprite, int species, int heldItem, bool isEgg, Shiny shiny, int generation = -1, SpriteBuilderTweak tweak = SpriteBuilderTweak.None); /// /// Initializes the implementation with the context details from the . /// /// Save File context the sprites will be generated for void Initialize(SaveFile sav); }