UnityのUGuiでTabキーでフォーカスを移せるようにするコード

UnityのUGuiなんですが、あれ、タブキーでフォーカスを移したり出来ないんですよね。

で、調べていたら、

forum.unity3d.com

とかってあったんですが、微妙だったんです。

UIの切り替えはシーン遷移をまたがない時、SetActive(false)などで行うことが多いものですが、それにも対応していないし、そもそも上のコードだと座標が下のUIを探してフォーカスを移すしかないっていう微妙なやつだったので、自分で良い感じにフォーカスを移せるスクリプトを書きました。

 

UnityのUGUIのフォーカスをタブキーで変えられるようにするやつ

 

VisualStudio2015RCに追加された機能のnull条件演算子を使えば、もっと簡潔に書けるのですが、まだ更新していない人も多かろう(自分もまだです)ので、null条件演算子は使用しておりません。みなさま安心してください。

 

 

そういえば、YAPCという東京で開かれるPerlの祭典でタイムキーパーとして銅鑼を鳴らす役職である銅鑼パーソンに立候補しました。

doraperson2015.yapcasia.org

組織票で 順位がどんどん上がってみなさまの応援のおかげで銅鑼を本当に叩けるかもしれない順位になったので、お暇でしたら銅鑼を連打して楽しんでいってくださいな。