【Unity】InterfaceをGetComponentしたい。typeof()と as の合わせ技

DEVELOP, Unity

通常MonoBehaviourを継承したクラスは

GetComponent<class名>()

こちらで取得できますが、Interfaceを取得したい時があります。
しかし、Interfaceはジェネリックで取得出来ません。
代わりにtypeofで取得できる様になっています。

取得方法

var hoge = gameObject.GetComponent(typeof(IHoge)) as IHoge;

少し面倒ですが、これで取得できます。
覚えておいて損は無いです。

Posted by kazupon