Game manager
Sur cette page tu apprendras comment coder le « Game Manager »
Qu’est-ce que le Game manager ?
C’est le script utilisé pour stocker les informations et les variables qui doivent être accessibles dans tout le jeu par tous les éléments.
Ces variables sont souvent statique (ce qui permet de les utiliser sans avoir besoin de référencer un objet)
Le script
Voici un exemple de Game Manager avec un timer, un score, et un affichage des timers et score grâce à des TextMeshPro
A la fin du timer le script pause le reste du jeu et affiche un écran de fin de jeu.
On peut appuyer sur R pour reset le jeu quand la partie est finie:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour
{
public static int _score;
public TMP_Text affichageTemps;
public TMP_Text affichageScore;
public TMP_Text affichageFin; //ecran de fin
public static float _timer;
void Start()
{
_score = 0;
Time.timeScale = 1;
Time.timeScale = 1;
}
void Update()
{
if (_timer > 0) {
_timer -= Time.deltaTime;
affichageTemps.text = Mathf.Round(_timer).ToString();
affichageScore.text = _score.ToString();
affichageFin.transform.parent.gameObject.SetActive(false);
}
else {
Time.timeScale = 0;
affichageFin.transform.parent.gameObject.SetActive(true);
affichageFin.text = _score.ToString();
if (Input.GetKey(KeyCode.R)) {
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex, LoadSceneMode.Single);
}
}
}
}