Hello,
I hope that someone can help me out. I’m pretty new at all of this, and I’m having trouble getting my enemy types to spawn at a specified time. I’m turning on what I’m calling “Phases” by referencing my in game timer, and using “if (ScoreTimer.Current == “00:10”)” The problem I’m having, is when I try to call the same “if” command a second time, it no longer works. I am new to Java Script and coding, so I’m assuming that there’s something I’m missing, where I cant use the same command twice within the Update Function. Can anyone help out? Sorry for the large script.
// Spawning Variables
var i : int;
var spawnWait : float;
var startWait : float;
var waveWait : float;
var asteroidSpawnValues : Vector3;
var asteroidSpawnPosition : Vector3;
var asteroidSpawnRotation : Quaternion;
//Spawning Phases
var phaseOne;
var phaseTwo;
var phaseThree;
var phaseFour;
var phaseFive;
var phaseSix;
var phaseSeven;
var phaseEight;
var phaseNine;
var phaseTen;
// Asteroid Counts
var asteroidSlowCount : int;
var asteroidMedCount : int;
var asteroidFastCount : int;
// Asteroid Types
var asteroidSlow : GameObject;
var asteroidMed : GameObject;
var asteroidFast : GameObject;
var Player : GameObject;
var bossSpawnValues : Vector3;
var bossSpawnPosition : Vector3;
var bossSpawnRotation : Quaternion;
// Boss Counts
var IcePlanetCount : int;
// Boss Types
var icePlanet : GameObject;
var firePlanet : GameObject;
var waterPlanet : GameObject;
function Start ()
{
phaseOne = true;
StartCoroutine (SpawnWaves ());
}
function Update ()
{
if (ScoreTimer.Current == "00:10")
{
phaseOne = false;
phaseTwo = true;
}
if (ScoreTimer.Current == "00:10")
{
phaseTwo = false;
phaseThree = true;
}
//transform.Translate(Vector3.speed * Time.deltaTime);
if (EarthLogic.ShowGameOver)
{
phaseOne = false;
phaseTwo = false;
phaseThree = false;
phaseFour = false;
}
}
function SpawnWaves ()
{
yield WaitForSeconds (startWait);
{
while(phaseOne == true)
{
//Spawn Asteroids SLOW!!!
for (i = 0; i < asteroidSlowCount; i++)
{
asteroidSpawnPosition = new Vector3 (Random.Range (-asteroidSpawnValues.x, asteroidSpawnValues.x), asteroidSpawnValues.y, asteroidSpawnValues.z);
asteroidSpawnRotation = new Quaternion ();
Instantiate (asteroidSlow, asteroidSpawnPosition, asteroidSpawnRotation);
yield WaitForSeconds (spawnWait);
}
}
while(phaseTwo == true)
{
//Spawn Planet ICE!!!
for (i = 0; i < IcePlanetCount; i++)
{
bossSpawnPosition = new Vector3 (Random.Range (-bossSpawnValues.x, bossSpawnValues.x), bossSpawnValues.y, bossSpawnValues.z);
bossSpawnRotation = new Quaternion ();
Instantiate (icePlanet, bossSpawnPosition, bossSpawnRotation);
yield WaitForSeconds (spawnWait);
phaseTwo = false;
}
}
while(phaseThree == true)
{
//Spawn Asteroids MEDIUM!!!
for (i = 0; i < asteroidMedCount; i++)
{
asteroidSpawnPosition = new Vector3 (Random.Range (-asteroidSpawnValues.x, asteroidSpawnValues.x), asteroidSpawnValues.y, asteroidSpawnValues.z);
asteroidSpawnRotation = new Quaternion ();
Instantiate (asteroidMed, asteroidSpawnPosition, asteroidSpawnRotation);
yield WaitForSeconds (spawnWait);
}
//Spawn Asteroids FAST!!!
for (i = 0; i < asteroidFastCount; i++)
{
asteroidSpawnPosition = new Vector3 (Random.Range (-asteroidSpawnValues.x, asteroidSpawnValues.x), asteroidSpawnValues.y, asteroidSpawnValues.z);
asteroidSpawnRotation = new Quaternion ();
Instantiate (asteroidFast, asteroidSpawnPosition, asteroidSpawnRotation);
yield WaitForSeconds (spawnWait);
}
}
yield WaitForSeconds (waveWait);
}
}