Esempio n. 1
0
 public override void Execute(IODAAgent source, IODAAgent target)
 {
     //Get Energy from berries
     Berry b = target.GetComponent<Berry>();
     //Debug.Log(source.ToString() + " eats a berry (+" + target.GetComponent<EvolutionAgent>().energy +")");
     //b.energy += b.energy;
 }
Esempio n. 2
0
    public override void Execute(IODAAgent source, IODAAgent target)
    {
        //Get Energy from corpse
        AnimalAgent b = target.GetComponent<AnimalAgent>();
        AnimalAgent a = source.GetComponent<AnimalAgent>();

        //if (a.timerHolder.ConsumeToken("attack"))
        //{
            //fight result calculator
            float fightResult = FightCalculator(a, b);
            if (fightResult >= 0.0f)
            {
                b.RemoveToValue(EvolutionNames.AgentSelf.Health,fightResult);
                //b.health = b.health - fightResult;
            }
            else
            {
                b.RemoveToValue(EvolutionNames.AgentSelf.Health,fightResult);
                a.AddToValue(EvolutionNames.AgentSelf.Health,fightResult);
                //a.health = a.health + fightResult;
            }
            a.gameObject.transform.LookAt(b.gameObject.transform);

            a.GetAAC().fightAnimation();

            //Debug.Log(source.ToString() + " fight and deals (" + fightResult + ") dmg");

        //}
    }
Esempio n. 3
0
 public override void Execute(IODAAgent source, IODAAgent target)
 {
     source.SetDebug("Wiggle");
     AnimalAgent agent = source.GetComponent<AnimalAgent>() as AnimalAgent;
     agent.Wiggle();
     //Debug.Log("Wiggle");
 }
Esempio n. 4
0
 public override void Execute(IODAAgent source, IODAAgent target)
 {
     source.SetDebug("GrowPlant");
         PlantAgent plant = (PlantAgent)source.GetComponent<PlantAgent>();
         if (!plant.IsMature())
         {
             plant.Grow(Time.deltaTime, Time.timeScale);
         }
 }
Esempio n. 5
0
 public override bool IsTriggered(IODAAgent source, IODAAgent target)
 {
     AnimalAgent agent = source.GetComponent<AnimalAgent>() as AnimalAgent;
     if (agent.GetEnergy() < agent.GetEnergyMaximum() / 2)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
Esempio n. 6
0
    public override void Execute(IODAAgent source, IODAAgent target)
    {
        source.SetDebug("EatCorpse");
        //Get Energy from corpse
        CorpseAgent b = target.GetComponent<CorpseAgent>();
        AnimalAgent a = source.GetComponent<AnimalAgent>();

        a.GetAAC().eatingAnimation();

        a.AddToValue(EvolutionNames.AgentSelf.Energy,b.Take());
        //Debug.Log(source.ToString() + " eats a corpse (+" + b.reserve + ")");
    }
Esempio n. 7
0
    public override bool IsValid(IODAAgent source, IODAAgent target)
    {
        //target exists and is a Animal and animal is carnivore
        if (target == null)
            return false;

        AnimalAgent b = target.GetComponent<AnimalAgent>();
        if (b == null || !source.GetComponent<AnimalAgent>().IsCarnivore())
            return false;
        //distance to fight
        if (source.DistanceTo(target) > distance)
            return false;

        return true;
    }
Esempio n. 8
0
    public override bool IsValid(IODAAgent source, IODAAgent target)
    {
        //target exists and is a bush
        if (target == null)
            return false;

        Berry b = target.GetComponent<Berry>();
        if(b == null)
            return false;

        if(distance!= -1 && source.DistanceTo(target) < distance)
                return true;

        return false;
    }
Esempio n. 9
0
    public override bool IsValid(IODAAgent source, IODAAgent target)
    {
        //target exists and is a bush
        if (target == null)
            return false;

        CorpseAgent b = target.GetComponent<CorpseAgent>();
        if (b == null)
            return false;

        if (source.DistanceTo(target) > distance)
            return false;

        return true;
    }
Esempio n. 10
0
    public override void Execute(IODAAgent source, IODAAgent target)
    {
        source.SetDebug("SeekFood");
        //GameObject.FindGameObjectWithTag("GameController").GetComponent<QuestManager>().SendMessage("EventListner", "fight");
        AnimalAgent agent = source.GetComponent<AnimalAgent>() as AnimalAgent;
        if (agent != null)
        {
            List<EvolutionAgent> percepts = agent.GetPerceptGetter().GetPercepts();
            EvolutionAgent foundTarget = null;
            if (agent.IsCarnivore())
            {
                foundTarget = SeekCorpse(agent, percepts);
                if (!foundTarget)
                {
                    foundTarget = SeekAnimal(agent, percepts);
                }
            }
            else
            {
                foundTarget = SeekBush(agent, percepts);
            }

            if (null != foundTarget)
            {
                source.target = foundTarget.GetComponent<IODAAgent>();
                source.SetDebug("SeekFood-Found");
            }
            else
            {
                source.target = null;
                source.SetDebug("SeekFood-Not found");

            }

            if (null != source.target)
            {
                source.SetDebug("SeekFood-MoveToward");
                agent.MoveTowards(source.target.GetComponent<EvolutionAgent>());
            }
            else
            {
                agent.Wiggle();
                source.SetDebug("SeekFood-Wiggle");

            }
        }
    }
Esempio n. 11
0
    public override void Execute(IODAAgent source, IODAAgent target)
    {
        source.SetDebug("EatBush");
        //Get Energy from berries
        Bush b = target.GetComponent<Bush>();
        AnimalAgent a = source.GetComponent<AnimalAgent>();

        if (b.IsMature())
        {
            a.GetAAC().eatingAnimation();
            a.AddToValue(EvolutionNames.AgentSelf.Energy, b.Take());
            //a.RemoveBush(target.gameObject);
            //Debug.Log(source.ToString() + " eats a bush (+" + b.growMax + ")");
        }
        else
        {
            source.target = null;
        }
    }
Esempio n. 12
0
 public override bool IsTriggered(IODAAgent source, IODAAgent target)
 {
     //Berries are mature
     Bush b = target.GetComponent<Bush>();
     return b.IsMature();
 }
Esempio n. 13
0
 public override bool IsValid(IODAAgent source, IODAAgent target)
 {
     AnimalAgent aa = source.GetComponent<AnimalAgent>() as AnimalAgent;
     return aa != null;
 }
Esempio n. 14
0
 public override bool IsTriggered(IODAAgent source, IODAAgent target)
 {
     //Berries are mature
     Berry b = target.GetComponent<Berry>();
     return b != null && b.IsMature();
 }
Esempio n. 15
0
 public override bool IsValid(IODAAgent source, IODAAgent target)
 {
     PlantAgent pa = source.GetComponent<PlantAgent>();
         return pa != null;
 }