Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using UnityEngine;
- public class Health : MonoBehaviour
- {
- [SerializeField] private int _maxHelth = 100;//* Максимальое здоровье
- private int _currentHelth = 100; //* Текущее здоровье
- public event Action OnDeath = null; //* Событие смерти
- private void OnEnable()
- {
- //* сбрасываем здоровье к максимальному.
- //* это нужно например при спавне врага,
- //* чтобы заспавнинв того же врага, после его смерти,
- //* текущее здоробе не было рано 0
- _currentHelth = _maxHelth;
- //* Зануляем событие чтобы не было ошибок
- OnDeath = null;
- }
- /// <summary>
- /// Получение урона
- /// </summary>
- /// <param name="damage">Наносимый урон</param>
- public void TakeDamage(int damage)
- {
- _currentHelth -= damage;
- if (_currentHelth <= 0)
- {
- if (OnDeath != null)
- {
- OnDeath.Invoke();
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment