neon-sprawl/server/NeonSprawl.Server/Game/Mastery/MasteryFixtureDtos.cs

32 lines
1.0 KiB
C#

using System.Text.Json.Serialization;
namespace NeonSprawl.Server.Game.Mastery;
/// <summary>POST body for <c>POST /game/players/{{id}}/__dev/mastery-fixture</c> (NEO-48 Bruno/manual QA).</summary>
public sealed class MasteryFixtureRequest
{
public const int CurrentSchemaVersion = 1;
[JsonPropertyName("schemaVersion")]
public int SchemaVersion { get; init; }
/// <summary>When true, clears all branch picks and unlocked perks for the player.</summary>
[JsonPropertyName("resetPerkState")]
public bool ResetPerkState { get; init; }
/// <summary>Absolute XP totals to set per <c>skillId</c> (omitted skills unchanged).</summary>
[JsonPropertyName("skillXp")]
public Dictionary<string, int>? SkillXp { get; init; }
}
public sealed class MasteryFixtureResponse
{
public const int CurrentSchemaVersion = 1;
[JsonPropertyName("schemaVersion")]
public int SchemaVersion { get; init; } = CurrentSchemaVersion;
[JsonPropertyName("applied")]
public bool Applied { get; init; }
}