Geen omschrijving
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

RuntimeSwap.cs 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using UnityEngine;
  3. using UnityEngine.U2D.Animation;
  4. using UnityEngine.UI;
  5. namespace Unity.U2D.Animation.Sample
  6. {
  7. public class RuntimeSwap : MonoBehaviour
  8. {
  9. [Serializable]
  10. class SwapEntry
  11. {
  12. public Sprite sprite = null;
  13. public string category = "";
  14. public string entry = "";
  15. }
  16. [Serializable]
  17. class SwapGroup
  18. {
  19. public SwapEntry[] swapEntries = null;
  20. }
  21. [SerializeField]
  22. private SwapGroup[] m_SwapGroup = null;
  23. [SerializeField]
  24. private SpriteLibrary m_SpriteLibraryTarget = null;
  25. public void OverrideEntry(int i)
  26. {
  27. if (m_SwapGroup == null || m_SwapGroup.Length < i)
  28. return;
  29. foreach (var entry in m_SwapGroup[i].swapEntries)
  30. {
  31. m_SpriteLibraryTarget.AddOverride(entry.sprite, entry.category, entry.entry);
  32. }
  33. }
  34. public void ResetEntry(int i)
  35. {
  36. if (m_SwapGroup == null || m_SwapGroup.Length < i)
  37. return;
  38. foreach (var entry in m_SwapGroup[i].swapEntries)
  39. {
  40. m_SpriteLibraryTarget.RemoveOverride(entry.category, entry.entry);
  41. }
  42. }
  43. }
  44. }