示例#1
0
        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);
        }