Ejemplo n.º 1
0
        public void TilesetDataTest()
        {
            var input = new TilesetLayer
            {
                FlavorDensity  = 128,
                HasTransitions = true,
                FlavorObjects  = new[] {
                    new FlavorObjectData {
                        Resource = new ResourceRef("res1", 1), Weight = 1
                    },
                    new FlavorObjectData {
                        Resource = new ResourceRef("res2", 2), Weight = 2
                    },
                    new FlavorObjectData {
                        Resource = new ResourceRef("res3", 3), Weight = 3
                    },
                }
            };

            var serializer = new TilesetLayerHandler();
            var output     = (TilesetLayer)serializer.Reserialize(input);

            Assert.That(output.FlavorDensity, Is.EqualTo(input.FlavorDensity));
            Assert.That(output.HasTransitions, Is.EqualTo(input.HasTransitions));
            Assert.That(output.FlavorObjects, Is.EquivalentTo(input.FlavorObjects));
        }
Ejemplo n.º 2
0
        public Tileset(TilesetLayer data)
        {
            hasTransitions = data.HasTransitions;
            flavorDensity  = data.FlavorDensity;
            groundTiles    = new WeightList <Drawable>();
            flavorObjects  = new WeightList <ISprite>();

            if (hasTransitions)
            {
                crossTransitions  = new WeightList <Drawable> [15];
                borderTransitions = new WeightList <Drawable> [15];
                for (int i = 0; i < 15; i++)
                {
                    crossTransitions[i]  = new WeightList <Drawable>();
                    borderTransitions[i] = new WeightList <Drawable>();
                }
            }

            if (data.FlavorObjects != null)
            {
                foreach (var flavor in data.FlavorObjects)
                {
                    var sprite = App.Resources.GetSprite(flavor.ResName);
                    flavorObjects.Add(sprite, flavor.Weight);
                }
            }
        }
Ejemplo n.º 3
0
        private static OrderedDictionary GetTilesets(TilesetLayer layer)
        {
            OrderedDictionary dict = new OrderedDictionary();
            var tilesets           = layer == TilesetLayer.BG ? MapEditor.Instance.BGAutotiler.GetTilesetList() : MapEditor.Instance.FGAutotiler.GetTilesetList();

            foreach (var tileset in tilesets)
            {
                dict.Add(tileset.ID, MiscHelper.CleanCamelCase(tileset.Path));
            }
            return(dict);
        }
Ejemplo n.º 4
0
 public TilesetProperty(string name, TilesetLayer layer, string description) : base(name, GetTilesets(layer)[0], description)
 {
     Layer = layer;
 }