コード例 #1
0
            public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
            {
                VisualMaterial          vmt       = (VisualMaterial)value;
                string                  hash      = HashUtils.MD5Hash(vmt.ToJSON());
                VisualMaterialReference reference = new VisualMaterialReference()
                {
                    Hash = hash
                };

                var jt = JToken.FromObject(reference);

                jt.WriteTo(writer);
            }
コード例 #2
0
            public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
            {
                if (reader.TokenType == JsonToken.Null)
                {
                    return(null);
                }
                JObject obj = JObject.Load(reader);
                VisualMaterialReference reference = obj.ToObject <VisualMaterialReference>();

                if (reference == null || reference.Hash == null)
                {
                    return(null);
                }
                return(VisualMaterial.FromHash(reference.Hash));
            }