public void initialize(GunPoints point, Weapon weapon, LayerTags frendlyLayer) { _frendlyLayerTags = frendlyLayer; var r = Random.Range(0, 10); if (r > 4) { _soundManager.PlaySFX(SoundDataConfig.FIRE); } _speed = weapon.Speed; _weapon = weapon; transform.position = point.StartbulletPoint.transform.position; _target = point.FinishBulletPoint.transform.position; _colorBack.color = HexColorUtils.HexToColor(_bulletsColorPool[Random.Range(0, _bulletsColorPool.Count - 1)]); transform.localScale = new Vector3(weapon.Scale, weapon.Scale, weapon.Scale); _tw = transform.DOMove(_target, Time.deltaTime * _speed).SetEase(Ease.Linear).Play().OnComplete(() => { if (r > 4) { _soundManager.PlaySFX(SoundDataConfig.SPLASH); var sPart = _splashParticle.Create(); sPart.transform.SetParent(_gameManager.GamePresenter.transform); sPart.transform.position = new Vector3(transform.position.x, transform.position.y, -1); } }).OnKill(() => { Destroy(gameObject); }); }
private void AddBullet(GunPoints point, Weapon weapon, LayerTags frendlyLayer) { if (null == point.StartbulletPoint || null == point.FinishBulletPoint) { return; } var bl = _bulletFactory.Create(); bl.initialize(point, weapon, frendlyLayer); bl.transform.SetParent(_gameManager.GamePresenter.transform); }