静的クラスの変数を  インスペクターで確認する方法

プログラミング

設定やスコアなど、どこからでもアクセスできる情報を保持したい時が良くあります。

もっともよく使われる方法は、シングルトンと静的クラスですね。

 

 シングルトンと静的クラス

シングルトンを使う場合は、シーン内のコンポーネントとして保持するので、

インスペクターでの確認が容易です。

ただし複数シーンにまたがったり、リロードに関係なく値を保持し続けたい場合は、

シングルトンのそれとは別の工夫が必要になります。

 

また、人それぞれだとは思いますが、

単に情報保持したいだけなのにGameObjectのコンポーネントとしてアタッチすること自体が

美学的にいやだな、なんて思ったり。

 

静的クラスを使う場合は、シーン内のコンポーネントとして保持させる必要がないので、

まさにどこからでもどんな状況でも値の保持とアクセスが可能です。

しかし、逆にインスペクターでの確認ができないので、

デバッグがしにくいというデメリットがあります。

 

静的クラスのデバッグ方法は色々とあるのでしょうが、

それほどの大規模開発でない場合は、

やはりインスペクターでチョチョイと確認したくなってしまうのです。

 

 エディター拡張で実現

というわけで、Unityのエディター拡張で静的クラスを可視化する専用ウィンドウを作ります。

まずは、適当に静的クラスを作ります。

 

countというint変数のみの、極シンプルな静的クラスです。

 

そして、このcountという変数を確認するための専用ウィンドウを作ります。

エディター拡張なので、Assets以下の適当な場所に「Editor」というフォルダを作り、

その中に配置します。

Unity 静的クラス エディター拡張

Unity 静的クラス エディター拡張

 

int や float などの基本型だけではなく、Transform やその配列なんかも

ちゃんと表示させることができます。

 

Unity 静的クラス エディター拡張

 

直接操作を不能にして Read Only 感を出してみたり、配列の開閉をやってみたり。

Unity 静的クラス エディター拡張

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)