Accueil Github ↗
Itération 3

Données de la boutique

Scripts de données des cosmétiques : catalogue ScriptableObject, système de rareté et sauvegarde du profil joueur.

Le module Data/Boutique/ gère les données des cosmétiques : leur catalogue, leur prix et leur persistance. Tout fonctionne en mode data-driven — les designers ajoutent des items directement dans l’éditeur Unity sans toucher au code.

Catalogue — arborescence des objets

Les ScriptableObjects forment une hiérarchie à trois niveaux, comme des poupées russes.

ScriptRôle
PersonnalisationCategory_SOUne catégorie (ex. “Vêtements”, “Accessoires”). Contient une liste de sous-catégories.
PersonnalisationSubCategory_SOUne sous-catégorie (ex. “T-Shirts”, “Chaussures”). Contient la liste des items de cette famille.
PersonnalisationItem_SOLa fiche d’un cosmétique : visuel (image), identifiant unique (cosmeticID), rareté (rarete), et état (isLock, isBuy, isHide).

Économie — rareté et prix

PersonnalisationItemRarete_Enum contient deux choses :

  1. L’énumération des raretés : Gratuit, Rare, Epic, Legendaire.
  2. Une méthode d’extension GetPrice() qui convertit la rareté en prix DB. Un item Épique coûte toujours 3000 DB, peu importe où on l’utilise dans le code.

Sauvegarde du profil

Ces deux classes sont [Serializable] — elles se convertissent en JSON pour être sauvegardées localement ou envoyées à PlayFab.

ScriptRôle
BoutiqueDataTableau de cosmeticID[] listant tous les items achetés par le joueur. Sert à éviter qu’il repaye un item déjà possédé.
PersonnalisationDataTableau de 13 cases, une par emplacement (cheveux, lunettes, etc.). Le constructeur équipe un avatar par défaut. La méthode InitializeRandomCosmetics() génère des cosmétiques aléatoires, utile pour les PNJs.