【Unity】Prefabを生成する際に、クラスに生成方法を紐付ける

少し走り書きになってしまっています、ご容赦ください。

内容

Unityを使用していると、必ずPrefabをInstantiateする行為を行うと思います。

その際、以下のようなコードになるのではないかと思っています。

普通に生成する

 

一般的ですね、ですが外部に生成した後のフローの呼び出しなどを任せる必要があります。

今まであまり疑問に感じてこなかったのですが、以下の方法で生成手法を紐づけることができることに気がつきました。

 

gist.github.com

 

副次的作用

この生成方法は、インスタンス生成メソッドに自身の情報変更を追加することが可能です。

つまるところ、Prefabに生成方法を紐付けることが可能になります。

これのおかげで生成に関するコードの堅牢性が上がりますね。

 

ただ気をつけなくてはいけない部分として、Prefabを操作することになりますので

AddComponentなどを使用するとPrefab自体も編集され、コンポーネントが追加されてしまいます。 

 

初期化もついでに行う場合は、Serializeされていないデータの初期化などに留めておいた方が良さそうです。

 

終わり。