No Description
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.

TilePaletteClipboardFirstUserElement.cs 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using UnityEngine;
  2. using UnityEngine.UIElements;
  3. namespace UnityEditor.Tilemaps
  4. {
  5. [UxmlElement]
  6. public partial class TilePaletteClipboardFirstUserElement : VisualElement
  7. {
  8. private static readonly string ussClassName = "unity-tilepalette-clipboard-firstuser-element";
  9. private static readonly string k_Name = L10n.Tr("Tile Palette Clipboard First User Element");
  10. static class Styles
  11. {
  12. public static readonly string emptyProjectTopInfo = L10n.Tr("Drag Tile, Sprite, Texture (Sprite type) asset/s here to");
  13. public static readonly string emptyProjectLeftInfo = L10n.Tr("create a new ");
  14. public static readonly string emptyProjectRightInfo = L10n.Tr(" Tile Palette");
  15. public static readonly string whiteboxDropdownInfo = L10n.Tr("Create a new Whitebox Tile Palette");
  16. public static readonly string whiteboxAlternateInfo = L10n.Tr("Alternatively, get started quickly with a Whitebox Tile Palette");
  17. public static readonly string whiteboxButtonInfo = L10n.Tr("Create");
  18. }
  19. [SerializeField]
  20. private GridPaletteUtility.GridPaletteType m_FirstUserPaletteType = GridPaletteUtility.GridPaletteType.Rectangle;
  21. public TilePaletteClipboardFirstUserElement()
  22. {
  23. AddToClassList(ussClassName);
  24. name = k_Name;
  25. TilePaletteOverlayUtility.SetStyleSheet(this);
  26. var ve = new VisualElement();
  27. ve.style.flexDirection = FlexDirection.Column;
  28. ve.style.alignItems = Align.Center;
  29. var he1 = new Label();
  30. he1.style.flexDirection = FlexDirection.Row;
  31. he1.text = Styles.emptyProjectTopInfo;
  32. var he2 = new VisualElement();
  33. he2.style.flexDirection = FlexDirection.Row;
  34. var left = new Label();
  35. left.text = Styles.emptyProjectLeftInfo;
  36. var enumField = new EnumField(m_FirstUserPaletteType);
  37. enumField.RegisterCallback<ChangeEvent<GridPaletteUtility.GridPaletteType>>(OnFirstUserPaletteTypeChanged);
  38. var right = new Label();
  39. right.text = Styles.emptyProjectRightInfo;
  40. he2.Add(left);
  41. he2.Add(enumField);
  42. he2.Add(right);
  43. ve.Add(he1);
  44. ve.Add(he2);
  45. Add(ve);
  46. }
  47. private void OnFirstUserPaletteTypeChanged(ChangeEvent<GridPaletteUtility.GridPaletteType> evt)
  48. {
  49. m_FirstUserPaletteType = evt.newValue;
  50. }
  51. }
  52. }