public virtual void Initialize() { Health = _unit.UnitData.MaxHealth; MaxHealth = Health; OnCurrentHealthChanged?.Invoke(Health); OnMaxHealthChanged?.Invoke(MaxHealth); }
public void ChangeMaxHealth(int newMaxHealth) { maxHealth = newMaxHealth; int exessHealth = currentHealth - maxHealth; if (currentHealth < maxHealth) { currentHealth = maxHealth; } OnMaxHealthChanged?.Invoke(this, new OnMaxHealthChangedArgs { excessHealth = exessHealth }); }
public void SetMaxHealth(float value) { maxHealth = Mathf.Clamp(value, 0, float.MaxValue); currentHealth = Mathf.Clamp(currentHealth, 0, maxHealth); OnMaxHealthChanged?.Invoke(maxHealth); }