public void GenerateWave(int number,int health,string direction, int distanceBetweenRocks, float appliedForce)
    {
        for(int i=0; i<number;i++){
            tempObject = (GameObject)Instantiate(Resources.Load ("Rock"));
            script = tempObject.GetComponent<HandleRock>();
            script.health = health;
            script.maxHealth = health;

            if(direction.Equals("left")){
                tempObject.transform.position = goingLeftPosition;
                tempObject.transform.Translate(distanceBetweenRocks*i,0,0);
                tempObject.constantForce.force = new Vector3(-appliedForce,0,0);
            }
            if(direction.Equals("right")){
                tempObject.transform.position = goingRightPosition;
                tempObject.transform.Translate(-distanceBetweenRocks*i,0,0);
                tempObject.constantForce.force = new Vector3(appliedForce,0,0);
            }
            if(direction.Equals("up")){
                tempObject.transform.position = goingUpPosition;
                tempObject.transform.Translate(0,-distanceBetweenRocks*i,0);
                tempObject.constantForce.force = new Vector3(0,appliedForce,0);
            }
            if(direction.Equals("down")){
                tempObject.transform.position = goingDownPosition;
                tempObject.transform.Translate(0,distanceBetweenRocks*i,0);
                tempObject.constantForce.force = new Vector3(0,-appliedForce,0);

            }
            wave.Add (tempObject);

        }
    }
    // sets the target
    public void updateTarget(GameObject param, float seconds)
    {
        target = param;
        if(target){
            handleRockScript = target.GetComponent<HandleRock>();
            secondsAlive = seconds;
            targetPosition = param.transform.position;
        }

        StartCoroutine(autoDestroy());
    }