Protocol packet types for a "DataPackage" message. Defines APPacket-derived DataPackagePacket containing a DataPackageObject, and supporting types GameDataPackage and the container with version and per-game dictionaries mapping names to ids and a checksum.
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace APLib.Protocol.Packets;
public sealed class DataPackagePacket : APPacket
{
public override string Command => "DataPackage";
[JsonPropertyName( "data" )]
public DataPackageObject Data { get; set; }
}
public sealed class DataPackageObject
{
[JsonPropertyName( "version" )]
public int Version { get; set; }
[JsonPropertyName( "games" )]
public Dictionary<string, GameDataPackage> Games { get; set; }
}
public sealed class GameDataPackage
{
[JsonPropertyName( "checksum" )]
public string Checksum { get; set; }
[JsonPropertyName( "item_name_to_id" )]
public Dictionary<string, long> ItemNameToId { get; set; }
[JsonPropertyName( "location_name_to_id" )]
public Dictionary<string, long> LocationNameToId { get; set; }
}