万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1

    InitializeOnLoadとかInitializeOnLoadMethodとかRuntimeInitializeOnLoadMethod Unity

    どうしてもEditorのOnEnabledが遅くて、普通のMonoBahaviorのAwake()より遅くて困った。

    [InitializeOnLoad] //これをつけるとstaticなコストラクタを定義すると呼ばれる.
    public class Test : Editor // 別にEditorの小クラスでなくても`InitializeOnLoad`は使える。
    {
        static Test()
        {
            Debug.Log("Constructor");   
        }
    
        [InitializeOnLoadMethod]
        static void InitializeOnLoadMethod()
        {
            Debug.Log ("InitializeOnLoadMethod");
        }
    
        [RuntimeInitializeOnLoadMethod]
        {
            Debug.Log ("RuntimeInitializeOnLoadMethod");
        }
    }

    これで Constructor InitializeOnLoadMethod についてはAwakeより先に呼べた。