using System.Text.Json.Serialization;
using MessagePack;
using SVSim.EmulatedEntrypoint.Models.Dtos.ArenaColosseum;
using SVSim.EmulatedEntrypoint.Models.Dtos.Common.ArenaTwoPick;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.ArenaColosseum;
///
/// POST /arena_colosseum/finish and POST /arena_colosseum/retire. Wire-identical
/// shape per finish.md §"Wire-shared with /retire" — endpoints differ in side-effects only:
/// /finish emits per-round-completion + champion bonus and marks the entry champion;
/// /retire emits the round-capped consolation. The client renders rewards in the
/// post-bracket popup, applies wallet deltas via reward_list, and updates the
/// status block via colosseum_status.
///
[MessagePackObject]
public sealed class FinishResponse
{
[JsonPropertyName("rewards")] [Key("rewards")]
public List Rewards { get; set; } = new();
[JsonPropertyName("reward_list")] [Key("reward_list")]
public List RewardList { get; set; } = new();
[JsonPropertyName("colosseum_status")] [Key("colosseum_status")]
public ColosseumOwnStatus ColosseumStatus { get; set; } = new();
}