using System.IO; using System.Linq; using System.Text; using UnityEditor; using UnityEngine; using UnityEngine.UIElements; namespace AsmdefHelper.CustomCreate.Editor { public class AsmdefRenameView : EditorWindow { static string renameAsmdefPath = ""; static string asmdefDirectory = ""; [MenuItem("Assets/AsmdefHelper/Rename asmdef")] public static void ShowWindow() { // PathとNameの初期値 var asset = Selection.activeObject; renameAsmdefPath = AssetDatabase.GetAssetPath(asset); asmdefDirectory = Path.GetDirectoryName(renameAsmdefPath); // asmdefが選択されている時のみ開く var extension = renameAsmdefPath.Split('.').LastOrDefault(); if (extension == "asmdef") { var window = GetWindow(); window.titleContent = new GUIContent("AsmdefRenameView"); window.minSize = new Vector2(200, 80); window.maxSize = new Vector2(2000, 80); } } public void OnEnable() { // Each editor window contains a root VisualElement object VisualElement root = rootVisualElement; // Import UXML var visualTree = AssetDatabase.LoadAssetAtPath( "Assets/AsmdefHelper/CustomCreate/Editor/AsmdefRenameView.uxml"); if (visualTree == null) { visualTree = AssetDatabase.LoadAssetAtPath( "Packages/dev.n5y.asmdefhelper/AsmdefHelper/CustomCreate/Editor/AsmdefRenameView.uxml"); } VisualElement labelFromUXML = visualTree.Instantiate(); root.Add(labelFromUXML); // UI取得 var PathTextField = root.Q(className: "PathTextField"); var NameTextField = root.Q(className: "NameTextField"); var CreateButton = root.Q