Unity的特性(Attribute)系列详解——ExecuteInEditMode
  v5bEezpf7PPs 2023年11月02日 99 0

前言

今天在看unity官方的demo的代码,看到了这样的一个特性 [ExecuteInEditMode],查了下官方的API(官方API链接),记录下自己的理解。

一、Unity的模式

在介绍 [ExecuteInEditMode]之前,先来看下了解下Unity 的三种模式

1.Edit Mode

就是大家通常说的编辑器模式下,不用点击Play运行项目。

2.Play Mode

按下Play正常运行项目的时候,就是Play Mode。

3.Prefab Mode

就是在编辑预制体Prefab的时候,就是Prefab Mode。

二、 [ExecuteInEditMode]及相关特性介绍

1. [ExecuteInEditMode]

字面翻译就是在编辑器模式下调用。在正常运行的时候还是可以调用的。 在编辑器模式下调用的时候,有的函数跟直接在运行模式下调用是不一样的。 Update是只有在场景改变时,才会调用,切进程也会调用。 AwakeStart是脚本加载的时候才会调用,就是手动挂载脚本的时候才会调用。 OnGUI当GameView接收到Event时才调用。 OnRenderObject和其他的渲染回调函数,是当SceneView或者GameView重绘时才会调用,比如鼠标移动的时候,OnRenderObject会被调用。 在正常运行模式下调用还是正常的调用。

2.[ ExecuteAlways]

字面意思就是在所有模式下调用。使脚本的实例在播放模式期间以及编辑时始终执行(包括在编辑Prefab的情况下)。 它的函数调用基本和 [ExecuteInEditMode]一样,只是额外加上在编辑预制体的模式下也可以调用,其他的和 [ExecuteInEditMode]都一样。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

v5bEezpf7PPs