暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

SpriteLibraryData.cs 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using System;
  2. using System.Collections.Generic;
  3. using UnityEngine.Serialization;
  4. namespace UnityEngine.U2D.Animation
  5. {
  6. [Serializable]
  7. internal class SpriteCategoryEntryOverride : SpriteCategoryEntry
  8. {
  9. [SerializeField]
  10. bool m_FromMain;
  11. [SerializeField]
  12. Sprite m_SpriteOverride;
  13. public bool fromMain
  14. {
  15. get => m_FromMain;
  16. set => m_FromMain = value;
  17. }
  18. public Sprite spriteOverride
  19. {
  20. get => m_SpriteOverride;
  21. set => m_SpriteOverride = value;
  22. }
  23. }
  24. [Serializable]
  25. internal class SpriteLibCategoryOverride : SpriteLibCategory
  26. {
  27. [SerializeField]
  28. private List<SpriteCategoryEntryOverride> m_OverrideEntries;
  29. [SerializeField]
  30. bool m_FromMain;
  31. [SerializeField]
  32. int m_EntryOverrideCount;
  33. public bool fromMain
  34. {
  35. get => m_FromMain;
  36. set => m_FromMain = value;
  37. }
  38. public int entryOverrideCount
  39. {
  40. get => m_EntryOverrideCount;
  41. set => m_EntryOverrideCount = value;
  42. }
  43. public List<SpriteCategoryEntryOverride> overrideEntries
  44. {
  45. get { return m_OverrideEntries; }
  46. set { m_OverrideEntries = value; }
  47. }
  48. public void UpdateOverrideCount()
  49. {
  50. // Count only 'new' labels in given category. If it's not from main, then count all categories.
  51. var overrideCount = 0;
  52. if (fromMain)
  53. {
  54. foreach (var label in overrideEntries)
  55. {
  56. if (!label.fromMain || label.sprite != label.spriteOverride)
  57. overrideCount++;
  58. }
  59. }
  60. else
  61. {
  62. overrideCount = overrideEntries?.Count ?? 0;
  63. }
  64. entryOverrideCount = overrideCount;
  65. }
  66. public void RenameDuplicateOverrideEntries()
  67. {
  68. if(overrideEntries != null)
  69. SpriteLibraryAsset.RenameDuplicate(overrideEntries, (_, _) => { });
  70. }
  71. }
  72. }