public override void registerFoodLeaf(Leaf leafToRegister, Food foodBeingEaten, int sequenceLength) { if (!_connectedFoodLeaves.Contains(leafToRegister) && sequenceLength < _pulseStrength + foodBeingEaten.getEnergyAmount()) { leafToRegister.startEating(foodBeingEaten); foodBeingEaten.resolveCollision(this); _connectedFoodLeaves.Add(leafToRegister); _pulseStrength += foodBeingEaten.getEnergyAmount(); } }
public void stopEating() { _isEating = false; _foodBeingEaten = null; }
/// <summary> /// This function is recursively called on the parents until it reaches a heart or a leaf that has no parents. /// </summary> /// <param name="?"></param> public virtual void registerFoodLeaf(Leaf leafToRegister, Food foodBeingEaten, int sequenceLength = 0) { sequenceLength++; for (int i = 0; i < _parents.Count; i++) _parents[i].registerFoodLeaf(leafToRegister, foodBeingEaten, sequenceLength); }
public void startEating(Food foodBeingEaten) { _isEating = true; _foodBeingEaten = foodBeingEaten; }
public void addFood(Food food, bool doInit = true) { _foodSources.Add(food); addEntity(food, doInit); }