using System; using System.Collections.Generic; using UnityEditor.U2D; using UnityEditor.UIElements; using UnityEngine; using UnityEngine.U2D; using UnityEngine.UIElements; namespace UnityEditor.Tilemaps { internal class TileSetImporterElement : VisualElement { public Action onRevert; public Action onApply; private SerializedObject asset; private SerializedObject importer; private ListView listView; private PropertyField cellLayoutField; private PropertyField hexagonLayoutField; private PropertyField cellSizingField; private PropertyField cellSizeField; private PropertyField cellGapField; private PropertyField sortAxisField; private PropertyField sortModeField; private PropertyField createAtlasField; private VisualElement spriteAtlasEditorRoot; private VisualElement applyRevertHe; private VisualElement tracker; private SpriteAtlas spriteAtlas; private Editor spriteAtlasEditor; public TileSetImporterElement(SerializedObject inImporter) { importer = inImporter; var openTilePaletteButton = new Button(OpenTilePaletteWindow); openTilePaletteButton.text = "Open Tile Palette Window"; Add(openTilePaletteButton); var gridFoldout = new Foldout(); gridFoldout.Bind(importer); gridFoldout.bindingPath = "paletteGridFoldout"; gridFoldout.text = "Palette Grid"; cellLayoutField = new PropertyField() { bindingPath = "m_CellLayout" }; hexagonLayoutField = new PropertyField { bindingPath = "m_HexagonLayout" }; cellSizeField = new PropertyField { bindingPath = "m_CellSize" }; cellGapField = new PropertyField { bindingPath = "m_CellGap" }; cellSizingField = new PropertyField { bindingPath = "m_CellSizing" }; sortModeField = new PropertyField { bindingPath = "m_TransparencySortMode" }; sortAxisField = new PropertyField { bindingPath = "m_TransparencySortAxis" }; gridFoldout.Add(cellLayoutField); gridFoldout.Add(hexagonLayoutField); gridFoldout.Add(cellSizingField); gridFoldout.Add(cellSizeField); gridFoldout.Add(cellGapField); gridFoldout.Add(sortModeField); gridFoldout.Add(sortAxisField); listView = new ListView() { bindingPath = "m_TextureSources" , showAddRemoveFooter = true , showBorder = true , showAlternatingRowBackgrounds = AlternatingRowBackground.ContentOnly , showBoundCollectionSize = false , showFoldoutHeader = true , reorderable = true , reorderMode = ListViewReorderMode.Animated , horizontalScrollingEnabled = false , headerTitle = "Texture Sources" , virtualizationMethod = CollectionVirtualizationMethod.DynamicHeight }; Add(listView); var manipulator = new TileSetImporterDragAndDropManipulator( () => true, OnDragPerform); var toggle = listView.Q().Q