コード例 #1
0
    private void OnTriggerEnter2D(Collider2D coll)
    {
        if (!coll.isTrigger)        // чтобы пуля не реагировала на триггер
        {
            switch (coll.tag)
            {
            case "Enemy":
                EnemyBrain1 enemy = coll.GetComponent <EnemyBrain1>();
                if (enemy != null)
                {
                    enemy.TakeDamage(damage);
                }
                Destroy(gameObject);
                break;

            case "Tale":
                Destroy(gameObject);
                break;

            case "Player":

                break;
            }
        }
    }
コード例 #2
0
    //private void OnTriggerStay2D(Collider2D collision)
    //{

    //}

    private void HitSword()
    {
        int n = _objInCollider.Count;
        int i = 0;
        int j = 0;

        while (j < n)
        {
            try
            {
                foreach (Collider2D coll in _objInCollider)
                {
                    if (j >= i)
                    {
                        EnemyBrain1 enemy = coll.GetComponent <EnemyBrain1>();
                        if (enemy != null)
                        {
                            enemy.TakeDamage(damage);
                            Debug.Log(_objInCollider.Count);
                        }
                    }

                    j++;
                }
            }
            catch
            {
                n -= 1;
                i  = j - 1;
                j  = 0;
                Debug.Log(_objInCollider.Count);
            }
        }
        Debug.Log("Success damage");
    }