public void Shoot()
    {
        eventBus.Publish(new OnBulletShooted(gameObject.GetComponent <Player>())); //Evento de quando uma bala e disparada, fazendo todos os jogadores pararem de efetuar inputs.

        var bullet = bulletFactory.Create();

        if (bullet != null)
        {
            bullet.transform.position = FirePosition.transform.position;
            bullet.transform.rotation = gameObject.transform.rotation;

            Bullet info = bullet.GetComponent <Bullet>();
            info.Shooter    = gameObject;
            info.bulletInfo = ChoosedBullet;

            SpriteRenderer SR = bullet.GetComponent <SpriteRenderer>();
            SR.color = ChoosedBullet.BulletColor;

            BasicPhysicsObject physicsProperties = bullet.GetComponent <BasicPhysicsObject>();

            physicsProperties.PhysicsProperties = ChoosedBullet.CustomPhysicsPropertys;

            physicsProperties.Velocity = FirePosition.transform.localScale.normalized.x *
                                         -transform.right * ChoosedBullet.BulletSpeed;
        }
    }
Beispiel #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);
        }
Beispiel #3
0
 private void Shoot()
 {
     _bulletFactory.Create(_tower.TowerData.BulletData, _tower.transform.position, _tower.GetTarget());
     _shootCD = _tower.TowerParameters.AttackDelay;
 }