using MessagePack; using System.Text.Json.Serialization; namespace SVSim.EmulatedEntrypoint.Models.Dtos.Common; /// /// One archetype trial deck under trial_deck_list (DeckAttributeType.TrialDeck). Wire shape /// from the 2026-05-29 main_story/get_deck_list capture. Distinct from build decks: carries /// deck_format and no order_num/leader-skin-list. card_id_array only (no numbered card_id_N). /// [MessagePackObject] public class TrialDeck { [JsonPropertyName("deck_no")] [Key("deck_no")] public int DeckNo { get; set; } [JsonPropertyName("class_id")] [Key("class_id")] public int ClassId { get; set; } [JsonPropertyName("sleeve_id")] [Key("sleeve_id")] public int SleeveId { get; set; } [JsonPropertyName("leader_skin_id")] [Key("leader_skin_id")] public int LeaderSkinId { get; set; } [JsonPropertyName("deck_name")] [Key("deck_name")] public string DeckName { get; set; } = string.Empty; [JsonPropertyName("card_id_array")] [Key("card_id_array")] public List CardIdArray { get; set; } = new(); [JsonPropertyName("is_complete_deck")] [Key("is_complete_deck")] public int IsCompleteDeck { get; set; } = 1; [JsonPropertyName("restricted_card_exists")] [Key("restricted_card_exists")] public bool RestrictedCardExists { get; set; } [JsonPropertyName("is_available_deck")] [Key("is_available_deck")] public int IsAvailableDeck { get; set; } = 1; [JsonPropertyName("maintenance_card_ids")] [Key("maintenance_card_ids")] public List MaintenanceCardIds { get; set; } = new(); [JsonPropertyName("is_include_un_possession_card")] [Key("is_include_un_possession_card")] public bool IsIncludeUnPossessionCard { get; set; } [JsonPropertyName("deck_format")] [Key("deck_format")] public int DeckFormat { get; set; } [JsonPropertyName("is_recommend")] [Key("is_recommend")] public int IsRecommend { get; set; } }