void Spawn() { // Add some code to break from function if (tracker >= gubcount) { CancelInvoke(); prizeScript = GetComponent <SpawnPrize>(); } // Generate and apply a random color to the game objects float red = Random.Range(0.0f, 1.0f); float green = Random.Range(0.0f, 1.0f); float blue = Random.Range(0.0f, 1.0f); while (System.Math.Abs(red - prizeScript.R) < colorDifference) { red = Random.Range(0.0f, 1.0f); } while (System.Math.Abs(green - prizeScript.G) < colorDifference) { green = Random.Range(0.0f, 1.0f); } while (System.Math.Abs(blue - prizeScript.B) < colorDifference) { blue = Random.Range(0.0f, 1.0f); } Color randomColor = new Color(red, green, blue, 1); MeshRenderer gameObjectRenderer = block.GetComponent <MeshRenderer>(); Material newMaterial = new Material(Shader.Find("Diffuse")); newMaterial.color = randomColor; gameObjectRenderer.material = newMaterial; // Special case for level 4 where gubs should spawn on four levels if (Application.loadedLevelName.Equals("Level 4")) { int floor = Random.Range(1, 5); Vector3 position = new Vector3(Random.Range(-min_x, max_x), 10 + (10 * (floor - 1)), Random.Range(-min_z, max_z)); // Create an instance of the blocks prefab at a random point with random rotation Instantiate(block, position, Random.rotation); tracker++; } else { Vector3 position = new Vector3(Random.Range(-min_x, max_x), 10, Random.Range(-min_z, max_z)); // Create an instance of the blocks prefab at a random point with random rotation Instantiate(block, position, Random.rotation); tracker++; } }
void Spawn() { // Add some code to break from function if (tracker >= gubcount) { CancelInvoke(); prizeScript = GetComponent <SpawnPrize>(); } // Generate and apply a random color to the game objects if ((tracker % 2 == 0 || prizeScript.R - colorDifferenceMin < 0) && prizeScript.R + colorDifferenceMin < 1.0) { red = prizeScript.R + Random.Range(colorDifferenceMin, colorDifferenceMax); } else { red = prizeScript.R - Random.Range(colorDifferenceMin, colorDifferenceMax); } if ((tracker % 2 == 0 || prizeScript.G - colorDifferenceMin < 0) && prizeScript.R + colorDifferenceMin < 1.0) { green = prizeScript.G + Random.Range(colorDifferenceMin, colorDifferenceMax); } else { green = prizeScript.G - Random.Range(colorDifferenceMin, colorDifferenceMax); } if ((tracker % 2 == 0 || prizeScript.B - colorDifferenceMin < 0) && prizeScript.R + colorDifferenceMin < 1.0) { blue = prizeScript.B + Random.Range(colorDifferenceMin, colorDifferenceMax); } else { blue = prizeScript.B - Random.Range(colorDifferenceMin, colorDifferenceMax); } Color randomColor = new Color(red, green, blue, 1); MeshRenderer gameObjectRenderer = block.GetComponent <MeshRenderer>(); Material newMaterial = new Material(Shader.Find("Diffuse")); newMaterial.color = randomColor; gameObjectRenderer.material = newMaterial; Vector3 position = new Vector3(Random.Range(-min_x, max_x), 10, Random.Range(-min_z, max_z)); // Create an instance of the blocks prefab at a random point with random rotation Instantiate(block, position, Random.rotation); tracker++; }