Beispiel #1
0
    // 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);
        }
    }
Beispiel #2
0
 // Use this for initialization
 void Awake()
 {
     pmb = this.GetComponent <PartsMovingBehavior> ();
     RandomizeType();
 }