以前、GameObjectには複数のスクリプトを追加可能と書きました。
じゃあそれがなんの役に立つかという一例を紹介します。
例えばファクトリーやマネージャクラスなど、全体に絡むクラスが何個がある場合を想定しましょう。
ゲーム内部で目に見えなくても仕事をする必要があるクラスですね。
実際、現場ではこういったクラスの方が重要です。
この時にあの書き方が生きてきます。
ということでサンプルがこちら。
上記のコードは2つ分くっついてますが、上記の2つをそれぞれC#で生成し、一つのGameObjectに紐付けしてください。
やってることは単純、Test1及びTest2で互いの関数をコールしているだけです。
結果は書くまでもないほど簡単ですな。
ここでのポイントですが、自分以外のスクリプトを取り出すのに、自分自身に対してGetComponentしている部分です。
いちいちpublicにしてGUIで紐付けしたり、Findしたりという手間が省けますね。
これなら一つのGameObjectをスクリプトホルダーとして機能させられます。
構造的も簡潔になるので言うことなし。
また、スクリプトを取得する際、GetComponent<クラス名>()でテンプレート変換している点も注目。
ソースコード上でもすっきりと書けます。

0 コメント:
コメントを投稿