【Unity】タイプセーフにリソースやタグの記述ができるアセット「TypeSafe」の使い方
SRDebuggerでお馴染みのStompy RobotがリリースしているTypeSafeというアセットの紹介です。
大体こんなアセット
以前コガネブログさんが書かれていたこの記事とやっていることはほぼ同じです。 baba-s.hatenablog.com
Unity上ではタグ、レイヤー、シーンなどをコード上で扱う場合に文字列を指定する必要がありますが、参照している訳ではないので誤った文字列や、変更があった場合などにコンパイラ上でそれを検知することができません。TypeSafeではこれらを定数として扱えるようにするため、自動的に定数を持つクラスを生成する機能を提供しています。
この定数はタグを追加した場合に自動的に更新処理が走り、自動生成クラスにも反映されます。
TypeSafeはもう一つの強力な機能を持っていて、それがリソースの管理です。
TypeSafeはリソースファイルも階層構造に合わせて定数化をしてくれるため、コード補完を辿って簡単に参照をすることができます。変換演算子で型まで参照できるのも強力です。
また、リソース名や階層構造に変更があった場合でも自動的に検出し、自動生成クラスにも反映してくれます。そのため、既存のコード上ではコンパイルエラーが発生し、修正すべき箇所を知ることができるのです。
使い方
アセットをインポートするとこのようなダイアログが表示されます。
そこで「Start Scan」をクリックすることで上記で紹介した定数クラスが生成されます。
以降はTypeSafeが自動的に変更を検知してくれるため、常に自動生成クラスは最新に保たれていると考えて良いと思います。
Assets > TypeSafe Refresh で再度生成しなおすことも可能です。
また、TypeSafeでは SRResources
, SRTags
といったクラスを通して定数へのアクセスが可能ですが、名前空間であったり、prefixは自由にカスタマイズすることも可能です。
Window > TypeSafe > OpenSettings を選択し、
表示されたダイアログのName Schemeタブで詳細な設定が可能です。