ExecuteInEditMode

关键点

  • 默认情况下,仅在播放模式下执行 MonoBehaviours。通过添加此属性,MonoBehaviour 的任何实例都将在编辑器处于编辑模式时执行其回调函数。

  • 此属性正在逐步被淘汰,因为它不考虑预制件模式。如果在预制件模式下编辑一个带有 MonoBehaviour 并启用了此属性的预制件,然后进入播放模式,则编辑器将退出预制件模式,以防止由仅用于播放模式的逻辑引起的预制件意外修改。

  • 要使 MonoBehaviour 正确考虑了预制件模式并且在播放模式期间以预制件模式打开是安全的,可以使用属性 ExecuteAlways 取代此处的属性。

事件周期

  • Update仅当场景中的某些内容发生更改时才调用
  • Awake仅在实例化脚本时调用
  • OnGUI is called when the Game View receives a non-editor-only
  • Event that it does not use (e.g., EventType.ScrollWheel) and does not forward to the Editor’s keyboard shortcut system (e.g., EventType.KeyDown, EventType.KeyUp).
  • Events forwarded to the Game View are enqueued and are not guaranteed to be processed immediately. OnRenderObject and the other rendering callback functions are called on every repaint of the Scene View or Game View.

ExecuteAlways

关键点

  • 使脚本的实例在播放模式期间以及编辑时始终执行。

  • 默认情况下,MonoBehaviours 仅在播放模式下并且仅当它们位于包含用户场景的主阶段中的游戏对象上时才执行。它们不会在编辑模式下执行,也不在预制件模式下编辑的对象上执行,即使此时在播放模式下也是如此。通过添加此属性,MonoBehaviour 的任何实例都将始终执行其回调函数。

  • 使用此属性的 MonoBehaviour 必须确保它们在编辑模式下或者在对象不是游戏世界的一部分时不会运行可能导致对象被错误修改的播放逻辑。为达到此目的,可以使用 Application.IsPlaying,在其中,脚本可以传入自己的游戏对象以检查它是否是游戏世界的一部分。

Application.IsPlaying (Object obj)

  • 在编辑器中,如果编辑器处于播放模式,并且提供的对象是游戏世界的一部分,而不是(例如)处于预制件模式的对象的一部分,则返回 true。

MonoBehaviour.runInEditMode

  • 允许 MonoBehaviour 的特定实例在编辑模式下运行(仅可在 Editor 中使用)。

EditorWindow.autoRepaintOnSceneChange

  • 窗口是否会在场景每次发生变化时自动重绘

EditorApplication.QueuePlayerLoopUpdate

InitializeOnLoad

  • 允许您在加载 Unity 以及重新编译脚本时初始化 Editor 类。
  • 在 InitializeOnLoad 方法中应避免进行资产加载等资产操作。 在资产导入完成之前调用 InitializeOnLoad 方法,因此资产加载可能会失败,从而导致空对象。 要在需要资产操作的域重新加载后进行初始化,请使用 AssetPostprocessor.OnPostProcessAllAssets 回调。 此回调支持所有资产操作,并且如果有域重新加载,则具有参数信号。

InitializeOnLoadMethod

  • 允许在 Unity 加载时初始化编辑器类方法,而无需用户采取任何操作。

