【Corgi Engine】ゲームオブジェクト発生ポイントの作成
豊富にサンプルの入っているCorgi Engineだけど敵が最初から配置されているタイプのサンプルシーンが大部分なせいか、ゲームオブジェクトの発生例があまりなかったのでメモ。
砲弾の発生だが以下のサンプルが参考になる。
CorgiEngine\Common\Scripts\Agents\AI\PathedProjectileSpawner.cs
最小限の構成としては
発生させたいPrefabをInstantiateするスクリプトを空のゲームオブジェクトにaddするだけ。
Instantiateに親オブジェクトのtransformのpositionとrotationを渡せば、その位置に発生します。
後はお好みでタイマーやカウンター、発生エフェクトなどを付けて出来上がり。
発生させるPrefabのコンポーネントに値を設定したい場合はInstantiateしたオブジェクトを設定したいコンポーネント型にキャストしてフィールドなり、メソッドなりに値を渡せば良い。
2018/4/28追記
Assets\CorgiEngine\Common\Scripts\Agents\AIにTimedSpawner.csが追加されていた。こちらを参考にすれば普通に作れる。
考えてみれば当たり前だが上記とは違いObjectPoolerを使用した仕組みになってた。こちらのソースはObjectPoolerでオブジェクトを発生させる時の作法なども参考になる。