Beispiel #1
0
    /*** Graphics addition ***/
    //add bullet to scene
    public Bullet AddBullet(string bulletName, Vector2 initialPosition)
    {
        AudioManager.Main.PlayNewSound(GameManager.audios[0]);
        Bullet bullet = bulletFactory.GetBullet(bulletName, initialPosition);

        bulletsInScene.Add(bullet.displayObject, bullet);
        return(bullet);
    }
Beispiel #2
0
    void Shoot()
    {
        InstantiationTimer -= Time.deltaTime;

        if (InstantiationTimer <= 0)
        {
            factory.GetBullet(this.gameObject, BulletFactory.BulletType.EnemyBullet);
            InstantiationTimer = Random.Range(0.5f, 2.5f);
        }
    }
Beispiel #3
0
    public Bullet SpawnBullet()
    {
        var newBullet = BulletFac.GetBullet();

        if (newBullet != null)
        {
            newBullet.transform.position = transform.position;
            newBullet.transform.parent   = transform;
            BulletsInfScene++;
        }
        return(newBullet);
    }
Beispiel #4
0
        public TestTower(BulletManager bulletManager, EnemyManager enemyManager, ParticleManager particleManager)
            : base(AssetManager.GetSprite("TowerBase2"), AssetManager.GetSprite("Tower1"), 26f, 250f)
        {
            BulletManager        = bulletManager;
            EnemyManager         = enemyManager;
            this.particleManager = particleManager;

            BaseLayerDepth = SortingOrder.GetLayerDepth(0, SortingLayer.TowerBase) + extraDepth;
            TopLayerDepth  = SortingOrder.GetLayerDepth(0, SortingLayer.TowerTop) + extraDepth;

            barrelLength    = 38f;
            ShootRate       = 0.2f;
            shootBullet     = BulletFactory.GetBullet("Bullet2");
            SearchAlgorithm = new FirstEnemySearch();
        }
    public override void Use(GameObject weapon, Vector3 direction)
    {
        if (!weapon.GetComponent <Weapon>().CanUse)
        {
            return;
        }

        var bulletPosition = weapon.GetComponent <Weapon>().bulletPoint.transform.position;
        var responsible    = weapon.GetComponent <Weapon>().Responsible;
        var damage         = weapon.GetComponent <Weapon>().damage;
        var range          = weapon.GetComponent <Weapon>().range;

        var bulletGo = BulletFactory.GetBullet(bulletPosition, responsible, damage);

        bulletGo.GetComponent <Rigidbody>().velocity = direction.normalized * range;
    }
Beispiel #6
0
        public MachineGunPlaneTower(BulletManager bulletManager, EnemyManager enemyManager, ParticleManager particleManager)
            : base(AssetManager.GetSprite("TowerBase1"), AssetManager.GetSprite("Tower2"), 26f, 150f)
        {
            BulletManager        = bulletManager;
            EnemyManager         = enemyManager;
            this.particleManager = particleManager;

            BaseLayerDepth = SortingOrder.GetLayerDepth(0, SortingLayer.TowerBase) + extraDepth;
            TopLayerDepth  = SortingOrder.GetLayerDepth(0, SortingLayer.Flying) + extraDepth;

            barrelLength    = 10f;
            ShootRate       = 0.1f;
            shootBullet     = BulletFactory.GetBullet("Bullet1");
            SearchAlgorithm = new FirstEnemySearch();

            shadowSprite = AssetManager.GetSprite("PlaneShadow1");

            rotationRadius     = 150f;
            planeRotationSpeed = (float)Math.PI * 0.004f;
        }
Beispiel #7
0
    // Update is called once per frame
    void Update()
    {
        actualBulletType = GetComponent <PlayerAvatar>().BulletType;
        this.GetComponent <Engines>().Speed = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));

        if (Input.GetKey("space"))
        {
            time -= Time.deltaTime;
            if (time <= 0)
            {
                if (GetComponent <PlayerAvatar>().healthBarSlider.value > 0)
                {
                    Vector2 position = transform.position;
                    factory.GetBullet(this.gameObject, GetComponent <PlayerAvatar>().BulletType);
                    GetComponent <PlayerAvatar>().healthBarSlider.value -= .03f;
                    time = 0.2f;
                }
            }
        }

        if (Input.GetKeyDown("tab"))
        {
            if (actualBulletType == BulletFactory.BulletType.PlayerBullet)
            {
                GetComponent <PlayerAvatar>().BulletType = BulletFactory.BulletType.PlayerDiagonalBullet;
            }
            else if (actualBulletType == BulletFactory.BulletType.PlayerDiagonalBullet)
            {
                GetComponent <PlayerAvatar>().BulletType = BulletFactory.BulletType.PlayerSpiralBullet;
            }
            else
            {
                GetComponent <PlayerAvatar>().BulletType = BulletFactory.BulletType.PlayerBullet;
            }
        }
    }
Beispiel #8
0
    public override void Use(GameObject weapon, Vector3 direction)
    {
        if (!weapon.GetComponent <Weapon>().CanUse)
        {
            return;
        }

        var bulletPosition = weapon.GetComponent <Weapon>().bulletPoint.transform.position;
        var responsible    = weapon.GetComponent <Weapon>().Responsible;
        var damage         = weapon.GetComponent <Weapon>().damage;
        var range          = weapon.GetComponent <Weapon>().range;

        var bulletGo1 = BulletFactory.GetBullet(bulletPosition, responsible, damage);
        var bulletGo2 = BulletFactory.GetBullet(bulletPosition, responsible, damage);
        var bulletGo3 = BulletFactory.GetBullet(bulletPosition, responsible, damage);
        var bulletGo4 = BulletFactory.GetBullet(bulletPosition, responsible, damage);
        var bulletGo5 = BulletFactory.GetBullet(bulletPosition, responsible, damage);

        bulletGo1.GetComponent <Rigidbody>().velocity = direction.normalized * range;
        bulletGo2.GetComponent <Rigidbody>().velocity = Quaternion.Euler(0, -30, 0) * direction.normalized * range;
        bulletGo3.GetComponent <Rigidbody>().velocity = Quaternion.Euler(0, 30, 0) * direction.normalized * range;
        bulletGo4.GetComponent <Rigidbody>().velocity = Quaternion.Euler(0, -15, 0) * direction.normalized * range;
        bulletGo5.GetComponent <Rigidbody>().velocity = Quaternion.Euler(0, 15, 0) * direction.normalized * range;
    }