UnityEditor之属性1相关推荐

  1. Unity API通读 CustomEditor

    告诉一个编辑器类是哪种运行类型的编辑器 在为组件制作自定义编辑器时 你需要把这个属性放到编辑器类上 UnityEditor类 ·属性 isFallback 如果为true 则仅当所有的非回退编辑器不匹 ...

  2. UnityEditor扩展 - 编辑器中的内置属性Attribute

    Unity内置属性[Attribute]是一种类似修饰功能的标签.可以对OnSceneGUI,InspectorGUI,MenuGUI,WindowGUI等实现各种各样的GUI扩展.在这一章里将举例介 ...

  3. (转)Unity3d UnityEditor编辑器定制和开发插件

    在阅读本教程之前,你需要对Unity的操作流程有一些基础的认识,并且最好了解内置的GUI系统如何使用. 如何让编辑器运行你的代码 Unity3D可以通过事件触发来执行你的编辑器代码,但是我们需要一些编 ...

  4. Inspector a ProgressBar(定制属性面板)

    一.定制进度条 这篇文章主要学习如何在Unity的Inspector中使用ProgressBar 普通属性面板预览 通常我们的属性面板如下 定制属性面板预览 而通过扩展成ProcessBar后 二.内 ...

  5. class unity 定义类_Unity 游戏框架搭建 2019 (二十五) 类的第一个作用 与 Obselete 属性...

    在上一篇我们整理到了第七个示例,我们今天再接着往下整理.我们来看第八个示例: #if UNITY_EDITORusing UnityEditor; #endif using UnityEngine; ...

  6. 【学步者日记】UnityEditor扩展菜单以及ScriptableObject

    完整版链接:http://note.youdao.com/noteshare?id=c54f35ca19371886e6a94302387bb6cd 下面是预览的部分,带图的版本请看上面链接. 参考: ...

  7. 【Unity编辑器】UnityEditor多重弹出窗体与编辑器窗口层级管理

    一.简介 最近马三为公司开发了一款触发器编辑器,对于这个编辑器策划所要求的质量很高,是模仿暴雪的那个触发器编辑器来做的,而且之后这款编辑器要作为公司内部的一个通用工具链使用.其实,在这款触发器编辑器之 ...

  8. TileMap大型地图网格属性设置

    Unity自带一个GridInfomation的脚本用于网格类型的管理需要挂载在Grid工具同物体上,不过无法完成多条件赋值,所以很多细致的判断无法做到. 这里使用的方法是在Grid中创建多个Tile ...

  9. Unity - Timeline 自定义剪辑,轨道,混合轨道,Inspector属性显示(使用Default Playables辅助工具)

    Timeline中,可以通过脚本扩展自定义的剪辑,轨道,混合轨道,Inspector属性显示器. 我这里参考了官方的 Default Playables的一个节点扩展方式,它也提供了一个辅助工具,非常 ...

最新文章

  1. isnull的使用方法
  2. java poi jar maven_导出maven项目依赖的jar包(图文教程)
  3. ob_clean与gzip的bug
  4. C指针原理(16)-C指针基础
  5. spring框架搭建第二天
  6. java语言中的标识符_Java语言基本语法(一)————关键字标识符(Java语言标识符命名规范Java语言的包名、类名、接口名、变量名、函数名、常量名命名规则 )...
  7. Java高级语法笔记-文本文件的按行读取
  8. 当汽车工业遇见 AI,开发者的时代到来
  9. VS Code 如何运行.html文件(VS Code 如何安装插件)(open with live serve和open in default browser)
  10. 利用路由器实现×××的基本配置方法
  11. 住在我隔壁储藏室的大学刚毕业的小夫妻
  12. 数据挖掘——数据可视化
  13. 公众号滑动图代码_微信公众号文章滑动图片怎么做的呢?
  14. matlab chan算法定位,chan算法定位 matlab
  15. 计算机专业学生的学期规划,大学生大一下学期规划
  16. 木瓜移动上线全新服务架构 ,SaaS工具成最大亮点
  17. Kotlin版注解处理器Annotation Processor
  18. Spring Boot-1 (IntelliJ IDEA + gradle)
  19. oracle 建立分区,oracle 分区表的建立方法
  20. ArcGIS栅格按照象元大小生成矢量的方法

热门文章

  1. QE动力学矩阵文件的主要内容及单位
  2. 如何用A4纸排版打印并制作成四分之一大小的册子(简易说明书)
  3. 闪存类型测试软件,轻松测闪存类型 测试软件P10Check上架谷歌商店
  4. python如何读取outlook邮件_通过MAPI使用Python从Outlook中阅读电子邮件
  5. python解析gff文件中的转录本
  6. php自动填表单,GreenBrowser 自动填表
  7. 博弈论(阶梯博弈)POJ 1704
  8. java根据HashMap中的值将其元素排序
  9. Devops成功的八大炫酷工具
  10. 三国志·吴书·贺齐等传