Пример #1
0
    public override void Act(GameObject player, GameObject npc)
    {
        if ((massShootElapsed += Time.deltaTime) >= massShootInterval)
        {
            EnemyBoss2 boss = npc.GetComponent <EnemyBoss2>();
            if ((shootElapsed += Time.deltaTime) >= shootInterval)
            {
                Vector3 bossToPlayer = -boss.transform.position + player.transform.position;
                bossToPlayer = new Vector3(bossToPlayer.x, bossToPlayer.y, 0); //force z = 0;
                aimingAngle  = Mathf.Rad2Deg * Mathf.Sin((projShot / (boss.numOfProj - 1)) * (2.0f * Mathf.PI));
                Quaternion quat = Quaternion.Euler(0, 0, aimingAngle);

                Projectile newProj = GameObject.Instantiate(proj, npc.transform.position, Quaternion.identity);

                newProj.transform.up     = quat * bossToPlayer;
                newProj.gameObject.layer = boss.projectileLayer;
                newProj.projectileSpeed  = boss.projectileSpd;
                newProj.SetDamage(boss.damage);

                shootElapsed = 0.0;
                ++projShot;
            }
            if (projShot >= boss.numOfProj)
            {
                projShot         = 0;
                massShootElapsed = 0.0f;
            }
        }
    }
    void OnTriggerEnter2D(Collider2D hitInfo)
    {
        Enemy      enemy = hitInfo.GetComponent <Enemy>();
        EnemyBoss  boss  = hitInfo.GetComponent <EnemyBoss>();
        EnemyBoss2 boss2 = hitInfo.GetComponent <EnemyBoss2>();
        CanonEnemy canon = hitInfo.GetComponent <CanonEnemy>();

        if (enemy != null)
        {
            enemy.TakeDamage(damage);
        }

        if (boss != null)
        {
            boss.TakeDamage(damage);
        }
        if (boss2 != null)
        {
            boss2.TakeDamage(damage);
        }

        if (canon != null)
        {
            canon.TakeDamage(damage);
        }
        Instantiate(ImpactEf, transform.position, transform.rotation);
        Destroy(gameObject);
    }
Пример #3
0
    void DamageBoss2(Transform boss2)
    {
        EnemyBoss2 eb2 = boss2.GetComponent <EnemyBoss2>();

        if (eb2 != null)
        {
            eb2.TakeDamage(BulletDamage);
        }
    }