Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

SwapPart.cs 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using UnityEngine;
  5. using UnityEngine.U2D.Animation;
  6. #if UGUI_ENABLED
  7. using UnityEngine.UI;
  8. #endif
  9. namespace Unity.U2D.Animation.Sample
  10. {
  11. [Serializable]
  12. internal struct SwapOptionData
  13. {
  14. #if UGUI_ENABLED
  15. public Dropdown dropdown;
  16. #endif
  17. public SpriteResolver spriteResolver;
  18. public string category;
  19. }
  20. internal class SwapPart : MonoBehaviour
  21. {
  22. public SpriteLibrary spriteLibrary;
  23. public SwapOptionData[] swapOptionData;
  24. void Start()
  25. {
  26. #if UGUI_ENABLED
  27. foreach (var swapOption in swapOptionData)
  28. {
  29. swapOption.dropdown.ClearOptions();
  30. var libraryAsset = spriteLibrary.spriteLibraryAsset;
  31. var labels = libraryAsset.GetCategoryLabelNames(swapOption.category);
  32. var dropDownOption = new List<Dropdown.OptionData>(labels.Count());
  33. foreach (var label in labels)
  34. {
  35. dropDownOption.Add(new Dropdown.OptionData(label));
  36. }
  37. swapOption.dropdown.options = dropDownOption;
  38. swapOption.dropdown.onValueChanged.AddListener((x)=>
  39. {
  40. swapOption.spriteResolver.SetCategoryAndLabel(swapOption.category, swapOption.dropdown.options[x].text);
  41. });
  42. }
  43. #endif
  44. }
  45. }
  46. }