using System.Collections.Generic; using System.Linq; using Assets.HeroEditor4D.Common.Scripts.Data; using UnityEngine; namespace Assets.HeroEditor4D.Common.Scripts.Collections { /// /// Collects sprites from specified path. /// [CreateAssetMenu(fileName = "SpriteCollection", menuName = "HeroEditor4D/SpriteCollection")] public class SpriteCollection : ScriptableObject { public string Id; [Header("Where to find sprites?")] public List SpriteFolders; public List CollectionFilter; public List CollectionFilterIgnore; [Header("Body Parts")] public List Body; public List Ears; public List Hair; public List Beard; public List Eyebrows; public List Eyes; public List Mouth; [Header("Equipment")] public List Armor; public List Cape; public List Backpack; public List MeleeWeapon1H; public List MeleeWeapon2H; public List Bow; public List Crossbow; public List Firearm1H; public List Firearm2H; public List Shield; public List Throwable; public List Supplies; [Header("Accessories")] public List Makeup; public List Mask; public List Earrings; [Header("Service")] public bool IncludePsd; public bool DebugLogging; public List GetAllSprites() { return Body.Union(Ears).Union(Hair).Union(Beard).Union(Eyebrows).Union(Eyes).Union(Mouth) .Union(Armor).Union(Cape).Union(Backpack).Union(MeleeWeapon1H).Union(MeleeWeapon2H) .Union(Bow).Union(Crossbow).Union(Firearm1H).Union(Firearm2H).Union(Shield).Union(Throwable).Union(Supplies) .Union(Makeup).Union(Mask).Union(Earrings).ToList(); } } }