From b6568f8d9dffca29b088b3840366ede623c142b4 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Mon, 31 Oct 2016 17:15:27 -0400 Subject: remove unused deserialisation logic per discussion --- src/StardewModdingAPI/JsonResolver.cs | 212 ---------------------------------- 1 file changed, 212 deletions(-) delete mode 100644 src/StardewModdingAPI/JsonResolver.cs (limited to 'src/StardewModdingAPI/JsonResolver.cs') diff --git a/src/StardewModdingAPI/JsonResolver.cs b/src/StardewModdingAPI/JsonResolver.cs deleted file mode 100644 index b6e763f7..00000000 --- a/src/StardewModdingAPI/JsonResolver.cs +++ /dev/null @@ -1,212 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.Xna.Framework; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using Newtonsoft.Json.Serialization; -using StardewModdingAPI.Inheritance; -using Object = StardewValley.Object; - -namespace StardewModdingAPI -{ - internal class JsonResolver : DefaultContractResolver - { - protected override JsonContract CreateContract(Type objectType) - { - if (objectType == typeof(Rectangle) || objectType == typeof(Rectangle?)) - { - Console.WriteLine("FOUND A RECT"); - JsonContract contract = CreateObjectContract(objectType); - contract.Converter = new RectangleConverter(); - return contract; - } - if (objectType == typeof(Object)) - { - Log.AsyncY("FOUND AN OBJECT"); - JsonContract contract = CreateObjectContract(objectType); - contract.Converter = new ObjectConverter(); - return contract; - } - return base.CreateContract(objectType); - } - } - - public class ObjectConverter : JsonConverter - { - public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) - { - Log.AsyncY("TRYING TO WRITE"); - var obj = (Object) value; - Log.AsyncY("TRYING TO WRITE"); - - var jObject = GetObject(obj); - Log.AsyncY("TRYING TO WRITE"); - - try - { - Log.AsyncY(jObject.ToString()); - } - catch (Exception ex) - { - Log.AsyncR(ex); - } - - Console.ReadKey(); - - jObject.WriteTo(writer); - } - - public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) - { - var jObject = JObject.Load(reader); - - return GetObject(jObject); - } - - public override bool CanConvert(Type objectType) - { - throw new NotImplementedException(); - } - - protected static JObject GetObject(Object o) - { - try - { - var parentSheetIndex = o.parentSheetIndex; - var stack = o.stack; - var isRecipe = o.isRecipe; - var price = o.price; - var quality = o.quality; - - var oo = new SBareObject(parentSheetIndex, stack, isRecipe, price, quality); - Log.AsyncG(JsonConvert.SerializeObject(oo)); - return JObject.FromObject(oo); - } - catch (Exception ex) - { - Log.AsyncR(ex); - Console.ReadKey(); - } - return null; - } - - protected static Object GetObject(JObject jObject) - { - var parentSheetIndex = GetTokenValue(jObject, "parentSheetIndex") as int?; - var stack = GetTokenValue(jObject, "parentSheetIndex") as int?; - var isRecipe = GetTokenValue(jObject, "parentSheetIndex") as bool?; - var price = GetTokenValue(jObject, "parentSheetIndex") as int?; - var quality = GetTokenValue(jObject, "parentSheetIndex") as int?; - - return new Object(parentSheetIndex ?? 0, stack ?? 0, isRecipe ?? false, price ?? -1, quality ?? 0); - } - - protected static Object GetObject(JToken jToken) - { - var jObject = JObject.FromObject(jToken); - - return GetObject(jObject); - } - - protected static T GetTokenValue(JObject jObject, string tokenName) where T : class - { - JToken jToken; - jObject.TryGetValue(tokenName, StringComparison.InvariantCultureIgnoreCase, out jToken); - return jToken as T; - } - } - - public class RectangleConverter : JsonConverter - { - public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) - { - var rectangle = (Rectangle) value; - - var jObject = GetObject(rectangle); - - jObject.WriteTo(writer); - } - - public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) - { - Console.WriteLine(reader.ReadAsString()); - var jObject = JObject.Load(reader); - - return GetRectangle(jObject); - } - - public override bool CanConvert(Type objectType) - { - throw new NotImplementedException(); - } - - protected static JObject GetObject(Rectangle rectangle) - { - var x = rectangle.X; - var y = rectangle.Y; - var width = rectangle.Width; - var height = rectangle.Height; - - return JObject.FromObject(new {x, y, width, height}); - } - - protected static Rectangle GetRectangle(JObject jObject) - { - var x = GetTokenValue(jObject, "x") ?? 0; - var y = GetTokenValue(jObject, "y") ?? 0; - var width = GetTokenValue(jObject, "width") ?? 0; - var height = GetTokenValue(jObject, "height") ?? 0; - - return new Rectangle(x, y, width, height); - } - - protected static Rectangle GetRectangle(JToken jToken) - { - var jObject = JObject.FromObject(jToken); - - return GetRectangle(jObject); - } - - protected static int? GetTokenValue(JObject jObject, string tokenName) - { - JToken jToken; - return jObject.TryGetValue(tokenName, StringComparison.InvariantCultureIgnoreCase, out jToken) ? (int) jToken : (int?) null; - } - } - - public class RectangleListConverter : RectangleConverter - { - public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) - { - var rectangleList = (IList) value; - - var jArray = new JArray(); - - foreach (var rectangle in rectangleList) - { - jArray.Add(GetObject(rectangle)); - } - - jArray.WriteTo(writer); - } - - public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) - { - var rectangleList = new List(); - - var jArray = JArray.Load(reader); - - foreach (var jToken in jArray) - { - rectangleList.Add(GetRectangle(jToken)); - } - - return rectangleList; - } - - public override bool CanConvert(Type objectType) - { - throw new NotImplementedException(); - } - } -} \ No newline at end of file -- cgit