49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
using UnityEngine;
|
||
using UnityEngine.UI; // Для работы с UI
|
||
using TMPro; // Для работы с TextMeshPro
|
||
|
||
public class PlayerHealth : MonoBehaviour
|
||
{
|
||
public int maxHealth = 100;
|
||
public int currentHealth;
|
||
|
||
public TextMeshProUGUI healthText; // Ссылка на текст для отображения здоровья
|
||
|
||
void Start()
|
||
{
|
||
currentHealth = maxHealth;
|
||
UpdateHealthText();
|
||
}
|
||
|
||
public void TakeDamage(int damage)
|
||
{
|
||
currentHealth -= damage;
|
||
UpdateHealthText();
|
||
|
||
if (currentHealth <= 0)
|
||
{
|
||
Die();
|
||
}
|
||
}
|
||
|
||
void UpdateHealthText()
|
||
{
|
||
if (healthText != null)
|
||
{
|
||
healthText.text = "Здоровье: " + currentHealth;
|
||
}
|
||
}
|
||
|
||
void Die()
|
||
{
|
||
// Пока просто выводим сообщение в консоль и перезапускаем сцену
|
||
Debug.Log("Игрок погиб!");
|
||
// Для перезапуска сцены нужно добавить: using UnityEngine.SceneManagement;
|
||
// SceneManager.LoadScene(SceneManager.GetActiveScene().name);
|
||
|
||
// Деактивируем управление игрока
|
||
GetComponent<PlayerMovement>().enabled = false;
|
||
// Можно также показать экран "Game Over"
|
||
}
|
||
}
|