/// <summary> /// /// </summary> /// <param name="writer"></param> /// <param name="value"></param> /// <param name="serializer"></param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null) { writer.WriteNull(); } else { Type type = value.GetType(); if (type == VectorConverter.V2) { Vector2 vector2 = (Vector2)value; VectorConverter.WriteVector(writer, (float)vector2.x, (float)vector2.y, new float?(), new float?()); } else if (type == VectorConverter.V3) { Vector3 vector3 = (Vector3)value; VectorConverter.WriteVector(writer, (float)vector3.x, (float)vector3.y, new float?((float)vector3.z), new float?()); } else if (type == VectorConverter.V4) { Vector4 vector4 = (Vector4)value; VectorConverter.WriteVector(writer, (float)vector4.x, (float)vector4.y, new float?((float)vector4.z), new float?((float)vector4.w)); } else { writer.WriteNull(); } } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { float?nullable; if (value == null) { writer.WriteNull(); return; } Type type = value.GetType(); if (type == VectorConverter.V2) { Vector2 vector2 = (Vector2)value; nullable = null; float?nullable1 = nullable; nullable = null; VectorConverter.WriteVector(writer, vector2.x, vector2.y, nullable1, nullable); return; } if (type == VectorConverter.V3) { Vector3 vector3 = (Vector3)value; nullable = null; VectorConverter.WriteVector(writer, vector3.x, vector3.y, new float?(vector3.z), nullable); return; } if (type != VectorConverter.V4) { writer.WriteNull(); return; } Vector4 vector4 = (Vector4)value; VectorConverter.WriteVector(writer, vector4.x, vector4.y, new float?(vector4.z), new float?(vector4.w)); }