编辑器扩展入门《一》

编辑器扩展入门《一》

前言:
  • unity为我们提供了很多扩展的接口,并且使用起来也特别的方便。
编辑器扩展我们要知道什么东西?
  • Editor

    • 首先我们的扩展写的工具代码都是放在该文件夹下的,并且这个需要我们去创建。

    • 该文件夹只会对unity编辑器起作用,非游戏运行状态下也能执行

    • 所以游戏代码不可以放在这里,这里是编辑器的领地

  • 另外我们在编写编辑器代码的时候会用到一个命名空间:Using UnityEditor

简单使用:
  • 添加菜单栏按钮
    • [MenuItem(“Tools/test”,false,priority)]

    • 第一个参数对应的是我们的菜单按钮路径,顶部菜单栏到时候会有个Tools的按钮,第二个是是否显示,第三个是显示顺序,下面对应的函数一定要是静态的,然后加个打印保存看看效果啦。

  [MenuItem("Tools/test", true)]
      private static bool Test() 
      {
       //TODO
      }
      ​
  • Selection:Selection
    • 选中的

      • Selection.activeGameObject

        • 返回第一个选择的场景中的对象
      • Selection.gameObjects

        • 返回场景中选择的多个对象,包含预制体等

          • (这个做个筛选预制体就能对预制体进行批量保存)
      • Selection.objects

        • 返回选择的多个对象
  • 他们两个的结合,再加上下面,就可以实现打印选中的GameObject啦

foreach (GameObject go in Selection.gameObjects )
     {
     //TODO
     Debug.Log(go.name);

     }

总结:

  • 虽然实现的东西的很简单,但对于我们来说也是很有意义的,毕竟万丈高楼平地起嘛,当然,我相信小小的几行代码也能带给我们一些小成就,感受到Unity编辑器的扩展带给我们的快乐,哈哈~

你可能感兴趣的:(编辑器扩展入门《一》)