private void FindNearestEnemy()
    {
        float shortestDistance = Mathf.Infinity;
        int   index            = 0;

        for (int i = 0; i < enemies.Count; i++)
        {
            if (enemies[i] == null)
            {
                enemies.RemoveAt(i);
                continue;
            }

            if (Vector3.Distance(transform.position, enemies[i].position) < shortestDistance)
            {
                shortestDistance = Vector3.Distance(transform.position, enemies[i].position);
                index            = i;
            }
        }

        if (enemies.Count == 0)
        {
            // Игрок победил
            UI_Controller ui_controller = FindObjectOfType <UI_Controller>();
            ui_controller?.ShowPanel(true);
        }
        else
        {
            target = enemies[index];
        }
    }
    private void CharacterDeath()
    {
        GameObject effect = Instantiate(deathEffect, transform.position, Quaternion.identity);

        Destroy(effect, 5.0f);
        Destroy(gameObject, 0.25f);

        // Отобразить UI проигрыша
        if (isPlayer)
        {
            UI_Controller ui_controller = FindObjectOfType <UI_Controller>();
            ui_controller?.ShowPanel();
        }
    }