SpriteCollection.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using Assets.HeroEditor4D.Common.Scripts.Data;
  4. using UnityEngine;
  5. namespace Assets.HeroEditor4D.Common.Scripts.Collections
  6. {
  7. /// <summary>
  8. /// Collects sprites from specified path.
  9. /// </summary>
  10. [CreateAssetMenu(fileName = "SpriteCollection", menuName = "HeroEditor4D/SpriteCollection")]
  11. public class SpriteCollection : ScriptableObject
  12. {
  13. public string Id;
  14. [Header("Where to find sprites?")]
  15. public List<Object> SpriteFolders;
  16. public List<string> CollectionFilter;
  17. public List<string> CollectionFilterIgnore;
  18. [Header("Body Parts")]
  19. public List<ItemSprite> Body;
  20. public List<ItemSprite> Ears;
  21. public List<ItemSprite> Hair;
  22. public List<ItemSprite> Beard;
  23. public List<ItemSprite> Eyebrows;
  24. public List<ItemSprite> Eyes;
  25. public List<ItemSprite> Mouth;
  26. [Header("Equipment")]
  27. public List<ItemSprite> Armor;
  28. public List<ItemSprite> Cape;
  29. public List<ItemSprite> Backpack;
  30. public List<ItemSprite> MeleeWeapon1H;
  31. public List<ItemSprite> MeleeWeapon2H;
  32. public List<ItemSprite> Bow;
  33. public List<ItemSprite> Crossbow;
  34. public List<ItemSprite> Firearm1H;
  35. public List<ItemSprite> Firearm2H;
  36. public List<ItemSprite> Shield;
  37. public List<ItemSprite> Throwable;
  38. public List<ItemSprite> Supplies;
  39. [Header("Accessories")]
  40. public List<ItemSprite> Makeup;
  41. public List<ItemSprite> Mask;
  42. public List<ItemSprite> Earrings;
  43. [Header("Service")]
  44. public bool IncludePsd;
  45. public bool DebugLogging;
  46. public List<ItemSprite> GetAllSprites()
  47. {
  48. return Body.Union(Ears).Union(Hair).Union(Beard).Union(Eyebrows).Union(Eyes).Union(Mouth)
  49. .Union(Armor).Union(Cape).Union(Backpack).Union(MeleeWeapon1H).Union(MeleeWeapon2H)
  50. .Union(Bow).Union(Crossbow).Union(Firearm1H).Union(Firearm2H).Union(Shield).Union(Throwable).Union(Supplies)
  51. .Union(Makeup).Union(Mask).Union(Earrings).ToList();
  52. }
  53. }
  54. }