using RecrownedAthenaeum.UI.SkinSystem.Definitions; using RecrownedAthenaeum.Types; namespace RecrownedAthenaeum.Data { /// /// Data transfer object for game skins. /// public class SkinData { /// /// Holds metadata. /// public class Metadata { /// /// Author name. /// public string author; /// /// Description of skin. /// public string description; /// /// Name of skin. /// public string skinName; } /// /// The metadata for the skin file. /// public Metadata metadata; /// /// The name of the atlas with extension. /// public string nameOfTextureAtlas; /// /// Name of the region or file designating the cursor. If there is an extension, will check for file first then texture atlas. Otherwise, will just check region. /// public string cursorTextureName; /// /// The color data containing the name of the color, and red, green, and blue values for the color. /// public ColorData[] colors; /// /// The skin definitions containing a name for the definition, and the definition itself. /// public DefinitionData[] definitions; /// /// Color data for data transfer. /// public struct ColorData { /// /// Name of color to be referenced by. /// public string name; /// /// RGBA data of this color. /// public byte r, g, b, a; /// /// Sets values for data. /// /// the name to be referenced by. /// The color value represents. public ColorData(string name, Color color) { this.name = name; r = color.r; g = color.g; b = color.b; a = color.a; } } /// /// Definition data for data transfer. /// public struct DefinitionData { /// /// Name of definition to be referenced by. /// public string name; /// /// The skin definition data. /// public SkinDefinitionData skin; /// /// Sets values for data. /// /// The name to be referenced by. /// The skin data. public DefinitionData(string name, SkinDefinitionData skinDefinitionData) { this.name = name; skin = skinDefinitionData; } } } }