public int SetCurrLives(int _to, bool _canExceedMax = false)
{
if (!Validate("MinigamesUILives")) { return 0; }
if (!_canExceedMax && _to > MaxLives) {
_to = MaxLives;
}
if (CurrLives == _to) {
return CurrLives;
}
if (_to < 0) {
_to = 0;
}
CurrLives = _to;
for (int i = 0; i < lives.Count; i++) {
MinigamesUISingleLife life = lives[i];
if (i < _to) {
life.Gain();
} else {
life.Lose();
}
}
_to -= lives.Count;
while (_to > 0) {
_to--;
MinigamesUISingleLife life = (MinigamesUISingleLife)Instantiate(LifePrefab, LifePrefab.transform.parent, false);
life.gameObject.SetActive(true);
lives.Add(life);
}
int actualMaxLives = lives.Count;
if (MaxLives < actualMaxLives) {
MaxLives = actualMaxLives;
}
return _to;
}