void ShootGun()
    {
        canShoot = false;

        SoundManagerScript.Instance.PlaySFX(AudioClipID.SFX_CANNON01);

        if ((int)type >= (int)EnemyType.TYPE00 && (int)type <= (int)EnemyType.TYPE05)       // || ((int)type >= (int)EnemyType.TYPE07 && (int)type <= (int)EnemyType.TYPE09))
        {
            for (int i = 0; i < gunTips.Length; i++)
            {
                GameObject go = Instantiate(bulletPrefab, gunTips[i].transform.position, gunTips[i].transform.rotation);

                MGBulletScript bulletScript = go.GetComponent <MGBulletScript>();

                bulletScript.friendly = false;
                bulletScript.damage   = bulletDamage;
            }

            bulletBurstCount++;

            if (bulletBurstCount < bulletVolley)
            {
                fireCooldown = fireRate * 0.1f;
            }
            else
            {
                bulletBurstCount = 0f;
                fireCooldown     = fireRate;
            }

            canShoot = true;
        }
        else if ((int)type >= (int)EnemyType.TYPE06 && (int)type <= (int)EnemyType.TYPE09)
        {
            for (int i = 0; i < gunTips.Length; i++)
            {
                GameObject go = Instantiate(bulletPrefab, gunTips[i].transform.position, gunTips[i].transform.rotation);

                MGBulletScript bulletScript = go.GetComponent <MGBulletScript>();

                bulletScript.friendly = false;
            }

            bulletBurstCount++;

            cannonBody.Rotate(0f, 0f, (90f / bulletVolley));

            if (bulletBurstCount < bulletVolley)
            {
                fireCooldown = fireRate * 0.2f;
            }
            else
            {
                bulletBurstCount = 0f;
                fireCooldown     = fireRate;
            }

            canShoot = true;
        }
    }
Example #2
0
    void ShootMG()
    {
        for (int i = 0; i < mgGuns.Length; i++)
        {
            SoundManagerScript.Instance.PlaySFX(AudioClipID.SFX_MG);

            GameObject     newBullet    = Instantiate(bulletPrefab, mgGuns[i].transform.position, this.transform.rotation);
            MGBulletScript bulletscript = newBullet.GetComponent <MGBulletScript>();

            bulletscript.damage   = mgBulletDamage;
            bulletscript.friendly = true;
        }
    }
Example #3
0
    void OnTriggerEnter2D(Collider2D other)
    {
        if (!emp)
        {
            if (other.CompareTag("Enemy"))
            {
                EnemyScript enemyscript = other.GetComponent <EnemyScript>();

                enemyscript.TakeDamage(damage);
            }
        }
        else
        {
            if (other.CompareTag("Enemy"))
            {
                EnemyScript enemyscript = other.GetComponent <EnemyScript>();

                enemyscript.fireCooldown = 50f;

                enemyscript.StartCoroutine(enemyscript.HitEMP());
            }
            else
            {
                MGBulletScript bulletscript = other.GetComponent <MGBulletScript>();

                if (bulletscript != null)
                {
                    if (!bulletscript.friendly)
                    {
                        Debug.Log("EMp");
                        Destroy(other.gameObject);
                    }
                }
            }
        }
    }