執行時屬性
[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 屬性允許在遊戲載入執行時呼叫執行時類方法,而無需使用者進行任何互動。
你可以指定是否要在場景載入之前或之後呼叫方法(預設之後)。使用此屬性的方法無法保證執行順序。