public void Eat(int hungerEffectiveness) { Necessities.Rating previousHungerRating = Necessities.Hunger; Necessities.AdjustHunger(hungerEffectiveness); log.Debug(String.Format("Employee named {0} just ate to increase hunger need from {1} to {2}.", FullName, previousHungerRating, Necessities.Hunger)); // if, after eating, our hunger is above the threshold AND our previous hunger was below the threshold, our hunger has been satisfied, notify subscribers if (Necessities.Hunger >= Necessities.Rating.Neutral && previousHungerRating < Necessities.Rating.Neutral) { OnThoughtSatisfied(ThoughtType.Hungry); } }
public void Drink(int thirstEffectiveness) { Necessities.Rating previousThirstRating = Necessities.Thirst; Necessities.AdjustThirst(thirstEffectiveness); log.Debug(String.Format("Employee named {0} just drank to increase thirst need from {1} to {2}.", FullName, previousThirstRating, Necessities.Thirst)); // if, after drinking, our thirst is above the threshold AND our previous thirst was below the threshold, our thirst has been satisfied, notify subscribers if (Necessities.Thirst >= Necessities.Rating.Neutral && previousThirstRating < Necessities.Rating.Neutral) { OnThoughtSatisfied(ThoughtType.Thirsty); } }