public void Write(TileCollection TileCollection, Stream stream)
        {
            TileCollectionJson json = new TileCollectionJson(TileCollection);

            JsonSerializer serializer = new JsonSerializer();

            serializer.Formatting        = Formatting.Indented;
            serializer.NullValueHandling = NullValueHandling.Ignore;
            using (StreamWriter streamWriter = new StreamWriter(stream))
                using (JsonWriter jsonWriter = new JsonTextWriter(streamWriter))
                {
                    serializer.Serialize(jsonWriter, json);
                }
        }
        public TileCollection Read(string path)
        {
            TileCollectionJson json = JsonConvert.DeserializeObject <TileCollectionJson>(File.ReadAllText(path));

            return(json.Generate(this.layer, this.tilesets));
        }