Пример #1
0
    public void EatFoodTile()
    {
        FoodTile foodTile = agent.currentTile as FoodTile;

        if (IsHungry() && foodTile.ConsumeFood(agent))
        {
            EatFoodAmount(foodTile.foodEnergy);
            agent.TriggerLifeEvent("Ate Hay");
            timesEatenVeg++;
        }
    }
Пример #2
0
    // Food Tiles / Herbivores

    bool HeadForFoodTile()
    {
        MapTile[] foodTiles = agent.currentTile.PassableNeighboringTilesOfTypeForAgent(MapTileType.Food, agent) as MapTile[];
        if (foodTiles != null && foodTiles.Length > 0)
        {
            FoodTile foodTile = foodTiles[Random.Range(0, foodTiles.Length)] as FoodTile;
            if (foodTile.CanConsumeFood(agent))
            {
                agent.MoveToTile(foodTile);
                return(true);
            }
        }
        return(false);
    }
Пример #3
0
 /// <summary>
 /// remove food from foods ( sync _spaces )
 /// </summary>
 public void Eat(FoodTile food)
 {
     _spaces.Add(food.Location);
     _h.FoodCanvas.Children.Remove(food);
     _foods.Remove(food);
 }