UnityにはMonoBehaviourの他に「UIBehaviour」というクラスが用意されています。
私も最近までこの存在を知らなかったのですが、結構いろいろなところで利用をされているのを見かけたので少し調べて見ることにしました。
UIBehaviour
公式のスクリプトのリファレンスです。UIBehaviour
その名のようにUIで利用するクラスになります。
基本、MonoBehaviourの機能が使えるので一部のUnityのイベントサイクルに対応しています。
1 2 3 4 5 6 7 8 9 10 11 |
// Awake protected override void Awake() { base.Awake(); } // Start protected override void Start() { base.Start(); } |
また、gameObjectやtransform、tagなども使うこともできます。
もちろん、GetComponentやStartCoroutineなども利用できます。
OnRectTransformDimensionsChange
RectTransformが変更されたときにこちらのメソッドが呼び出されます。これが見た所UIBehaviour独自で使えそうな関数です。
1 2 3 4 |
protected override void OnRectTransformDimensionsChange () { base.OnRectTransformDimensionsChange(); } |
OnValidate
こちらはMonoBehaviourにもありますが、Inspector上にアタッチした際など呼び出されるので、強制的に何かしらの処理をしたいときなどに利用ができそうです。
1 2 3 4 |
protected override void OnValidate() { base.OnValidate(); } |
最後に
調べた所、MonoBehaviourをベースにUI作成向けに特化したクラスがUIBehaviourな感じがしました。独自でUIパーツを実装する時にはUIBehaviourをとりあえず使っておいて損はなさそうです。
