Ejemplo n.º 1
0
            public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
            {
                GameMaterial          gmt       = (GameMaterial)value;
                string                hash      = HashUtils.MD5Hash(gmt.ToJSON());
                GameMaterialReference reference = new GameMaterialReference()
                {
                    Hash = hash
                };

                var jt = JToken.FromObject(reference);

                jt.WriteTo(writer);
            }
Ejemplo n.º 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);
                GameMaterialReference reference = obj.ToObject <GameMaterialReference>();

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