執行時屬性

[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 屬性允許在遊戲載入執行時呼叫執行時類方法,而無需使用者進行任何互動。

你可以指定是否要在場景載入之前或之後呼叫方法(預設之後)。使用此屬性的方法無法保證執行順序。