1
Fork 0
mirror of https://github.com/xivdev/EXDSchema.git synced 2025-06-07 16:47:45 +00:00
EXDSchema/SchemaConverter/NewSheetDefinition.cs

70 lines
1.2 KiB
C#
Raw Normal View History

2023-09-18 19:55:35 -04:00
// ReSharper disable UnusedMember.Global
// ReSharper disable InconsistentNaming
using System.ComponentModel;
using SharpYaml;
using SharpYaml.Serialization;
2023-09-18 19:55:35 -04:00
namespace SchemaConverter.New;
public enum FieldType
{
Scalar,
Array,
Icon,
ModelId,
Color,
2023-09-18 19:55:35 -04:00
}
public class Sheet
{
[YamlMember(0)]
2023-09-18 19:55:35 -04:00
public string Name { get; set; }
[YamlMember(1)]
2023-09-18 19:55:35 -04:00
public string? DisplayField { get; set; }
[YamlMember(2)]
2023-09-18 19:55:35 -04:00
public List<Field> Fields { get; set; }
}
public class Field
{
[YamlMember(0)]
2023-09-18 19:55:35 -04:00
public string? Name { get; set; }
[YamlMember(1)]
2023-09-18 19:55:35 -04:00
public int? Count { get; set; }
[YamlMember(2)]
[DefaultValue(FieldType.Scalar)]
2023-09-18 19:55:35 -04:00
public FieldType Type { get; set; }
[YamlMember(3)]
public string? Comment { get; set; }
[YamlMember(4)]
2023-09-18 19:55:35 -04:00
public List<Field>? Fields { get; set; }
[YamlMember(5)]
2023-09-18 19:55:35 -04:00
public Link? Link { get; set; }
}
public class Link
{
[YamlMember(0)]
2023-09-18 19:55:35 -04:00
public Condition? Condition { get; set; }
[YamlMember(1)]
[YamlStyle(YamlStyle.Flow)]
public List<string> Target { get; set; }
2023-09-18 19:55:35 -04:00
}
public class Condition
{
[YamlMember(0)]
2023-09-18 19:55:35 -04:00
public string Switch { get; set; }
[YamlMember(1)]
2023-09-18 19:55:35 -04:00
public Dictionary<int, List<string>> Cases { get; set; }
}