Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using DG.Tweening;
- using UnityEngine;
- using UnityEngine.UI;
- public class HealthBar : MonoBehaviour
- {
- [SerializeField] private float _damageAmount;
- [SerializeField] private float _healAmount;
- private Slider _healthBarSlider;
- private float _currentHealthAmount;
- private void Start()
- {
- _healthBarSlider = GetComponent<Slider>();
- _healthBarSlider.value = _healthBarSlider.maxValue;
- _currentHealthAmount = _healthBarSlider.maxValue;
- }
- public void Heal()
- {
- if (_currentHealthAmount + _healAmount >= _healthBarSlider.maxValue)
- _currentHealthAmount = _healthBarSlider.maxValue;
- else
- _currentHealthAmount += _healAmount;
- }
- public void TryApplyDamage()
- {
- if (_currentHealthAmount - _damageAmount >= _healthBarSlider.minValue)
- _currentHealthAmount -= _damageAmount;
- }
- public void UpdateHealthBar()
- {
- if (_healthBarSlider.value != _currentHealthAmount)
- _healthBarSlider.DOValue(_currentHealthAmount, 1f).SetEase(Ease.Linear);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement