运行时属性
[ExecuteInEditMode]
public class AttributesExample : MonoBehaviour
{
[RuntimeInitializeOnLoadMethod]
private static void FooBar()
{
[...]
}
[RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.BeforeSceneLoad )]
private static void Foo()
{
[...]
}
[RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.AfterSceneLoad )]
private static void Bar()
{
[...]
}
void Update()
{
if ( Application.isEditor )
{
[...]
}
else
{
[...]
}
}
}
[ExecuteInEditMode]
public class AttributesExample : MonoBehaviour
即使游戏没有播放,ExecuteInEditMode 属性也会强制 Unity 执行此脚本的魔术方法。
这些功能不像播放模式那样经常被调用
- 仅在场景中的某些内容发生更改时调用更新。
- 当游戏视图收到事件时调用 OnGUI。
- 在场景视图或游戏视图的每次重绘时都会调用 OnRenderObject 和其他渲染回调函数。
[RuntimeInitializeOnLoadMethod]
private static void FooBar()
[RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.BeforeSceneLoad )]
private static void Foo()
[RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.AfterSceneLoad )]
private static void Bar()
RuntimeInitializeOnLoadMethod 属性允许在游戏加载运行时调用运行时类方法,而无需用户进行任何交互。
你可以指定是否要在场景加载之前或之后调用方法(默认之后)。使用此属性的方法无法保证执行顺序。