public static GameObject FromJson(Deserializer deserializer) { // var item = new WieldedItem((int)data["damage"]) { Id = id }; var data = deserializer.getData(); var item = new WieldedItem((int)data["damage"]); // SerializeService.Instance.RegisterObject(item); return(item); }
/* * public static GameObject FromJson(JObject data) * { * Guid id = Guid.Parse(data["Id"].ToString()); * Chest chest = (Chest)SerializeService.Instance.LocateObject(id); * * if (chest == null) * { * var (coords, halfsize, origin) = PositionJson.FromJson(data); * JObject item_data = (JObject)((JArray)data["Items"])?[0]; * if (item_data != null) * { * WieldedItem item = (WieldedItem)WieldedItem.FromJson(item_data); * chest = new Chest(coords, halfsize, item) { Id = id }; * } * else * chest = new Chest(coords, halfsize) { Id = id }; * SerializeService.Instance.RegisterObject(chest); * } * return chest; * } */ public static GameObject FromJson(Deserializer deserializer) { var data = deserializer.getData(); var(coords, halfsize, origin) = PositionJson.FromJson(data); JObject item_data = (JObject)((JArray)data["Items"])?[0]; GameObject chest; if (item_data != null) { WieldedItem item = (WieldedItem)deserializer.decodeObject(item_data); chest = new Chest(coords, halfsize, item); } else { chest = new Chest(coords, halfsize); } return(chest); }