Protocol/APPacket.cs

Base packet class for the APLib.Protocol namespace used for JSON deserialization. It defines a Command property serialized as "cmd" and expects derived packet types to override it.

using System.Text.Json.Serialization;

namespace APLib.Protocol;

// Can't be abstract because of deserialization
public class APPacket
{
	// Make sure to override this in your packet!!!
	[JsonPropertyName( "cmd" )]
	public virtual string Command { get; private set; }
}