private void AddLayerOrDefault(LayeredSprites.LayerStack stack, Random Random, String Layer, CreatureStats stats, LayeredSprites.Palette Palette = null) { var layers = LayeredSprites.LayerLibrary.EnumerateLayers(Layer).Where(l => !l.DefaultLayer && l.PassesFilter(stats)); if (layers.Count() > 0) { stack.AddLayer(layers.SelectRandom(Random), Palette); } else { var defaultLayer = LayeredSprites.LayerLibrary.EnumerateLayers(Layer).Where(l => l.DefaultLayer).FirstOrDefault(); if (defaultLayer != null) { stack.AddLayer(defaultLayer, Palette); } } }
private void AddLayerOrDefault(LayeredSprites.LayerStack stack, Random Random, String Layer, CreatureStats stats, LayeredSprites.Palette Palette = null) { var layers = LayeredSprites.LayerLibrary.EnumerateLayers(Layer).Where(l => !l.DefaultLayer && l.PassesFilter(stats)); if (layers.Count() > 0) { var newLayer = layers.SelectRandom(Random); stack.AddLayer(newLayer, Palette); // Do not allow hats and hair on the same head. if (newLayer.Asset != "Entities/Dwarf/Layers/blank" && Layer == "hat") { stack.RemoveLayer("hair"); } } else { var defaultLayer = LayeredSprites.LayerLibrary.EnumerateLayers(Layer).Where(l => l.DefaultLayer).FirstOrDefault(); if (defaultLayer != null) { stack.AddLayer(defaultLayer, Palette); } } }
public void AddLayer(Layer Layer, Palette Palette) { Layers.AddLayer(Layer, Palette); }