using System.Text.Json.Serialization; using MessagePack; namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.ArenaColosseum; /// /// Minimum-viable stub for /arena_colosseum/get_fee_info — emits is_colosseum_period:false /// so the client (Wizard/ColosseumEntryInfoTask.cs:99) skips the rest of the parse and the /// home/arena screen renders without 404ing. TODO: implement the full Colosseum entry flow /// when the Colosseum format is brought online. /// [MessagePackObject] public class GetFeeInfoResponseDto { /// /// Per-viewer Colosseum entry status (rest_entry_num, now_round_id, is_last_day, etc.). /// Empty object — client (ColosseumEntryInfoTask.cs:146) guards with `if (status.Count != 0)`, /// so an empty dict short-circuits cleanly. /// [JsonPropertyName("colosseum_status")] [Key("colosseum_status")] public ColosseumStatusDto ColosseumStatus { get; set; } = new(); [JsonPropertyName("colosseum_info")] [Key("colosseum_info")] public ColosseumInfoDto ColosseumInfo { get; set; } = new(); } [MessagePackObject] public class ColosseumStatusDto { } [MessagePackObject] public class ColosseumInfoDto { /// /// false = no Colosseum event running. Client (ColosseumEntryInfoTask.cs:100) gates every /// other field on this — emitting false is what lets us ship an otherwise-empty info block. /// [JsonPropertyName("is_colosseum_period")] [Key("is_colosseum_period")] public bool IsColosseumPeriod { get; set; } = false; }