using UnityEditor; public class MyWindow : EditorWindow { [MenuItem("Item/MyWindow")] static void ShowMyWindow(){ MyWindow window = EditorWindow.GetWindow<MyWindow> (); window.Show ();//获得实例,显示窗口 } string inputStr = ""; void OnGUI(){//绘制窗口内容 EditorGUILayout.LabelField ("实例化输入名字的物体"); inputStr = EditorGUILayout.TextField (inputStr); if (GUILayout.Button ("确定")) { GameObject go = new GameObject (inputStr); Undo.RegisterCreatedObjectUndo (go,"create"+inputStr); } } }
创建类继承自EditorWindow,存放在Editor文件夹下,表示是一个窗口类
这里创建了一个菜单来打开这个窗口
OnGUI是窗口内容的绘制,可以用EdittorGUILayout和GUILayout等类来绘制ui内容
Undo的RegisterCreateObjectUndo用来记录新创建的物体,用于后面可以撤销新创建的