Пример #1
0
        protected override bool OnDone(GoapAgent agent, WithContext context)
        {
            //destroy plant if finished
            Weed weed = context.target as Weed;

            var backpack = agent.GetComponent <Container>();

            backpack.items[resource] += amountToHarvest;

            if (fromBros)
            {
                var       bro    = context.target as BroForReal;
                Container broBag = bro.GetComponent <Container>();
                broBag.items[resource] -= amountToHarvest;
            }
            else if (weed != null && weed.ToString() != "Null" && weed.ToString() != "null")
            {
                weed.amount -= amountToHarvest;
                if (weed.amount <= 0)
                {
                    GameObject weedObj = weed.gameObject;
                    Destroy(weedObj);
                }
            }
            // Refresh list
            RefreshTargets();

            return(base.OnDone(agent, context));
        }
Пример #2
0
 protected override bool OnDone(GoapAgent agent, WithContext context)
 {
     if (context.target.GetType() == typeof(Weed))
     {
         Weed weed = context.target as Weed;
         if (weed != null && weed.ToString() != "Null" && weed.ToString() != "null")
         {
             weed.amount -= eatAmount;
         }
         if (weed.amount <= 0)
         {
             GameObject weedObj = weed.gameObject;
             Destroy(weedObj);
         }
     }
     else
     {
         Candy candy = context.target as Candy;
         if (candy != null && candy.ToString() != "Null" && candy.ToString() != "null")
         {
             candy.amount -= eatAmount;
         }
         if (candy.amount <= 0)
         {
             GameObject candyObj = candy.gameObject;
             Destroy(candyObj);
         }
     }
     if (agent.GetType() == typeof(Dog))
     {
         Dog dog = agent as Dog;
         dog.wantMoreFood();
     }
     RefreshTargets();
     return(base.OnDone(agent, context));
 }