// taking the center of the car as referencePoint, void spawnSpareParts(int numberOfPartsSpawned) { Vector3 movingDirection = this.transform.up; Vector3 startingPosition = new Vector3(xTargetPosition, yTargetPosition, 0.0f); Vector3 farthestPartsFromLeft = startingPosition; if ((numberOfPartsSpawned % 2) == 0) //is even { farthestPartsFromLeft -= transform.right * distanceBetweenSparePartsWhenSpawned / 2; farthestPartsFromLeft -= transform.right * (numberOfPartsSpawned / 2 - 1) * distanceBetweenSparePartsWhenSpawned; } else { farthestPartsFromLeft -= transform.right * (numberOfPartsSpawned - 1) / 2 * distanceBetweenSparePartsWhenSpawned; } Vector3 SpawnPosition = farthestPartsFromLeft; for (int i = 0; i < numberOfPartsSpawned; i++) { Vector3 spawnPosition = farthestPartsFromLeft + transform.right * i * distanceBetweenSparePartsWhenSpawned; // spawn the object //TODO: Create ObjectPool PartsMovingBehavior newObject = GameObject.Instantiate(sparePartsPrefab, this.transform.position, Quaternion.identity).GetComponent <PartsMovingBehavior>(); newObject.flungTo(spawnPosition); } }
// Use this for initialization void Awake() { pmb = this.GetComponent <PartsMovingBehavior> (); RandomizeType(); }