• 扩展Inspector界面

    • 继承自Editor,添加CustomEditorAttribute,传入定制的类型

      • 定制显示的类型要求:
        1. 类型中所有的public 字段都会自动暴露给Inspector编辑器
        2. 类型中非public 字段,可通过使用SerializeFieldAttribute来暴露给Inspector
        3. 使用HideInspectorAttribute可隐藏字段
    • Unity消息接口:
      • private void OnEnable();
      • private void OnDisable();
      • private void OnDestroy();
      • public override void OnInspectorGUI();
    • Editor类自带property: 
      • Object Editor.target {get; set;}  如果类型中暴露给Inspector的字段都是public,使用target即可
      • SerializedObject Editor.serializedObject {get;} 如果类型非public字段,使用SerializeFieldAttribute来暴露给Inspector,则需要使用到serializedObject
        • EditorGUILayout.PropertyField(serializedObject.FindProperty("color"));
        • if (GUI.changed)
          {
          serializedObject.ApplyModifiedProperties();
          }

Unity 扩展编辑器的更多相关文章

  1. Unity扩展编辑器--类型1:Editor Windows

    Extending the Editor Unity允许你使用自己定制的inspectors和Editor Windows扩展编辑器,并且你可以使用定制的Property Drawers定义属性集在i ...

  2. Unity扩展编辑器--类型3:Custom Editors

    Custom Editors 加速游戏制作过程的关键是为哪些频繁使用的组件创建自定义的编辑器,为了举例,我们将会使用下面这个极其简单的脚本进行讲解,它的作用是始终保持一个对象注视某一点. public ...

  3. Unity扩展编辑器一

    将Test1脚本挂在摄像机上 ​ 如图展示 ​ 下面我们需要在代码中动态的编辑它,请在你的Project视图中创建一个Editor文件夹,把MyEditor放进Editor文件夹中 ​ 在OnInsp ...

  4. Unity扩展编辑器五

    扩展系统自带组件Inspector ​ 可以在系统摄像机组建上添加一个按钮,这样就可以单独处理逻辑了 ​

  5. Unity扩展编辑器四

    Inspector视图中的get/set使用 get  set使用起来很方便,但编辑时,在Inspector视图中问题就来了,因为get/set的属性即使是public了,但是在Inspector视图 ...

  6. Unity扩展编辑器三

    Scene视图是编辑游戏模型的地方,其实它还可以进行编辑,如下图所示,我给Scene视图做了简单的编辑 Scene视图的扩展是基于对象的,意思是你必须在Hierarchy视图中选择一个对象才行,Hie ...

  7. Unity扩展编辑器二

    Unity支持自行创建窗口,也支持自定义窗口布局,在Project视图中创建一个Editor文件夹,在文件夹中创建一条脚本 自定义窗口需要让脚本继承EditorWindow在设置MenuItem,此时 ...

  8. Unity扩展编辑器学习笔记--从路径下找到拥有某个组件类型的预设

    public static List<T> GetAssetsWithScript<T>(string path) where T:MonoBehaviour { T tmp; ...

  9. Unity基础-编辑器

    编辑器 Special Folders Hidden Folder(start with .) Standard Assets:第一批加载的文件 Editor:只在编辑下才能使用, Plugins R ...

随机推荐

  1. Nao 类人机器人,Aldebaran Robotics公司

    Nao 类人机器人,Aldebaran Robotics 公司,被SOFTBANK 收购,阿里巴巴.富士康参股. https://www.aldebaran.com/en   一家法国的公司. htt ...

  2. 关于V1.6.0版本的项目总结

    10月28号,我们开了1.6项目的总结大会,包括Ting总在内,前端.后台.运维都来参加总结大会了.虽然目标基本达成,但同时也暴露出很多问题,我们希望各方能够坐下来总结一下自己或者各个相关团队的功过是 ...

  3. sqlserver的CTE实现递归查询

    --递归查询 IF OBJECT_ID('DiGui','U') IS NOT NULL DROP TABLE DiGui CREATE TABLE DiGui( Id ), ParentId ) ) ...

  4. 用于OpenRISC的Makefile示例

    #* #*********************************************************************************************** ...

  5. Context Menus

    转载:http://open.chrome.360.cn/extension_dev/contextMenus.html 内容 清单 范例 API 参考: Chrome.contextMenus 方法 ...

  6. C#/Sqlite-单机Window 程序 sqlite 数据库实现

    数据库分析和选择 Excel 文件 做数据源 限制性比较强,且不适合查询,分析 等操作 Access 数据库 Access 管理数据界面和功能不强 mysql 和sql server 功能满足,但需要 ...

  7. phpcms 后台验证码不显示date() expects parameter 2 to be long

    方法一: 主要在于是否开启gd库 查看办法 找到php.ini文件 搜索extension=php_gd2.dll这段代码 然后把前面的;符号去掉即可. 方法二: 关键一点是获取验证码的图片与全局变量 ...

  8. 解决启动WebLogic输入用户名密码问题

    转自:http://wenku.baidu.com/link?url=M6wJDVwm_Us6NsYi5u-PDTTbTHpO_ncsv5yClXSxhDIhA70IRga5ZdvotT4bW__MG ...

  9. atitit.微信支付的教程文档 attilax总结

    atitit.微信支付的教程文档 attilax总结 1. 支付流程概览 1 2. 设置支付起始文件夹   host/app/paydir/ 1 3. 设置oauth验证域名 1 4. 測试文件夹 能 ...

  10. AWS RDS mysql无法连接的问题

    rds创建后,无法连接mysql 检查安全组规则是否配置了 1. 2. 这样你的EC2就可以访问了.如果还不行,检查数据库是否和EC2在同一 VPC内. 官方文档:https://docs.amazo ...