using MessagePack; using SVSim.EmulatedEntrypoint.Models.Dtos.Common; using System.Text.Json.Serialization; namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.Practice; [MessagePackObject] public class PracticeFinishResponse { /// Class XP gained this match. [JsonPropertyName("get_class_experience")] [Key("get_class_experience")] public int GetClassExperience { get; set; } /// Total accumulated class XP for the played class after this match. [JsonPropertyName("class_experience")] [Key("class_experience")] public int ClassExperience { get; set; } /// Class level after this match (post-promotion if XP rolled over). [JsonPropertyName("class_level")] [Key("class_level")] public int ClassLevel { get; set; } = 1; /// /// Missions / achievements / rewards rollup. Empty dict means "nothing accumulated" /// (spec: parser tolerates empty object). /// [JsonPropertyName("achieved_info")] [Key("achieved_info")] public Dictionary AchievedInfo { get; set; } = new(); /// Standard reward grants applied to user's inventory. Empty by default. [JsonPropertyName("reward_list")] [Key("reward_list")] public List RewardList { get; set; } = new(); }