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)); }
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); } } }
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); }
public TilesetProperty(string name, TilesetLayer layer, string description) : base(name, GetTilesets(layer)[0], description) { Layer = layer; }