示例#1
0
    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();
    }
示例#2
0
    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;
    }
示例#3
0
    //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);
        }
    }