Unity编辑器脚本

生成窗口

  1. Editor的目录下创建一个C#脚本。写入如下的代码:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       public class FloorManagerWindow : EditorWindow
    {
    [MenuItem("数据管理/地板")]
    public static void ShowWindow()
    {
    var window = EditorWindow.GetWindow(typeof(FloorManagerWindow), false, "地板数据编辑器");
    window.minSize = new Vector2(1100, 600);
    window.Show();
    }
    }
  2. 创建一个编辑器窗口,需要该脚本继承UnityEditor.EditorWindows类。
  3. 需要编写一个任意方法名的静态方法,如:public static void ShowWindow() { }。并给该方法增加一个[MenuItem]特性,如:[MenuItem("数据管理/地板")],该特性中的参数代表Unity编辑器的菜单的路径。该特性可以按照传入的参数在Unity编辑器上创建对应的菜单。并在该菜单项的点击事件触发时调用被特性标记的方法。
  4. 调用EditorWindow.GetWindow(typeof(FloorManagerWindow))方法会根据类型创建一个窗口。
  5. Show()方法会显示窗口。PS:EditorWindow.GetWindow()方法本身就会去调用Show()方法,猜想可能是为了在EditorWindow.GetWindow()之后修改了某些值,因此需要再手动调用Show()方法,以更新修改的值。

ScriptObject