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用来记录新创建的物体,用于后面可以撤销新创建的