private void GainHp(int value) { PlaySpecialSfx(PickupItemAudioClip); _currentHealth = healthBar.GetCurrentValue() + value >= healthBar.GetCurrentMaxValue() ? healthBar.GetCurrentMaxValue() : healthBar.GetCurrentValue() + value; healthBar.SetValue(_currentHealth); SetBarTextValue(ref playerHpUiValue, _currentHealth.ToString(), healthBar.GetCurrentMaxValue().ToString()); }
private void GainExp(SliderScript bar, int expValue, ref int nextLevelExpReq, ref int currentBarLevel, ref TextMeshProUGUI textMeshProUGUI) { if (currentBarLevel >= MaxLevel) return; PlaySpecialSfx(PickupItemAudioClip); var barCurrentValue = bar.GetCurrentValue() + expValue; if (barCurrentValue >= bar.GetCurrentMaxValue()) { barCurrentValue -= nextLevelExpReq; bar.SetValue(barCurrentValue); nextLevelExpReq += NextLevelExpReqOffset; bar.SetMaxValue(nextLevelExpReq); ++currentBarLevel; switch (bar.tag) { case PlayerExpUiTag: playerLevel.text = currentBarLevel.ToString(); _currentMaxHealth += MaxHealth; healthBar.SetMaxValue(_currentMaxHealth); SetBarTextValue(ref playerHpUiValue, _currentHealth.ToString(), _currentMaxHealth.ToString()); break; case WepExpUiTag: _weaponDamage += WeaponBaseDamage; break; } if (currentBarLevel >= MaxLevel) { bar.SetValue(bar.GetCurrentMaxValue()); SetBarTextValue(ref textMeshProUGUI, MaxExpText, MaxExpText); return; } } else bar.SetValue(barCurrentValue); SetBarTextValue(ref textMeshProUGUI, barCurrentValue.ToString(), bar.GetCurrentMaxValue().ToString()); }