Inheritance: MonoBehaviour
コード例 #1
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;
        }
    }
コード例 #2
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();
        }
    }