private void Start() { // ObjectPoolを取得 _objectPool = _bulletObjectPoolProvider.Get(); // 定期的に弾を発射する Observable.Interval(TimeSpan.FromSeconds(1)) .Subscribe(_ => ShootBullets()).AddTo(this); }
public BulletObjectPool Get() { // すでに準備済みならそちらを返す if (_objectPool != null) { return(_objectPool); } // ObjectPoolを作成 _objectPool = new BulletObjectPool(_prefab); // 事前にプールサイズを20に拡張しておく _objectPool.PreloadAsync(preloadCount: 20, threshold: 20).Subscribe(); return(_objectPool); }