Пример #1
0
 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();
     }
 }
Пример #2
0
 public void stopEating()
 {
     _isEating = false;
     _foodBeingEaten = null;
 }
Пример #3
0
        /// <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);
        }
Пример #4
0
 public void startEating(Food foodBeingEaten)
 {
     _isEating = true;
     _foodBeingEaten = foodBeingEaten;
 }
Пример #5
0
 public void addFood(Food food, bool doInit = true)
 {
     _foodSources.Add(food);
     addEntity(food, doInit);
 }