はじめに
今回はOnEnable・OnDisableって親が非アクティブになったときにどうなるかについて調べていきたいと思います。
一応説明すると、
OnEnable
・・・コンポーネントがアクティブになった時に呼ばれるOnDisable
・・・コンポーネントが非アクティブになった時に呼ばれる
というものです。
ちなみにシーン起動時にアクティブならば、Awake -> OnEnable -> Start
の順番で呼ばれるみたいでした。
自身のゲームオブジェクト・コンポーネントがアクティブ/非アクティブなら明らかですが、親の場合はどうなるのか疑問に思ったので調べてみました。
早速いきましょう。
結論
早く結論が知りたいという方むけに、先に書いちゃいます。
結果は
親オブジェクトがアクティブ・非アクティブになったときも子オブジェクトのOnEnable
OnDisable
は呼ばれる
となりました。
まあ予想通りといったら予想通りですね。
調べ方
もはや書くかどうかも迷いましたが、一応調べ方を残しておきます。
やり方は非常にシンプルで、子オブジェクトにこちらのスクリプトをアタッチしました。
using UnityEngine; public class Test : MonoBehaviour { private void OnEnable() { Debug.Log("Enable"); } private void OnDisable() { Debug.Log("Disable"); } }
さいごに
いつも使うときに不安だったので、これからは確信を持ってつかうことができそうです!
ではまた。