Beispiel #1
0
        public void TileSetTypeSerialization()
        {
            var phsv1 = ProceduralHSVTileSet.Default();
            var bmts2 = ChoppedBitmapTileSet.Default();

            Assert.AreEqual("ProceduralHSVTileSet", TileSet.DetermineType(phsv1.Serialize()));
            Assert.AreEqual("ChoppedBitmapTileSet", TileSet.DetermineType(bmts2.Serialize()));
        }
Beispiel #2
0
        public void ChoppedBitmapTileSetDeserialization()
        {
            var bmp_string1 = @"{ ""bitmap_fname"":""a.png"",""twidth"":251,""theight"":551,""packname"":""somepack""}";
            var bmp_string2 = @"{ ""bitmap_fname"":""b.png"",""twidth"":17,""theight"":18,""packname"":""hello_some_pack""}";

            var bmts1 = ChoppedBitmapTileSet.DeSerialize(bmp_string1);
            var bmts2 = ChoppedBitmapTileSet.DeSerialize(bmp_string2);

            Assert.AreEqual(bmts1.bitmap_fname, "a.png");
            Assert.AreEqual(bmts1.twidth, 251);
            Assert.AreEqual(bmts2.theight, 18);
            Assert.AreEqual(bmts2.packname, "hello_some_pack");
        }
Beispiel #3
0
        public void ChoppedBitmapTileSetFromScratch()
        {
            var bmts1 = new ChoppedBitmapTileSet("stars.png", "stars_pack", 250, 550);
            var bmts2 = ChoppedBitmapTileSet.Default();

            var serialized1 = bmts1.Serialize();
            var serialized2 = bmts2.Serialize();


            Console.Write(serialized1);
            Console.Write(serialized2);

            StringAssert.Contains(@"""twidth"": 250", serialized1);
            StringAssert.Contains(@"""bitmap_fname"": ""stars.png""", serialized1);
            StringAssert.Contains(@"""packname"": ""stars_pack""", serialized1);
            StringAssert.Contains(@"""theight"": 550", serialized1);

            StringAssert.Contains(@"""twidth"":", serialized2);
            StringAssert.Contains(@"""bitmap_fname"": """, serialized2);
            StringAssert.Contains(@"""packname"": """, serialized2);
            StringAssert.Contains(@"""theight"":", serialized2);
        }
        /// <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));
            }
        }