void Start() { while (transform.position.x > startPoint.x) { GameObject obj = pooler.getUnactiveObject(); platformWidth = getWidthofPlatform(obj); float height = Random.Range(0.0f, 4.0f); Vector3 newPosition = new Vector3(startPoint.x + platformWidth / 2, transform.position.y + height, obj.transform.position.z); obj.transform.position = newPosition; obj.transform.rotation = transform.rotation; obj.SetActive(true); enemyGeneration.SpawnEnemy(obj); startPoint.x += platformWidth + Random.Range(minDistance, maxDistance); lastPlatform = obj; if (Random.Range(0, 100) >= debuffThreshold) { float newX = (startPoint.x + newPosition.x + platformWidth / 2.0f) / 2.0f; float newY = newPosition.y + height + 2f; Vector3 debuffPosition = new Vector3(newX, newY, newPosition.z); debuffGenerator.spawnDebuff(debuffPosition); } if (Random.Range(0, 100) >= randomCoinThreshold) { newPosition.y += 1.0f; TheCoinGenerator.SpawnCoins(newPosition); } } }
void Update() { if (transform.position.x < groundPoint.position.x) { int random = Random.Range(0, groundPoolers.Length); float distance = groundWidths[random] / 3; float gap = Random.Range(minGap, maxGap); float height = Random.Range(minY, maxY); transform.position = new Vector3( transform.position.x + distance + gap, height, transform.position.z ); GameObject ground = groundPoolers[random].GetPooledGameObject(); ground.transform.position = transform.position; ground.SetActive(true); coinGenerator.SpawnCoins(transform.position, groundWidths[random]); transform.position = new Vector3( transform.position.x + distance, transform.position.y, transform.position.z ); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, objectPools.Length); 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); GameObject newPlatform = objectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinThreshold) { coinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }
void CoinGeneration() { if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, (transform.position.y + 1f), transform.position.z)); } }
void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetwen = Random.Range(distanceBetwenMin, distanceBetwenMax); platformSelector = Random.Range(0, theObjectPoolers.Length); 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 + distanceBetwen, HeightChange, transform.position.z); // Instantiate(thePlatforms[platformSelector], transform.position, transform.rotation); GameObject newPlatform = theObjectPoolers[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0, 100) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector]) / 2, transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); transform.position = new Vector3(transform.position.x + distanceBetween, Random.Range(-3.0f, -0.4f), transform.position.z); enemySelector = Random.Range(0, theObjectPools.Length); //Instantiate (/*theEnemy*/theEnemies[enemySelector], transform.position,transform.rotation); //Object Pooling GameObject newEnemy = theObjectPools[enemySelector].GetPooledObject(); newEnemy.transform.position = transform.position; newEnemy.transform.rotation = transform.rotation; newEnemy.SetActive(true); theCoinGenerator.SpawnCoins(new Vector3(Random.Range(transform.position.x + distanceBetween / 4f, transform.position.x + (3f * distanceBetween / 4f)), Random.Range(-3.0f, -0.4f), transform.position.z)); if (Random.Range(0f, 100f) <= powerupThreshold) { GameObject newPowerup = powerupPool.GetPooledObject(); newPowerup.transform.position = new Vector3(Random.Range(transform.position.x, transform.position.x + distanceBetween), Random.Range(-3.0f, -0.4f), transform.position.z); newPowerup.transform.rotation = transform.rotation; newPowerup.SetActive(true); } } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, theObjectPools.Length); transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, transform.position.y, transform.position.z); //Instantiate (/*thePlatform*/ thePlatforms[platformSelector], transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { //randomise platforms distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, theObjectPools.Length); //to randonly change platform height heightChange = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange); if (heightChange > maxHeight) { heightChange = maxHeight; } else if (heightChange < minHeight) { heightChange = minHeight; } //generate platforms transform.position = new Vector3(transform.position.x + platformWidths[platformSelector] + distanceBetween, heightChange, transform.position.z); //Instantiate (/*thePlatform*/thePlatforms[platformSelector], transform.position, transform.rotation); //change to use obj pooler to generate platforms GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); //generate coins 'randomly' if (Random.Range(0f, 100f) < randomCoinRate) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } //generate spikes randomlyy if (Random.Range(0f, 100f) < randomSpikeRate) { GameObject newSpike = spikePool.GetPooledObject(); float spikeXPosition = Random.Range(-platformWidths [platformSelector] / 2 + 1f, platformWidths [platformSelector] / 2 - 1f); Vector3 spikePosition = new Vector3(spikeXPosition, 0.5f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + platformWidths[platformSelector], transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, theObjectPools.Length); heightChange = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange); if (heightChange > maxHeight) { heightChange = maxHeight; } else if (heightChange < minHeight) { heightChange = minHeight; } if (Random.Range(0f, 100f) < powerupThreshold) { GameObject newPowerup = powerupPool.GetPooledObject(); newPowerup.transform.position = transform.position + new Vector3(distanceBetween / 2f, Random.Range(powerupHeight / 2f, powerupHeight), 0f); newPowerup.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, heightChange, transform.position.z); // Instantiate(/* thePlatform */ thePlatforms[platformSelector], transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } if (Random.Range(0f, 100f) < randomSpikeThreshold) { GameObject newSpike = spikePool.GetPooledObject(); float spikeXPosition = Random.Range(-platformWidths[platformSelector] / 2f + 1f, platformWidths[platformSelector] / 2f - 1f); Vector3 spikePosition = new Vector3(spikeXPosition, 0.5f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }
// Generate Coins void coinGenerate() { if (Random.Range(0f, 100f) < randomCoinThreshold) { //Generating random Coins theCoinGenerator.SpawnCoins(platformSelector, platformWidths[platformSelector], new Vector3(transform.position.x, transform.position.y + 1.5f, transform.position.z)); } }
void generateCoins() { // generate coins on top of the new platform if (Random.Range(0f, 100f) < randomCoinThreshold) { coinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z), 4); // num coins } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { //Randomly generates the range between the platforms distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); //Randomly selects the size of the platform platformSelector = Random.Range(0, theObjectPools.Length); heightChange = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange); if (heightChange > maxHeight) { heightChange = maxHeight; } else if (heightChange < minHeight) { heightChange = minHeight; } //The x and y distance for each platform transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, heightChange, transform.position.z); //Instantiating objects (Currently best for testing) //Instantiate(/*thePlatorm*/ thePlatforms[platformSelector], transform.position, transform.rotation); //Pooling helps to use memory efficiently instead of creating and destroying //which uses more memory than required. GameObject newPlatform = theObjectPools[platformSelector].getPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); //Coin Generator if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } //Spike Generator if (Random.Range(0f, 100f) < randomSpikeThreshold) { GameObject newSpike = spikePool.getPooledObject(); float spikeXPosition = Random.Range(-platformWidths[platformSelector] / 2f + 1f, platformWidths[platformSelector] / 2f - 1f); Vector3 spikePosition = new Vector3(spikeXPosition, .5f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, transform.position.y, transform.position.z); } }
void Update() { if (transform.position.x < GenerationPoint.position.x) { DistanceBetween = Random.Range(DistanceBetweenMin, DistanceBetweenMax); platformSelector = Random.Range(0, ObjectPools.Length); heightChange = transform.position.y + Random.Range(-MaxHeightChange, MaxHeightChange); if (heightChange > maxPlatformHeight) { heightChange = maxPlatformHeight; } else if (heightChange < minPlatformHeight) { heightChange = minPlatformHeight; } transform.position = new Vector3(transform.position.x + (plaformWidths[platformSelector] / 2) + DistanceBetween, heightChange, transform.position.z); if (Random.Range(0, 100f) < RandomPowerupThreshold) { var newPowerup = PowerupPool.GetPooledObject(); newPowerup.transform.position = transform.position + new Vector3(DistanceBetween / 2, Random.Range(PowerupHeight / 2, PowerupHeight), 0f); newPowerup.transform.rotation = transform.rotation; newPowerup.SetActive(true); } var newPlatform = ObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0, 100f) < RandomCoingThreshold) { coinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1.5f, transform.position.z)); } if ((Random.Range(0, 100f) < RandomSpikeThreshold) && ShouldCreateSpikes) { var newSpike = SpikePool.GetPooledObject(); var spikeXPosition = Random.Range(-plaformWidths[platformSelector] / 2f + 1f, plaformWidths[platformSelector] / 2f - 1f); var spikePosition = new Vector3(spikeXPosition, 0.5f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + (plaformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, theObjectPools.Length); 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] / 2f) + distanceBetween, heightChange, transform.position.z); //Instantiate(/*thePlatform*/ theObjectPools[platformSelector], transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinTreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 2f, transform.position.z)); } if (Random.Range(0f, 100f) < randomGreenblobTreshold) { greenBlobGenerator.SpawnBlob(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } if (Random.Range(0f, 100f) < randomSpikeTreshold) { //theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); GameObject newSpike = spikepool.GetPooledObject(); float spikeXPosition = Random.Range((-platformWidths[platformSelector] / 2f) + 2f, (platformWidths[platformSelector] / 2f) - 2f); Vector3 spikePosition = new Vector3(spikeXPosition, 1f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2f), transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, theObjectPools.Length); 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); //Instantiate(/*thePlatform*/thePlatforms[platformSelector], transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); //this stops coins being spawned on everysingle platform and randomizes which platform it spawns on if (Random.Range(0f, 100f) < randomCoinTreshold) { //spawns coins on top of platforms theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } //pooling the spikes if (Random.Range(0f, 100f) < randomSpikeThreshold) { GameObject newSpike = spikePool.GetPooledObject(); float spikeXPosition = Random.Range(-platformWidths[platformSelector] / 2f + 1f, platformWidths[platformSelector] / 2f - 1f); //the spikes will spawn in different spots on the platforms rather than a single spot every time. making the game a little harder Vector3 spikePosition = new Vector3(spikeXPosition, 0.2f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, thePlatforms.Length); heightChange = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange); //transform.position=new Vector3(transform.position.x+platformWidths[platformSelector]+distanceBetween,transform.position.y,transform.position.z); 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); //Instantiate(thePlatform,transform.position,transform.rotation); //Instantiate(thePlatforms[platformSelector],transform.position,transform.rotation); /*GameObject newPlatform=theObjectPool.GetPooledObject(); * newPlatform.transform.position=transform.position; * newPlatform.transform.rotation=transform.rotation; * newPlatform.SetActive(true);*/ GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); //#14 Random Coin Placement if (Random.Range(0f, 100f) < randomCoinThreshold) { //generate Coin above platform theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1, transform.position.z)); } //#20 Extra Danger Spikes if (Random.Range(0f, 100f) < randomSpikeThreshold) { GameObject newSpike = spikePool.GetPooledObject(); float spikeXPosition = Random.Range(-platformWidths[platformSelector] / 2f + 1f, platformWidths[platformSelector] / 2f - 1f); Vector3 spikePosition = new Vector3(spikeXPosition, 1f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } // transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2f) + distanceBetween, transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) // if where we are right nw is more left than generation point { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); // distance between is a value between minimum distance and maximum platformSelector = Random.Range(0, theObjectPools.Length); // length = amount of objects in array... select random platform in array heightChange = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange); if (heightChange > maxHeight) // assures platforms stay within range ive set up. cant go off screen { heightChange = maxHeight; } else if (heightChange < minHeight) { heightChange = minHeight; } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, heightChange, transform.position.z); // Instantiate(/*thePlatform*/thePlatforms[platformSelector], transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); // create new platform object = free object from list newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); // every object in list is inactive, must set active if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x + 3f, transform.position.y + 2f, transform.position.z)); // after new platform created but before moved } if (Random.Range(0f, 100f) < randomSpikeThreshold) { GameObject newSpike = spikePool.GetPooledObject(); // go to spike pool, get object not being used float spikeXPosition = Random.Range(-platformWidths[platformSelector] / 2, platformWidths[platformSelector] / 2); // choose random x position on platform to spawn spikes. Vector3 spikePosition = new Vector3(spikeXPosition, 0.5f, 0f); // move spike up half so its on top of tile newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, theObjectPools.Length); //chaning the height of the ground heightChange = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange); if (heightChange > maxHeight) { heightChange = maxHeight; } else if (heightChange < minHeight) { heightChange = minHeight; } transform.position = new Vector2(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, heightChange); //Instantiate(theObjectPools[platformSelector], transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 2f, transform.position.z)); } if (Random.Range(0f, 100f) < randomSpikeThreshold) { GameObject newSpike = spikePool.GetPooledObject(); //spike position float spikeXPosition = Random.Range(-platformWidths[platformSelector] / 2f, platformWidths[platformSelector] / 2f); Vector3 spikePosition = new Vector3(spikeXPosition, 1f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector2(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, transform.position.y); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) //If the x position of the PlatformGenerator is less than the Generation Point's x position { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, theObjectPools.Length); 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); //Instantiate (/* thePlatform */ thePlatforms[platformSelector], transform.position, transform.rotation); //Create new platform GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); //Create a new platform equal to an unused object from theObjectPool.pooledObjects list platformLastChildIndex = newPlatform.gameObject.transform.childCount - 1; newPlatform.transform.position = transform.position; newPlatform.gameObject.transform.GetChild(0).GetComponent <SpriteRenderer>().sprite = platformSprites[0 + biome]; newPlatform.gameObject.transform.GetChild(newPlatform.gameObject.transform.childCount - 1).GetComponent <SpriteRenderer>().sprite = platformSprites[2 + biome]; for (int i = 1; i < newPlatform.gameObject.transform.childCount - 1; i++) { newPlatform.gameObject.transform.GetChild(i).GetComponent <SpriteRenderer>().sprite = platformSprites[1 + biome]; } newPlatform.SetActive(true); //activates object if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); //Spawn Coins } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }
// Update is called once per frame void FixedUpdate() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(minDistanceBetween, maxDistanceBetween); platformSelector = Random.Range(0, theObjectPools.Length); 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); //Instantiate(thePlatform, transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObjects(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) > randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 2f, transform.position.z)); } if (Random.Range(0f, 100f) > randomSpikeThreshold) { GameObject newSpike = theSpikePool.GetPooledObjects(); float xPosition = Random.Range(-platformWidths[platformSelector] / 2 + 1f, platformWidths[platformSelector] / 2 - 1f); Vector3 spikePosition = new Vector3(0f, 1f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }
void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformIndex = Random.Range(0, pools.Length); 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[platformIndex] / 2) + distanceBetween, heightChange, transform.position.z); //Instantiate(platforms[platformIndex], transform.position, transform.rotation); GameObject newPlatform = pools[platformIndex].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinThreshold) { coinGen.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } if (Random.Range(0f, 100f) < randomSpikeTheshold) { GameObject spike = spikePool.GetPooledObject(); float spikeXPosition = Random.Range(-platformWidths[platformIndex] / 2f + 1f, platformWidths[platformIndex] / 2f - 1f); Vector3 spikePosition = new Vector3(spikeXPosition, 0.5f, 0f); spike.transform.position = transform.position + spikePosition; spike.transform.rotation = transform.rotation; spike.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformIndex] / 2), transform.position.y, transform.position.z); } }
void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, heightChange, transform.position.z); platformSelector = Random.Range(0, theObjectPools.Length); heightChange = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange); if (heightChange > maxHeight) { heightChange = maxHeight; } else if (heightChange < minHeight) { heightChange = minHeight; } GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1.5f, transform.position.z)); } if (Random.Range(0f, 100f) < randomGhostThreshold) { GameObject newGhost = ghostPool.GetPooledObject(); float ghostXPosition = Random.Range(-platformWidths[platformSelector] / 2, platformWidths[platformSelector] / 2); float ghostYPosition = Random.Range(-1.5f, 1.5f); Vector3 ghostPosition = new Vector3(ghostXPosition, ghostYPosition, 0f); newGhost.transform.position = transform.position + ghostPosition; newGhost.transform.rotation = transform.rotation; newGhost.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generatorPoint.position.x) { distBetweenPlat = Random.Range(distBetweenMin, distBetweenMax); platformOption = Random.Range(0, theObjectPools.Length); 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 + (platformsWidth[platformOption] / 2) + distBetweenPlat, heightChange, transform.position.z); //Instantiate(/*platform*/ theObjectPools[platformOption], transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformOption].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 10f) < randomCoinThreshold) { coinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 0.2f, transform.position.z)); } if (Random.Range(0f, 10f) < randomHazardThreshold) { GameObject newHazard = hazardGenerator.GetPooledObject(); float hazardXPosition = Random.Range(-platformWidth / 2f, platformWidth / 2f); Vector3 hazardSposition = new Vector3(hazardXPosition, 0.5f, 0f); newHazard.transform.position = transform.position + hazardSposition; newHazard.transform.rotation = transform.rotation; newHazard.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformsWidth[platformOption] / 2), transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { platformSelector = Random.Range(0, theObjectPools.Length); distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); heightChange = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange); transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, Mathf.Clamp(heightChange, minHeight, maxHeight), transform.position.z); if (Random.Range(0f, 100f) < powerupThreshhold) { GameObject newPowerup = powerupPool.GetPooledObject(); newPowerup.transform.position = transform.position + new Vector3( distanceBetween / 2, Random.Range(1f, powerupHeight), 0f); newPowerup.SetActive(true); } //object pooling GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } if (Random.Range(0f, 100f) < randomSpikeThreshold) { GameObject newSpike = spikePooler.GetPooledObject(); float spikeXPosition = Random.Range(-platformWidths[platformSelector] / 2 + 2f, platformWidths[platformSelector] / 2 - 2f); Vector3 spikePosition = new Vector3(spikeXPosition, 0.5f, 0f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, objectPoolers.Length); heightChange = Mathf.Max(minHeight, Mathf.Min(maxHeight, transform.position.y + Random.Range(-maxHeightChange, maxHeightChange))); if (Random.Range(0f, 100f) < powerupTreshold) { GameObject newPowerup = powerupPool.GetPooledObject(); newPowerup.transform.position = new Vector3(transform.position.x + distanceBetween / 2f, Mathf.Max(minHeight, Mathf.Min(maxHeight, transform.position.y + Random.Range(0f, powerupHeight))), transform.position.z); newPowerup.SetActive(true); } transform.position = new Vector3(transform.position.x + platformWidths[platformSelector] / 2 + distanceBetween, heightChange, transform.position.z); //Instantiate (platforms[platformSelector], transform.position, transform.rotation); GameObject newPlatform = objectPoolers[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinTreshold) { coinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } BoxCollider2D newPlatformCollider = newPlatform.GetComponent <BoxCollider2D> (); if (newPlatformCollider.size.x > 4 && Random.Range(0f, 100f) < randomSpikeTreshold) { GameObject newSpike = spikePool.GetPooledObject(); float posX = Random.Range(-platformWidths [platformSelector] / 2 + 1f, platformWidths [platformSelector] / 2 - 1f); Vector3 pos = new Vector3(posX, newPlatform.GetComponent <BoxCollider2D> ().size.y / 2, 0f); newSpike.transform.position = transform.position + pos; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + platformWidths[platformSelector] / 2, transform.position.y, transform.position.z); } }
void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceWidthMin, distanceWidthMax); randomizeSelector = Random.Range(0, objectPools.Length); 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 + (platformsWidths[randomizeSelector] / 2) + distanceBetween, heightChange, transform.position.z); //get new platform from already created platformPool GameObject newPlatform = objectPools[randomizeSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinMaxCuantity) { coinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } if (Random.Range(0f, 100f) < randomMonsterTreashhold) { GameObject newMonster = monsterPool.GetPooledObject(); Vector3 monsterPosition = new Vector3(0f, 1.5f, 0f); newMonster.transform.position = transform.position + monsterPosition; newMonster.transform.rotation = transform.rotation; newMonster.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformsWidths[randomizeSelector] / 2), transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { // si este objeto (en la mitad de la ultima plataforma) es menor que el pto de generacion(afuera de la camara) if (transform.position.x < generationPoint.position.x) { // la distancia entre este objeto(la plataforma) y el punto de generacion va a ser un numero random entre los valores min y max distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); // // se selecciona una plataforma random desde la posicion 0 hasta el tamaño del arreglo de las plataformas platformSelector = Random.Range(0, theObjectPools.Length); // el cambio de altura sera un numero random entre el maximo cambio de altura y su opuesto heightChange = transform.position.y + Random.Range(maxHeigthChange, -maxHeigthChange); // CONDICIONAL QUE LIMITA EL CAMBIO DE LAS ALTURAS PARA QUE ASI NO ESTEN FUERA DE CAMARA // si el cambio de altura es mayor a la maxima altura if (heightChange > maxHeight) { // el cambio de altura sera el maximo cambio heightChange = maxHeight; // si no y si el cambio de altura es menor a la altura minima } else if (heightChange < minHeight) { // el cambio de altura sera el la minima altura heightChange = minHeight; } // la posicion de este objeto sera el mismo MAS el ancho de esta plataforma y la distancia de esta misma hasta el pto de generacion transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, heightChange, 0); // instancia (crea) las plataformas que se han seleccionado arbitrariamente desde el arreglo de las plataformas //Instantiate (/*thePlatform */thePlatforms[platformSelector], transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, 0); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, theObjectPools.Length); 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] + distanceBetween, heightChange, transform.position.z); //Instantiate(thePlatforms[platformSelector], transform.position, transform.rotation); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); /* if(Random.Range(0f,100f) < randomCoinThreshold) * { * theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + platformHeight, transform.position.z), (platformWidths[platformSelector] / 3)); * transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, transform.position.y, transform.position.z); * } */ if (Random.Range(0f, 100f) < randomDiamondThreshold) { theCoinGenerator.SpawnDiamonds(new Vector3(transform.position.x, transform.position.y + platformHeight, transform.position.z)); } else if (Random.Range(0f, 100f) < randomCoinThreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + platformHeight, transform.position.z), (platformWidths[platformSelector] / 3)); transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, transform.position.y, transform.position.z); } } }
void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); platformSelector = Random.Range(0, theObjectPools.Length); if (Random.Range(0f, 100f) < powerupTreshold) { GameObject newPowerup = powerupPool.GetPooledObject(); newPowerup.transform.position = transform.position + new Vector3(distanceBetween / 2f, Random.Range(powerupHeight / 2, powerupHeight), 0f); newPowerup.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetween, transform.position.y, transform.position.z); GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); if (Random.Range(0f, 100f) < randomCoinTreshold) { theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + theCoinGenerator.distanceFromGround, transform.position.z)); } if (Random.Range(0f, 100f) < randomSpikeTreshold) { GameObject newSpike = deathBlocks.GetPooledObject(); float spikeXPosition = Random.Range(-platformWidths[platformSelector] + 1f / 2, platformWidths[platformSelector] / 2 - 1f); Vector3 spikePosition = new Vector3(spikeXPosition, 0.5f, -1f); newSpike.transform.position = transform.position + spikePosition; newSpike.transform.rotation = transform.rotation; newSpike.SetActive(true); } transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }
// Update is called once per frame void Update() { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range(distanceBetweenMin, distanceBetweenMax); // Selects a platform at random from the range of platforms created. platformSelector = Random.Range(0, theObjectPools.Length); // Change the height of platform. heightChange = transform.position.y + Random.Range(maxHeightChange, -maxHeightChange); // Validation: Spawn platforms within the view of the camera and within certain heights. 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); // Instantiates the platform randomly chosen from the platformSelector. //Instantiate(/*thePlatform*/ thePlatforms[platformSelector], transform.position, transform.rotation); // Creates a newPlatform and grabs the platform object from the object pool. GameObject newPlatform = theObjectPools[platformSelector].GetPooledObject(); newPlatform.transform.position = transform.position; newPlatform.transform.rotation = transform.rotation; newPlatform.SetActive(true); /* * So if you set randomCoinThreshold to 75 you should see coins 3/4 of the time, 25 would see coulds 1/4 of the time etc... */ if (Random.Range(0f, 100f) < randomCoinThreshold) { // Generate coins above the platform. theCoinGenerator.SpawnCoins(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z)); } // Similar line as the one a few lines above, repeated here so that spaces inbetween platforms is consistant. transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z); } }