public void ProceduralHSVDeserialization() { String hsv_string = @"{""twidth"":333,""theight"":300,""hues"":[0.9, 0.99],""saturation"":0.55,""luminosity"":0.123,""packname"":""from_hsv_string""}"; var hsv = ProceduralHSVTileSet.DeSerialize(hsv_string); Assert.AreEqual(hsv.twidth, 333); Assert.AreEqual(hsv.theight, 300); Assert.AreEqual(hsv.hues[1], 0.99f); Assert.AreEqual(hsv.saturation, 0.55f); Assert.AreEqual(hsv.luminosity, 0.123f); Assert.AreEqual(hsv.packname, "from_hsv_string"); }
/// <summary> /// Initialize/Construct a TileSetRepo via de-serialization from json. /// </summary> /// <returns>A de-serialized instance.</returns> /// <param name="serialized">JSon representation of Serialized object.</param> public static TileSetRepo DeSerialize(String serialized) { var tsr = new TileSetRepo(); JsonConvert.PopulateObject(serialized, tsr); foreach (Dictionary <String, String> tset_data in tsr.serialized_tsets) { String tset_type = tset_data["tset_type"]; String tset_serialized = tset_data["tset_serialized"]; if (tset_type == "ProceduralHSVTileSet") { tsr.AddTileSet(ProceduralHSVTileSet.DeSerialize(tset_serialized)); } System.Console.WriteLine(String.Format("type {0}, ser {1}", tset_type, tset_serialized)); } return(tsr); }
/// <summary> /// Loads the tset file. /// </summary> /// <param name="abspath">Abspath.</param> /// <param name="population">Population.</param> private static void LoadTsetFile(String abspath, List <ITileSet> population) { var jsonstr = System.IO.File.ReadAllText(abspath); var tileset_type = TileSetTypes.TileSet.DetermineType(jsonstr); switch (tileset_type) { case "ProceduralHSVTileSet": population.Add(ProceduralHSVTileSet.DeSerialize(jsonstr)); break; case "ChoppedBitmapTileSet": var tileset = ChoppedBitmapTileSet.DeSerialize(jsonstr); var origin = Path.GetDirectoryName(abspath); System.Console.WriteLine("Setting tileset '{0} 'origin to '{1}'", tileset.PackName(), origin); tileset.SetOriginPath(origin); population.Add(tileset); break; default: throw new JsonException(String.Format("Could not determine tileset type from file {0}", abspath)); } }