using UnityEditor; using UnityEngine; using UnityEngine.UIElements; namespace SubAssetsToolbox.Editor { internal class RenameSubAssetWindow : EditorWindow { [SerializeField] private VisualTreeAsset _visualTreeAsset; private Object _target; private TextField _nameField; private Button _renameButton; public static void Open(Object subAsset) { RenameSubAssetWindow window = GetWindow(true, "Rename Sub-Asset"); window._target = subAsset; window.minSize = new Vector2(300f, 70f); window.maxSize = new Vector2(300f, 70f); window.Populate(); window.Show(); } private void CreateGUI() { VisualElement root = rootVisualElement; VisualElement template = _visualTreeAsset.Instantiate(); template.style.flexGrow = 1f; _nameField = template.Q("NameField"); _nameField.selectAllOnFocus = true; _nameField.RegisterValueChangedCallback(_ => UpdateRenameButton()); _nameField.RegisterCallback(OnKeyUp); template.Q