Ejemplo n.º 1
0
    public override bool CheckProceduralPrecondition(GameObject _agent)
    {
        ChopableTree[] animals = FindObjectsOfType <ChopableTree>();
        ChopableTree   closest = null;
        float          dist    = 0;

        foreach (ChopableTree a in animals)
        {
            if (a.isFound)
            {
                if (closest == null)
                {
                    closest = a;
                    dist    = Vector3.Distance(transform.position, a.transform.position);
                }
                else
                {
                    float dist2 = Vector3.Distance(transform.position, a.transform.position);
                    if (dist > dist2)
                    {
                        closest = a;
                        dist    = dist2;
                    }
                }
            }
        }
        if (closest != null)
        {
            targetTree = closest;
            target     = targetTree.gameObject;
        }

        return(closest != null);
    }
Ejemplo n.º 2
0
 public override void Reset()
 {
     chopped    = false;
     targetTree = null;
     startTime  = 0;
 }