54 lines
1.9 KiB
C#
54 lines
1.9 KiB
C#
using System.Collections.Generic;
|
|
using System.Windows.Media;
|
|
|
|
namespace Character_Builder;
|
|
|
|
/// <summary>A character folder (has a Reference/ sheet).</summary>
|
|
public class CharacterInfo
|
|
{
|
|
public string Name { get; set; } = "";
|
|
public string FolderPath { get; set; } = "";
|
|
public string? SheetPath { get; set; }
|
|
public ImageSource? Thumb { get; set; }
|
|
public override string ToString() => Name;
|
|
}
|
|
|
|
/// <summary>One scanned PNG asset (body/head/expression/hairmask/accessory).</summary>
|
|
public class PartItem
|
|
{
|
|
public string Display { get; set; } = "";
|
|
public string FileName { get; set; } = "";
|
|
public string FilePath { get; set; } = "";
|
|
public string Shape { get; set; } = ""; // for heads/expressions
|
|
public string Expr { get; set; } = ""; // for expression frames
|
|
public override string ToString() => Display;
|
|
}
|
|
|
|
/// <summary>A composited accessory layer with its own transform.</summary>
|
|
public class AccessoryLayer
|
|
{
|
|
public string FileName { get; set; } = "";
|
|
public double OffsetX { get; set; }
|
|
public double OffsetY { get; set; } = -190;
|
|
public double Scale { get; set; } = 0.42;
|
|
}
|
|
|
|
/// <summary>The saveable/loadable composition.</summary>
|
|
public class BuildDefinition
|
|
{
|
|
public string Name { get; set; } = "";
|
|
public string Character { get; set; } = "";
|
|
public string? BodyFile { get; set; }
|
|
public double BodyOffsetX { get; set; }
|
|
public double BodyOffsetY { get; set; }
|
|
public double BodyScale { get; set; } = 1.0;
|
|
public string? HeadFile { get; set; }
|
|
public string? ExpressionFile { get; set; }
|
|
public string? HairmaskFile { get; set; }
|
|
public string? HairColor { get; set; }
|
|
public double HeadOffsetX { get; set; }
|
|
public double HeadOffsetY { get; set; } = -190;
|
|
public double HeadScale { get; set; } = 0.42;
|
|
public List<AccessoryLayer> Accessories { get; set; } = new();
|
|
}
|