Version: 2017.3

ExecuteInEditMode

class in UnityEngine

切换到手册

描述

使脚本的所有实例都在编辑模式下执行。

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

这些函数不像它们在播放模式下那样被不断调用。
- Update is only called when something in the scene changed.
- OnGUI is called when the Game View recieves an Event.
- OnRenderObject and the other rendering callback functions are called on every repaint of the Scene View or Game View.

另请参阅:runInEditMode

// The PrintAwake script is placed on a GameObject.  The Awake function is
// called when the GameObject is started at runtime.  The script is also
// called by the Editor.  An example is when the scene is changed to a
// different scene in the Project window.
// The Update() function is called, for example, when the GameObject transform
// position is changed in the Editor.

using UnityEngine;

[ExecuteInEditMode] public class PrintAwake : MonoBehaviour { void Awake() { Debug.Log("Editor causes this Awake"); }

void Update() { Debug.Log("Editor causes this Update"); } }