public override bool checkProceduralPrecondition(GameObject agent)
    {
        //	Debug.LogError("DOES THIS EVEN RUN");
        CandyStash[] candystocker = (CandyStash[]) UnityEngine.GameObject.FindObjectsOfType ( typeof(CandyStash) );

        CandyStash closest = null;
        float closestDist = 0;

        foreach (CandyStash supply in candystocker) {
            if (closest == null) {

                closest = supply;

                closestDist = (supply.gameObject.transform.position - agent.transform.position).magnitude;
            } else {

                float dist = (supply.gameObject.transform.position - agent.transform.position).magnitude;
                if (dist < closestDist) {
                    Debug.LogError("closest2"+closest.gameObject);
                    closest = supply;
                    closestDist = dist;
                }
            }
        }
        if (closest == null)
            return false;

        CandyStash = closest;
        target = CandyStash.gameObject;

        return closest != null;
    }
 public override void reset()
 {
     droppedOffCandy = false;
     CandyStash = null;
 }