private void StartGame() { //Remove lava drops so they don't hit players on a new game List <GameObject> lavaDrops = new List <GameObject>(GameObject.FindGameObjectsWithTag("LavaDrop")); for (int i = 0; i < lavaDrops.Count; i++) { if (lavaDrops[i] != null) { Destroy(lavaDrops[i]); } } //Reset game values score = 0; currLevel = 1; coinTotal = 0; timeBonus = 30; bonusTracker = 1f; //Spawn new map and start at level one Spawn updateMap = (Spawn)tileMap.transform.Find("Spawner").GetComponent(typeof(Spawn)); updateMap.StartGame(); //Reset projectile frequency LavaController updateLavaArray = (LavaController)tileMap.transform.Find("LavaController").GetComponent(typeof(LavaController)); updateLavaArray.SetFrequency(currLevel); //Set game running value gameRunning = true; paused = false; //Display UI Changes for Starting Game //REFACTOR magic numbers Score.GetComponent <Text>().color = new Color(.84f, .89f, .98f, .75f); Level.GetComponent <Text>().color = new Color(.84f, .89f, .98f, 1f); LevelContainer.GetComponent <SpriteRenderer>().color = new Color(1f, 1f, 1f, 1f); ScoreIcon.GetComponent <SpriteRenderer>().color = new Color(1f, 1f, 1f, 1f); StartLine.GetComponent <StartLine>().showStart = false; TitleCard.GetComponent <SpriteRenderer>().color = new Color(1f, 1f, 1f, 0f); GameOver.GetComponent <SpriteRenderer>().color = new Color(1f, 1f, 1f, 0f); Ctrls.GetComponent <SpriteRenderer>().color = new Color(1f, 1f, 1f, .25f); FinalScore.HideScore(); }
public void EndGame(bool winCheck) { //Display UI Changes for Ending Game Score.GetComponent <Text>().color = new Color(1f, 1f, 1f, 0f); Level.GetComponent <Text>().color = new Color(1f, 1f, 1f, 0f); LevelContainer.GetComponent <SpriteRenderer>().color = new Color(1f, 1f, 1f, 0f); ScoreIcon.GetComponent <SpriteRenderer>().color = new Color(1f, 1f, 1f, 0f); StartLine.GetComponent <StartLine>().showStart = true; GameOver.GetComponent <Animator>().SetBool("Win", winCheck); GameOver.GetComponent <SpriteRenderer>().color = new Color(1f, 1f, 1f, 1f); FinalScore.ShowScore(score); //Remove projectiles after game has ended LavaController updateLavaArray = (LavaController)tileMap.transform.Find("LavaController").GetComponent(typeof(LavaController)); updateLavaArray.SetFrequency(0); //Set game running value gameRunning = false; }
//If coin count hits 3, start next level and add time and score bonus private void CheckLevel() { levelCoins = coinTotal % 3; if (levelCoins == 0) { GameObject player = GameObject.FindWithTag("Player"); //Display level up animation if (player != null) { GameObject levelUp = Instantiate(addScorePrefab, player.transform.position, new Quaternion(0f, 0f, 0f, 0f)); levelUp.GetComponent <AddScore>().SetAnimation(1); } //Update values score += 50 + timeBonus; timeBonus = 30; bonusTracker = 1f; currLevel++; //End game if level hits 50 if (currLevel > 50) { if (player != null) { Destroy(player); } EndGame(true); return; } //Start a new map for next level Spawn updateMap = (Spawn)tileMap.transform.Find("Spawner").GetComponent(typeof(Spawn)); updateMap.SpawnNewMap(currLevel); //Make projectiles faster LavaController updateLavaArray = (LavaController)tileMap.transform.Find("LavaController").GetComponent(typeof(LavaController)); updateLavaArray.SetFrequency(currLevel); } }