Bez popisu
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.

SwapPart.cs 1.4KB

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