示例#1
0
        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);
        }
示例#2
0
        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);
        }