using RobotNet.VDA5050.Type; using System.Text.Json.Serialization; namespace RobotNet.VDA5050.InstantAction; /// /// Action data transfer object for VDMA LIF actions /// Used in VehicleType.Actions, NodeVehicleProperty.Actions, EdgeVehicleProperty.Actions /// public class ActionLIF { /// /// Type of action (e.g., "pick", "drop", "charge") /// [JsonPropertyName("actionType")] public string ActionType { get; set; } = string.Empty; /// /// Description of the action /// [JsonPropertyName("actionDescription")] public string? ActionDescription { get; set; } /// /// Requirement type: REQUIRED, CONDITIONAL, OPTIONAL /// [JsonConverter(typeof(JsonStringEnumConverter))] [JsonPropertyName("requirementType")] public RequirementType RequirementType { get; set; } /// /// Blocking type: NONE, SOFT, HARD /// [JsonConverter(typeof(JsonStringEnumConverter))] [JsonPropertyName("blockingType")] public BlockingType BlockingType { get; set; } /// /// Action parameters as key-value pairs /// [JsonPropertyName("actionParameters")] public List ActionParameters { get; set; } = []; }