using System; using System.Collections.Generic; namespace Cthangover.Tools.EntityEditor { /// /// One property of an entity as an form shows /// it. A concrete editor lists its fields; properties no field names are /// shown and edited as raw JSON ("other fields"), so the form never hides or /// drops data a mod added. /// public class EntityField { /// JSON property name. public string Key { get; init; } /// Locale key of the label. public string LabelKey { get; init; } /// Locale key of the tooltip, or null. public string TooltipKey { get; init; } /// How the value is edited. public EntityFieldKind Kind { get; init; } /// Picture: the file group of the pictures (items, characters…). public string Group { get; init; } /// Choice, flags, list: the values offered (read when the form is built). public Func> Options { get; init; } /// Locale text: how a new entity's key is made from its id ({0} = id). public string KeyPattern { get; init; } } }