Téléverser les fichiers vers "/"
This commit is contained in:
parent
f89c8b5f6d
commit
ee6458f741
13
Obstacle.cs
Normal file
13
Obstacle.cs
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class Obstacle : MonoBehaviour
|
||||||
|
{
|
||||||
|
private void OnCollisionEnter(Collision collision)
|
||||||
|
{
|
||||||
|
if (collision.gameObject.CompareTag("Rocket"))
|
||||||
|
{
|
||||||
|
Destroy(gameObject); // Détruit l'obstacle
|
||||||
|
Destroy(collision.gameObject); // Détruit la fusée
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
59
UIManager.cs
Normal file
59
UIManager.cs
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.SceneManagement;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
public class UIManager : MonoBehaviour {
|
||||||
|
[SerializeField] private GameObject gameOverPanel;
|
||||||
|
[SerializeField] private Text gameOverText;
|
||||||
|
[SerializeField] private Text restartText;
|
||||||
|
private bool isGameOver = false;
|
||||||
|
|
||||||
|
void Start() {
|
||||||
|
//Désactive le panneau et les textes si activés
|
||||||
|
gameOverPanel.SetActive(false);
|
||||||
|
gameOverText.gameObject.SetActive(false);
|
||||||
|
restartText.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update() {
|
||||||
|
|
||||||
|
if (Input.GetKeyDown(KeyCode.G) && !isGameOver)
|
||||||
|
{
|
||||||
|
isGameOver = true;
|
||||||
|
StartCoroutine(GameOverSequence());
|
||||||
|
}
|
||||||
|
//si le jeu est terminé et on saisit la touche R, le jeu est relancé
|
||||||
|
if (isGameOver) {
|
||||||
|
//If R is hit, restart the current scene
|
||||||
|
if (Input.GetKeyDown(KeyCode.R)) {
|
||||||
|
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
|
||||||
|
}
|
||||||
|
|
||||||
|
//la touche Q nous permet de sortir du jeu à tout moment
|
||||||
|
if (Input.GetKeyDown(KeyCode.Q)) {
|
||||||
|
print("Application Quit");
|
||||||
|
Application.Quit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Nouvelle méthode publique pour déclencher le game over
|
||||||
|
public void TriggerGameOver() {
|
||||||
|
if (!isGameOver) {
|
||||||
|
isGameOver = true;
|
||||||
|
StartCoroutine(GameOverSequence());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//la méthode GameOverSequence affiche le message GameOver puis attend 3 secondes et affiche le message "Press R to restart"
|
||||||
|
private IEnumerator GameOverSequence() {
|
||||||
|
gameOverPanel.SetActive(true);
|
||||||
|
gameOverText.gameObject.SetActive(true);
|
||||||
|
yield return new WaitForSeconds(3.0f);
|
||||||
|
gameOverText.text = "";
|
||||||
|
restartText.text = "Press R to restart";
|
||||||
|
restartText.gameObject.SetActive(true);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user