AIDE
FAQ sur le développement

Comment utilisez-vous un Singleton ?

7min

Un Singleton est un modèle de conception qui garantit qu'il n'y a qu'une seule instance d'une classe particulière dans un programme.

Le modèle Singleton fournit une instance globale unique d'une classe, la rendant facilement accessible depuis d'autres scripts qui en ont besoin, comme la gestion de la logique, de l'audio, de l'interface utilisateur et des ressources centralisées dans le monde.

Dans ZEPETOScript, vous pouvez implémenter un Singleton de la manière suivante :

TypeScript


👍 Conseils

  • S'il y a déjà un GameObject avec un script Singleton attaché dans la scène, vous pouvez utiliser ce format.
  • S'il n'y en a pas, ajoutez du code pour créer le GameObject.
    • Exemple : new GameObject("NomObjet").AddComponent<ClassName>();

Implémentons un Singleton pour gérer l'interface utilisateur dans un exemple :

1) Ajoutez UI > Texte et Bouton à la scène.

  • Configurez la logique pour augmenter le score lorsque le bouton "AugmenterScore" est pressé
  • Configurez la logique pour diminuer le score lorsque le bouton "DiminuerScore" est pressé
Document image




2) Créez un script appelé "ScoreManager," où le Singleton sera appliqué.

  • Le script ScoreManager sera responsable de l'augmentation/diminution du score et de la mise à jour du texte lorsqu'il est appelé depuis d'autres scripts.
TypeScript




  • Description du script
    • private static _instance: C'est une variable statique privée au sein de la classe, initialement définie sur null.
    • public static get Instance: Cette propriété statique fournit un moyen pour le code externe d'accéder à l'instance unique de cette classe.
    • Vérifiez if (this.\_instance == null). Si c'est null, utilisez GameObject.FindObjectOfType<>() pour trouver et retourner un composant de type ClassName, et l'assigner à la variable statique.



3) Après avoir écrit le script, retournez à l'Inspecteur et connectez le composant Texte.

Document image




4) Ensuite, créez un script appelé "ScoreLogicSample" pour démontrer comment appeler le Singleton. Assurez-vous que ScoreManager et ScoreLogicSample sont dans le même répertoire.

Document image

  • Écrivez du code comme ceci :
TypeScript




  • Il est important de spécifier le chemin correctement lors de l'obtention du script Singleton.
  • Vous pouvez adapter la partie où ScoreManager est appelé dans votre propre script selon vos besoins.



5) Appuyez sur le bouton [▶︎(lecture)] pour tester.

  • Vous devriez observer les fonctions dans ScoreManager être appelées lorsque vous cliquez sur les boutons dans ScoreLogicSample, ce qui les fait fonctionner comme prévu.
Document image