using Newtonsoft.Json; using System; using UnityEngine; namespace Assets.StreetLight.Serialization { public class QuaternionConverter : JsonConverter { public override bool CanConvert(Type objectType) { return objectType == typeof(Quaternion); } public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { return new Quaternion(); } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var vector = (Quaternion)value; var text = $"({vector.x}|{vector.y}|{vector.z}|{vector.w})"; writer.WriteValue(text); } } }