Esempio n. 1
0
    void Update()
    {
        if (transform.position.x < generationPoint.position.x)
        {
            Debug.Log(theObjectPools.Length);
            distanceBetween  = Random.Range(distanceBetweenMin, distancebetweenMax);
            platformSelector = Random.Range(0, theObjectPools.Length);//arrayn pituus
            heightChange     = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange);

            if (heightChange > maxHeight)
            {
                heightChange = maxHeight;
            }
            else if (heightChange < minHeight)

            {
                heightChange = minHeight;
            }
            transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, heightChange, transform.position.z);//siirtää platformia


            //Instantiate(/*thePlatform*/thePlatforms[platformSelector], transform.position, transform.rotation);//kopsaa platformit
            GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject();

            newPlatform.transform.position = transform.position;
            newPlatform.transform.rotation = transform.rotation;
            newPlatform.SetActive(true);


            if (Random.Range(0f, 100f) < randomCoinThreshold)
            {
                thePickUpGenerator.SpawnPickUps(new Vector3(transform.position.x, transform.position.y + 1.0f, transform.position.z));
            }

            transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z);

            if (Random.Range(0f, 100f) < randomSpikeThreshold)
            {
                GameObject newSpike = spikePool.GetPooledObject();

                float spikeXPosition = Random.Range(0f, -platformWidths[platformSelector]);

                Vector3 spikePosition = new Vector3(spikeXPosition, 0.75f, 0f);

                newSpike.transform.position = transform.position + spikePosition;
                newSpike.transform.rotation = transform.rotation;
                newSpike.SetActive(true);
            }
        }
    }