namespace Cthangover.Mods.Schemas
{
using System.Collections.Generic;
///
/// A DSL command other than action (check, when, text…): its
/// positional arguments, its named ones and whether it jumps with -> :label.
///
public class CommandSchema
{
/// The command word.
public string Id { get; set; }
/// Locale key of the palette title.
public string Name { get; set; }
/// Locale key of the help text.
public string Description { get; set; }
/// Palette group.
public string Category { get; set; }
/// Positional arguments in order (a quoted text, a stat id, a difficulty…).
public List Positional { get; set; } = new();
/// Named arguments.
public List Params { get; set; } = new();
/// Locale key naming the arrow target (-> :label); null when the command takes none.
public string Arrow { get; set; }
/// The mod whose schema file won for this id (filled by the catalog).
public string SourceMod { get; set; }
}
}