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()); }