让所有敌人在 unity 2d 中攻击对撞机内的玩家

Getting all enemies to attack the player inside a collider in unity 2d

我正在使用 Unity 2D 制作游戏。所以这是我的问题,如果玩家触发对撞机(大区域),我如何让对撞机内的所有敌方游戏对象攻击玩家?

我想做,但我不知道怎么做。

void OnTriggerEnter2D(Collider2D other)
    {
        //all enemies inside this collider attack the player
    }

有人可以帮助我吗?

使用OverlapAreaAll获得一个区域内的所有敌人。

    public LayerMask enemyLayerMask;
    private void OnTriggerEnter2D(Collider2D other)
    {
        Collider2D thisCollider = GetComponent<Collider2D>();
        Collider2D[] enemyColliders = Physics2D.OverlapAreaAll(thisCollider.bounds.min, thisCollider.bounds.max, enemyLayerMask);
        foreach(Collider2D enemyCol in enemyColliders)
        {
             Enemy enemy = enemyCol.gameObject.GetComponent<Enemy>();
             if (enemy != null)
             {
                 enemy.AttackPlayer();
             }
        }
    }