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();
}