40 lines
1.5 KiB
C#
40 lines
1.5 KiB
C#
using System.Text.Json.Serialization;
|
|
using MessagePack;
|
|
|
|
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.ArenaColosseum;
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
[MessagePackObject]
|
|
public class GetFeeInfoResponseDto
|
|
{
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
[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
|
|
{
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
[JsonPropertyName("is_colosseum_period")] [Key("is_colosseum_period")]
|
|
public bool IsColosseumPeriod { get; set; } = false;
|
|
}
|