Esempio n. 1
0
    public void RestartGame()
    {
        Debug.Log("Starting game...");
        Time.timeScale = 1;
        VictoryScreen.SetActive(false);
        GameOverScreen.SetActive(false);

        Money = GetComponent <ConfiguraionLoader>().DefaultMoney;
        Lives = GetComponent <ConfiguraionLoader>().DefaultLives;

        foreach (Transform child in EnemiesParent.transform)
        {
            GameObject.Destroy(child.gameObject);
        }
        foreach (Transform child in ProjectileParent.transform)
        {
            GameObject.Destroy(child.gameObject);
        }
        foreach (Transform child in TowersParent.transform)
        {
            GameObject.Destroy(child.gameObject);
        }

        GetComponent <WaveController>().ResetGame();
    }
Esempio n. 2
0
    public void GameOver(EndCondition endCondition)
    {
        Time.timeScale = 0f;
        if (endCondition == EndCondition.Victory)
        {
            Text[] info = VictoryScreen.GetComponentsInChildren <Text>();

            info[0].text = string.Format("{0:00}:{1:00}", totalTime / 60, totalTime % 60);
            info[1].text = totalGameOvers.ToString();

            totalTime      = 0f;
            totalGameOvers = 0;

            VictoryScreen.SetActive(true);
        }
        else if (endCondition == EndCondition.Defeat)
        {
            DefeatScreen.SetActive(true);
        }
    }
Esempio n. 3
0
    void Update()
    {
        if (!EndGame && !GameWon)
        {
            Inputs();
            CountSoldiers();
            Collider2D HitCollider = Physics2D.OverlapCircle(transform.position, Radius, layerMask);

            if (!GameOver)
            {
                GameOver = GameObject.FindGameObjectWithTag("GameOverScreen");
            }
            else if (GameOver)
            {
                GameOver.SetActive(false);
            }
            if (!VictoryScreen)
            {
                VictoryScreen = GameObject.FindGameObjectWithTag("VictoryScreen");
            }
            else if (VictoryScreen)
            {
                VictoryScreen.SetActive(false);
            }
            if (!TooManySoldierScreen)
            {
                TooManySoldierScreen = GameObject.FindGameObjectWithTag("SoldierFull");
            }
            else if (TooManySoldierScreen)
            {
                TooManySoldierScreen.SetActive(false);
            }
            if (!Dropoff)
            {
                Dropoff = GameObject.FindObjectOfType <DropoffSound>();
            }
            if (!Pickup)
            {
                Pickup = GameObject.FindObjectOfType <PickupSound>();
            }

            if (HitCollider != null && HitCollider?.tag == "Hospital" && GameManager.Instance.SoldierCounter > 0)
            {
                //Dropoff.Play();
                if (!GameWon)
                {
                    Dropoff.Dropoff.Play();
                }
                GameManager.Instance.RescuedCounter += GameManager.Instance.SoldierCounter;
                GameManager.Instance.SoldierCounter  = 0;
            }
            if (HitCollider?.tag == "InjuredSoldier" && GameManager.Instance.SoldierCounter < 3)
            {
                //Pickup.Play();
                Pickup.Pickup.Play();
                Destroy(HitCollider.gameObject);
                GameManager.Instance.SoldierCounter++;
            }
            else if (HitCollider?.tag == "InjuredSoldier" && GameManager.Instance.SoldierCounter >= 3)
            {
                TooManySoldierScreen.SetActive(true);
            }
            if (HitCollider?.tag != "InjuredSoldier" && GameManager.Instance.SoldierCounter >= 3)
            {
                TooManySoldierScreen.SetActive(false);
            }
            if (HitCollider?.tag == "Tree")
            {
                EndGame = true;
                HeliAnim.SetBool("Explosion", true);
                GameOver.SetActive(true);
            }
            if (GameManager.Instance.RescuedCounter == SM.TotalSoldiers && SM.Continued == false)
            {
                //Debug.Log("Game won");
                GameWon = true;
                Dropoff.Dropoff.Stop();
                VictoryScreen.SetActive(true);
            }

            if (EndGame || GameWon)
            {
                GameManager.Instance.Audio.Stop();
                HeliSound.Stop();
            }
        }
    }
Esempio n. 4
0
 public void Victory()
 {
     Debug.Log("Victory!");
     Time.timeScale = 0;
     VictoryScreen.SetActive(true);
 }
Esempio n. 5
0
 public void Victory()
 {
     Cursor.visible = true;
     Time.timeScale = 0;
     VictoryScreen.SetActive(true);
 }