recrownedgtk/RecrownedAthenaeum/Data/SkinData.cs

88 lines
2.4 KiB
C#

using RecrownedAthenaeum.UI.Skin.Definitions;
namespace RecrownedAthenaeum.Data
{
/// <summary>
/// Data transfer object for game skins.
/// </summary>
public class SkinData
{
/// <summary>
/// Holds metadata.
/// </summary>
public class Metadata
{
/// <summary>
/// Author name.
/// </summary>
public string author;
/// <summary>
/// Description of skin.
/// </summary>
public string description;
/// <summary>
/// Name of skin.
/// </summary>
public string skinName;
}
/// <summary>
/// The metadata for the skin file.
/// </summary>
public Metadata metadata;
/// <summary>
/// The name of the atlas with extension.
/// </summary>
public string nameOfTextureAtlas;
/// <summary>
/// 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.
/// </summary>
public string cursorTextureName;
/// <summary>
/// The color data containing the name of the color, and red, green, and blue values for the color.
/// </summary>
public ColorData[] colors;
/// <summary>
/// The skin definitions containing a name for the definition, and the definition itself.
/// </summary>
public DefinitionData[] definitions;
/// <summary>
/// Color data for data transfer.
/// </summary>
public struct ColorData
{
/// <summary>
/// Name of color to be referenced by.
/// </summary>
public string name;
/// <summary>
/// RGBA data of this color.
/// </summary>
public int r, g, b, a;
}
/// <summary>
/// Definition data for data transfer.
/// </summary>
public struct DefinitionData
{
/// <summary>
/// Name of definition to be referenced by.
/// </summary>
public string name;
/// <summary>
/// The skin definition data.
/// </summary>
public ISkinDefinitionData skin;
}
}
}