public bool ConsumeFood(FoodNeed foodNeed) { if (_foodStack.Count > 0) { foodNeed.Value += _foodStack.Pop(); UpdateFoodCount(); return(true); } return(false); }
// Start is called before the first frame update void Start() { FoodNeed = new FoodNeed(); SleepingNeed = new SleepingNeed(); SocialNeed = new SocialNeed(); var newLst = new HashSet <INeed>() { FoodNeed, SleepingNeed, SocialNeed }; _needLst = newLst.ToList(); _nextUpdate = UPDATE_INTERVAL; }
bool WantsFood(FoodNeed foodNeed) { var num = 100; if (foodNeed.Value <= foodNeed.MaxValue * 0.5) { num = 50; } else if (foodNeed.Value <= foodNeed.MaxValue * 0.7) { num = 80; } return(Random.Range(0, 100) >= num); }
bool DesperateForFood(FoodNeed foodNeed) { return(foodNeed.Value <= foodNeed.MaxValue * FOOD_STARVING_THRESHHOLD); }