using System.Text.Json.Serialization; using MessagePack; using SVSim.EmulatedEntrypoint.Models.Dtos.ArenaColosseum; namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.ArenaColosseum; /// /// POST /arena_colosseum/event_info. The 3-round Colosseum bracket descriptor — note /// the rounds are STRING-keyed ("1", "2", "3"), NOT an array. The /// client iterates for (i = 1; i <= 3; i++) jsonData[i.ToString()]. Using three /// explicit [JsonPropertyName("1"|"2"|"3")] properties is simpler than a custom STJ /// converter and round-trips cleanly through MessagePack via matching [Key("1"|...)]. /// [MessagePackObject] public class EventInfoResponse { [JsonPropertyName("colosseum_info")] [Key("colosseum_info")] public ColosseumEventInfo ColosseumInfo { get; set; } = new(); [JsonPropertyName("1")] [Key("1")] public ColosseumRoundDetail Round1 { get; set; } = new(); [JsonPropertyName("2")] [Key("2")] public ColosseumRoundDetail Round2 { get; set; } = new(); [JsonPropertyName("3")] [Key("3")] public ColosseumRoundDetail Round3 { get; set; } = new(); [JsonPropertyName("colosseum_status")] [Key("colosseum_status")] public ColosseumOwnStatus ColosseumStatus { get; set; } = new(); }