public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { JObject jobject = JObject.Load(reader); string type = jobject["type"].ToString(); if (type == "box") { return(AlloClient.Deserialize <Component.BoxCollider>(jobject.ToString())); } Debug.Assert(false); return(null); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { JObject jobject = JObject.Load(reader); string geometryType = jobject["type"].ToString(); if (geometryType == "inline") { return(AlloClient.Deserialize <Component.InlineGeometry>(jobject.ToString())); } else if (geometryType == "asset") { return(AlloClient.Deserialize <Component.AssetGeometry>(jobject.ToString())); } else if (geometryType == "hardcoded-model") { return(AlloClient.Deserialize <Component.HardcodedGeometry>(jobject.ToString())); } Debug.Assert(false); return(null); }