Added basic features
This commit is contained in:
28
Assets/Scripts/Health.cs
Normal file
28
Assets/Scripts/Health.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class Health : MonoBehaviour, IDamageable
|
||||
{
|
||||
private float _currentHealth;
|
||||
|
||||
[SerializeField]
|
||||
private float _maxHealth = 100.0f;
|
||||
|
||||
public event DamageEventHandler OnDamageTaken;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_currentHealth = _maxHealth;
|
||||
}
|
||||
|
||||
public void Damage(float damageAmount)
|
||||
{
|
||||
var oldHealth = _currentHealth;
|
||||
_currentHealth -= damageAmount;
|
||||
OnDamageTaken?.Invoke(new DamageData
|
||||
{
|
||||
oldHealth = oldHealth,
|
||||
newHealth = _currentHealth,
|
||||
damageAmount = damageAmount
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user