/// <summary>
/// Reads the json.
/// </summary>
/// <param name="reader">The reader.</param>
/// <param name="objectType">Type of the object.</param>
/// <param name="existingValue">The existing value.</param>
/// <param name="serializer">The serializer.</param>
/// <returns>The object instance.</returns>
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
int? r = reader.ReadAsInt32();
int? g = reader.ReadAsInt32();
int? b = reader.ReadAsInt32();
int? a = reader.ReadAsInt32();
if (reader.Read() && r.HasValue && g.HasValue && b.HasValue && a.HasValue)
{
return new Color { R = (byte)r.Value, G = (byte)g.Value, B = (byte)b.Value, A = (byte)a.Value };
}
return existingValue;
}