Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

SpriteSkinContainer.cs 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. using System.Collections.Generic;
  3. namespace UnityEngine.U2D.Animation
  4. {
  5. internal class SpriteSkinContainer : ScriptableObject
  6. {
  7. public static event Action<SpriteSkin> onAddedSpriteSkin;
  8. public static event Action<SpriteSkin> onRemovedSpriteSkin;
  9. public static event Action<SpriteSkin> onBoneTransformChanged;
  10. static SpriteSkinContainer s_Instance;
  11. public static SpriteSkinContainer instance
  12. {
  13. get
  14. {
  15. if (s_Instance == null)
  16. {
  17. var managers = Resources.FindObjectsOfTypeAll<SpriteSkinContainer>();
  18. if (managers.Length > 0)
  19. s_Instance = managers[0];
  20. else
  21. s_Instance = CreateInstance<SpriteSkinContainer>();
  22. s_Instance.hideFlags = HideFlags.HideAndDontSave;
  23. }
  24. return s_Instance;
  25. }
  26. }
  27. List<SpriteSkin> m_SpriteSkin = new List<SpriteSkin>();
  28. public IReadOnlyList<SpriteSkin> spriteSkins => m_SpriteSkin;
  29. public void AddSpriteSkin(SpriteSkin spriteSkin)
  30. {
  31. m_SpriteSkin.Add(spriteSkin);
  32. onAddedSpriteSkin?.Invoke(spriteSkin);
  33. }
  34. public void RemoveSpriteSkin(SpriteSkin spriteSkin)
  35. {
  36. m_SpriteSkin.Remove(spriteSkin);
  37. onRemovedSpriteSkin?.Invoke(spriteSkin);
  38. }
  39. public void BoneTransformsChanged(SpriteSkin spriteSkin)
  40. {
  41. onBoneTransformChanged?.Invoke(spriteSkin);
  42. }
  43. }
  44. }