12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using System;
- using System.Collections.Generic;
- using UnityEngine.Serialization;
-
- namespace UnityEngine.U2D.Animation
- {
- [Serializable]
- internal class SpriteCategoryEntryOverride : SpriteCategoryEntry
- {
- [SerializeField]
- bool m_FromMain;
- [SerializeField]
- Sprite m_SpriteOverride;
-
- public bool fromMain
- {
- get => m_FromMain;
- set => m_FromMain = value;
- }
-
- public Sprite spriteOverride
- {
- get => m_SpriteOverride;
- set => m_SpriteOverride = value;
- }
- }
-
- [Serializable]
- internal class SpriteLibCategoryOverride : SpriteLibCategory
- {
- [SerializeField]
- private List<SpriteCategoryEntryOverride> m_OverrideEntries;
- [SerializeField]
- bool m_FromMain;
- [SerializeField]
- int m_EntryOverrideCount;
-
- public bool fromMain
- {
- get => m_FromMain;
- set => m_FromMain = value;
- }
-
- public int entryOverrideCount
- {
- get => m_EntryOverrideCount;
- set => m_EntryOverrideCount = value;
- }
-
- public List<SpriteCategoryEntryOverride> overrideEntries
- {
- get { return m_OverrideEntries; }
- set { m_OverrideEntries = value; }
- }
-
- public void UpdateOverrideCount()
- {
- // Count only 'new' labels in given category. If it's not from main, then count all categories.
- var overrideCount = 0;
- if (fromMain)
- {
- foreach (var label in overrideEntries)
- {
- if (!label.fromMain || label.sprite != label.spriteOverride)
- overrideCount++;
- }
- }
- else
- {
- overrideCount = overrideEntries?.Count ?? 0;
- }
-
- entryOverrideCount = overrideCount;
- }
-
- public void RenameDuplicateOverrideEntries()
- {
- if(overrideEntries != null)
- SpriteLibraryAsset.RenameDuplicate(overrideEntries, (_, _) => { });
- }
- }
- }
|