private IEnumerator ProccesLife() { while (_isLife) { if (_timeHunger <= 0) { _hunger = Mathf.Clamp(_hunger + _stepGrowthHunger, _minHungerLavel, _maxHungerLavel); _timeHunger = _periodHunger; HungerChanged?.Invoke(_hunger); } else { _timeHunger -= Time.deltaTime; } if (_timeDrink <= 0) { _sewageTreatment.Drink(_countWaterDrinking); _timeDrink = _periodDrink; } else { _timeDrink -= Time.deltaTime; } yield return(null); } }
public void Eaten() { _animator.SetBool("BackIdle", false); if (_greenhouse.TakeFood()) { _hunger = Mathf.Clamp(_hunger - _countHungerInOnePortionFood, _minHungerLavel, _maxHungerLavel); } HungerChanged?.Invoke(_hunger); }
public static void InvokeHungerChanged(Mobile mobile, int oldValue) => HungerChanged?.Invoke(mobile, oldValue);
public static void InvokeHungerChanged(HungerChangedEventArgs e) { HungerChanged?.Invoke(e); }