【Unity】UIBehaviourについて

UnityにはMonoBehaviourの他に「UIBehaviour」というクラスが用意されています。 私も最近までこの存在を知らなかったのですが、結構いろいろなところで利用をされているのを見かけたので少し調べて見ることにしました。

UIBehaviour

公式のスクリプトのリファレンスです。 UIBehaviour

その名のようにUIで利用するクラスになります。 基本、MonoBehaviourの機能が使えるので一部のUnityのイベントサイクルに対応しています。

[c] // Awake protected override void Awake() { base.Awake(); }

// Start protected override void Start() { base.Start(); } [/c]

また、gameObjectやtransform、tagなども使うこともできます。 もちろん、GetComponentやStartCoroutineなども利用できます。

OnRectTransformDimensionsChange

RectTransformが変更されたときにこちらのメソッドが呼び出されます。 これが見た所UIBehaviour独自で使えそうな関数です。 [c] protected override void OnRectTransformDimensionsChange () { base.OnRectTransformDimensionsChange(); } [/c]

OnValidate

こちらはMonoBehaviourにもありますが、Inspector上にアタッチした際など呼び出されるので、強制的に何かしらの処理をしたいときなどに利用ができそうです。 [c] protected override void OnValidate() { base.OnValidate(); } [/c]

最後に

調べた所、MonoBehaviourをベースにUI作成向けに特化したクラスがUIBehaviourな感じがしました。 独自でUIパーツを実装する時にはUIBehaviourをとりあえず使っておいて損はなさそうです。