Unity5特性 RuntimeInitializeOnLoadMethodAttribute
Unity5带的新特性 RuntimeInitializeOnLoadMethodAttribute 可以在不实例化的情况下执行脚本函数,对于游戏的初始化工作很有帮助。
// Demonstration of RuntimeInitializeOnLoadMethod and the argument it can take. using UnityEngine;
class MyClass { [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] static void OnBeforeSceneLoadRuntimeMethod() { Debug.Log("Before first scene loaded"); }
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] static void OnAfterSceneLoadRuntimeMethod() { Debug.Log("After first scene loaded"); }
[RuntimeInitializeOnLoadMethod] static void OnRuntimeMethodLoad() { Debug.Log("RuntimeMethodLoad: After first scene loaded"); } }
执行的生命周期顺序:脚本构造 --> 属性(BeforeRuntime) --> Awake --> 属性(AfterRuntime) --> 属性(OnRuntime) --> Start --> Update -->...
有一点不是很懂,不知道为何必须是static函数才可以,我试了下去掉static就不执行了。。。