예제 #1
0
        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); });
        }
예제 #2
0
        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);
        }