Пример #1
0
    void OnAttack(Transform enemy)
    {
        // Point
        gameManager.stagePoint += 100;
        // Reaction Force
        rigid.AddForce(Vector2.up * 10, ForceMode2D.Impulse);

        // Enemy Die
        EnemyMove enemyMove = enemy.GetComponent <EnemyMove>();

        if (enemyMove != null)
        {
            enemyMove.OnDamaged();
        }

        FlyEnemy flyEnemy = enemy.GetComponent <FlyEnemy>();

        if (flyEnemy != null)
        {
            flyEnemy.OnDamaged();
        }

        PopEnemy popEnemy = enemy.GetComponent <PopEnemy>();

        if (popEnemy != null)
        {
            popEnemy.OnDamaged();
        }


        // Sound
        PlaySound("ATTACK");
        audioSource.Play();
    }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        if (timeBtwAttack <= 0)
        {
            if (Input.GetButtonDown("Attack"))
            {
                animator.SetBool("Sword", true);
                audioSource.PlayOneShot(collisionSoundClip);

                StartCoroutine(attacking());

                Collider2D[] enemiesToDamage = Physics2D.OverlapCircleAll(attackPos.position, attackRange, WhatIsEnemies);

                for (int i = 0; i < enemiesToDamage.Length; i++)
                {
                    WallEnemyAI e  = enemiesToDamage[i].GetComponent <WallEnemyAI>();
                    NEnemy      e2 = enemiesToDamage[i].GetComponent <NEnemy>();
                    FlyEnemy    e3 = enemiesToDamage[i].GetComponent <FlyEnemy>();
                    Enemy_Boss  eb = enemiesToDamage[i].GetComponent <Enemy_Boss>();

                    if (e)
                    {
                        CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f);
                        e.TakeDamage(damage);
                    }
                    if (e2)
                    {
                        CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f);
                        e2.TakeDamage(damage);
                    }
                    if (e3)
                    {
                        CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f);
                        e3.TakeDamage(damage);
                    }
                    if (eb)
                    {
                        CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f);
                        eb.TakeDamage(damage);
                    }
                }

                timeBtwAttack = startTimeBtwAttack;
            }
        }
        else
        {
            timeBtwAttack -= Time.deltaTime;
        }
    }
Пример #3
0
    private void OnTriggerEnter2D(Collider2D hitinfo)
    {
        Enemy enemy = hitinfo.GetComponent <Enemy>();

        if (enemy != null)
        {
            enemy.TakeDamage(damage);
        }
        Destroy(gameObject);
        FlyEnemy flyEnemy = hitinfo.GetComponent <FlyEnemy>();

        if (flyEnemy != null)
        {
            flyEnemy.TakeDamage(damage);
        }
    }
Пример #4
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        GameObject boss  = GameObject.Find("Boss");
        GameObject boss2 = GameObject.Find("Boss2");

        if (boss || boss2)
        {
            if (other.gameObject.tag == "Player")
            {
                CharacterHealth player = other.GetComponent <CharacterHealth>();
                if (player)
                {
                    CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f);
                    player.TakeDamage(1, transform.position);
                    DestroyProjectile();
                }
            }
        }

        if (other.gameObject.tag == "Enemy")
        {
            CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f);
            WallEnemyAI e  = other.GetComponent <WallEnemyAI>();
            NEnemy      e2 = other.GetComponent <NEnemy>();
            FlyEnemy    e3 = other.GetComponent <FlyEnemy>();
            if (e)
            {
                CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f);
                e.TakeDamage(1);
            }
            if (e2)
            {
                CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f);
                e2.TakeDamage(1);
            }
            if (e3)
            {
                CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f);
                e3.TakeDamage(1);
            }
        }
        if (other.gameObject.tag != "Player" && other.gameObject.tag != "Boss")
        {
            DestroyProjectile();
        }
    }
Пример #5
0
 // Use this for initialization
 void Start()
 {
     enemy = new FlyEnemy(WaveSpawner.EnemyStartLevel);
 }