using System.Text.Json; using System.Text.Json.Nodes; using System.Text.Json.Serialization; namespace PkmnLib.Dynamic.Libraries.DataLoaders.Models; /// /// A wrapper class for serialized move data. /// public class SerializedMoveDataWrapper { /// /// The name of the move data file. /// public List Data { get; set; } = null!; } /// /// A class representing a serialized move. /// public class SerializedMove { /// public string Name { get; set; } = null!; /// public string Type { get; set; } = null!; /// public byte Power { get; set; } /// public byte PP { get; set; } /// public byte Accuracy { get; set; } /// public sbyte Priority { get; set; } /// public string Target { get; set; } = null!; /// public string Category { get; set; } = null!; /// /// Arbitrary flags that can be applied to the move. /// public string[] Flags { get; set; } = null!; /// public SerializedMoveEffect? Effect { get; set; } /// /// Additional non-standard data that can be added to the move. /// [JsonExtensionData] public Dictionary? ExtensionData { get; set; } } /// /// A class representing a serialized move effect. /// public class SerializedMoveEffect { /// public string Name { get; set; } = null!; /// public float? Chance { get; set; } /// public Dictionary? Parameters { get; set; } = null!; }