private void TeleportClosestEnemyOrAgent()
    {
        GameObject[] enemies                   = GameObject.FindGameObjectsWithTag("Enemy");
        GameObject   closestEnemy              = GameObject.FindGameObjectWithTag("Agent");
        float        closestEnemyDistance      = (closestEnemy == null) ? 100 : Vector3.Distance(closestEnemy.transform.position, transform.position);
        bool         foundEnemyCloserThanAgent = false;

        foreach (var enemy in enemies)
        {
            float dist = Vector3.Distance(enemy.transform.position, transform.position);
            if (dist < closestEnemyDistance)
            {
                closestEnemyDistance      = dist;
                closestEnemy              = enemy;
                foundEnemyCloserThanAgent = true;
            }
        }

        if (!foundEnemyCloserThanAgent)
        {
            _agentController.TeleportAgent();
        }
        else
        {
            closestEnemy.GetComponent <Enemy>().SelfDestroy();
            _agentController.DecrementPlayerTeleportTrapRemaining();
        }
    }