// Méthode appelée lors du "réveil" de l'objet (avant même le Start) // Il est important de créer les singleton dans le Awake pour être sûr qu'ils soient créé avant le Start des autres objets void Awake() { // Unity créera l'objet même si le constructeur est privé donc on doit initialiser l'instance de notre singleton ici if (DisplayScoreScript._instance == null) { // S'il n'y pas d'instance DisplayScoreScript._instance = this; // L'objet courant devient l'instance // On récupère le textMesh associé this._textMesh = this.GetComponent<TextMesh>(); if (this._textMesh == null) { // S'il n'y a pas de TextMesh, on ne peut pas afficher le score Destroy(this.gameObject); } this.DisplayScore(); // On affiche le score } else if (DisplayScoreScript._instance != this) { // S'il y a déjà une instance Destroy(this.gameObject); // On détruit l'objet courant } }
private void Start() { displayScoreScript = GameObject.FindGameObjectWithTag("DisplayScoreText").GetComponent <DisplayScoreScript>(); }