using System.Collections.Generic; namespace DSPRE.Resources { /// /// Represents metadata for a script command loaded from JSON database /// public class ScriptCommandInfo { public ushort CommandId { get; set; } public string Name { get; set; } public string DecompName { get; set; } public byte[] ParameterSizes { get; set; } public List ParameterTypes { get; set; } public List ParameterNames { get; set; } public string Description { get; set; } public ScriptCommandInfo() { ParameterSizes = new byte[0]; ParameterTypes = new List(); ParameterNames = new List(); } public int ParameterCount => ParameterSizes?.Length ?? 0; public bool HasConditionalParameters => ParameterSizes != null && ParameterSizes.Length > 0 && ParameterSizes[0] == 0xFF; } /// /// Represents metadata for a movement/action command /// public class MovementCommandInfo { public ushort CommandId { get; set; } public string Name { get; set; } public string DecompName { get; set; } public string Description { get; set; } } }