//-------------------------------------------------- /// <summary> /// 弾生成処理 /// </summary> /// <param name="createrPosition">生成者のポジション</param> /// <param name="createTarget">生成するゲームオブジェクト</param> public void Shot(Vector2 createrPosition, Transform createTarget = null) { _nowRateTime--; if (_nowRateTime <= 0 && _bulletPrefab != null) { foreach (var position in _createPosition) { BulletBase data = null; foreach (var bullet in _bullets) { if (bullet.gameObject.activeSelf == false) { bullet.gameObject.SetActive(true); data = bullet; break; } } if (data == null) { data = Instantiate(_bulletPrefab, createTarget).GetComponent <BulletBase>(); data.CreaterTag = this.gameObject.tag; _bullets.Add(data); } data.SetPosition(createrPosition + position); } _nowRateTime = _fireRate; } }
public override void Shoot() { if (m_SnowBallPool != null) { GameObject bulletType = m_SnowBallPool.Rent(false); if (bulletType != null) { BulletBase bullet = bulletType.GetComponent <BulletBase>(); bullet.SetPosition(SpawnPoint); bullet.gameObject.SetActive(true); bullet.Shoot(); } } }