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(); } }