Inventaire Skins
1. Définition
Interface de gestion permettant au joueur de visualiser, trier et équiper les éléments cosmétiques (skins) acquis pour son avatar ou son zoo. Il gère les pièces de skins unitairement.
2. Fonctions
- Stockage : Centralise tous les skins (têtes, corps, accessoires, décors).
- Équipement : Permet d'appliquer un skin à l'avatar ou de sélectionner un skin par défaut pour les bâtiments.
- Visualisation : Affiche les items possédés et ceux manquants (grisés).
3. Icone
- Représentation : Coffre ouvert ou Cintre.
- Couleur dominante : Marron (cuir) et Or.
4. Interactions
- Ouverture : Depuis le menu profil ou la boutique.
- Filtrage : Par catégorie (Chapeaux, T-shirts, Zoo), par thème (Jungle, Espace) ou par rareté.
- Sélection : Clic sur un item pour voir les détails et le bouton "Équiper".
5. Annexes Techniques
Données (JSON)
Règles Métier
- L'inventaire sépare les skins d'avatar des skins de zoo.
- Impossible de vendre ou supprimer un skin (sauf si fonctionnalité de recyclage prévue).
- Mise à jour en temps réel lors d'un achat ou d'un gain.
6. Annexes UX/UI
- Grille : Affichage des items sous forme de grille scrollable.
- Paper Doll : Prévisualisation de l'avatar au centre ou sur le côté avec les équipements actuels.
- Drag & Drop : (Optionnel) Glisser un item sur la prévisualisation pour l'équiper.
Annexes UX/UI
0. Direction Artistique & Vue
- Vue : Isométrique (2.5D).
- Style : Coloré, vivant, détails foisonnants (Réf: IMG_20260303_170253.jpg).
- Sprites : 4 directions.
- Interactions :
- Sélection : Cliquer sur la base de l'élément (ou son sprite principal) pour le sélectionner.
- Feedback : Surbrillance (outline blanc/jaune) au survol de la souris.
Définition
| Champ |
Valeur |
| Concept |
Inventaire “Skins” : vue de possession + équipement de cosmétiques (avatar et zoo). |
| Rôle |
Donner un accès rapide à l’équipement, au filtrage, et à la prévisualisation sans étapes inutiles. |
| Portée |
UI profil/boutique ; impact avatar, bâtiments, décorations. |
| Contrainte |
Pas de cache/mémorisation : état “équipé” lu comme source de vérité ; pas d’analytics ; aucune suppression/vente implicite. |
Fonctions (tableau détaillé)
| Fonction |
Déclencheur |
Entrées |
Sorties |
Règles |
Observabilité |
| Ouvrir inventaire |
menu |
player_id |
page/grille |
affiche items possédés + grisés |
Event OPEN_SKIN_INVENTORY |
| Filtrer |
UI |
catégorie/thème/rareté |
liste filtrée |
filtres combinables |
Event FILTER_SKINS |
| Trier |
UI |
critère |
liste triée |
stable |
Event SORT_SKINS |
| Prévisualiser |
clic item |
item_id |
preview |
paper doll / rendu zoo |
Event PREVIEW_SKIN |
| Équiper |
clic “Équiper” |
item_id, slot |
is_equipped=true |
un item équipé par slot |
Event EQUIP_SKIN |
| Déséquiper |
clic “Retirer” |
slot |
is_equipped=false |
revient au skin de base explicite |
Event UNEQUIP_SKIN |
| Synchroniser après achat |
achat |
receipt |
inventaire maj |
immédiat, sans cache |
Event SKIN_ACQUIRED |
Icone de base
| Élément |
Spécification |
| Représentation |
Cintre / coffre |
| Couleur dominante |
Marron + or |
| Variantes |
icon_skin_hanger.png, icon_skin_chest.png |
| États |
normal, selected, disabled (non possédé) |
Interactions (tableau détaillé)
| Interaction |
Type |
Préconditions |
Étapes UI |
Résultat |
Erreurs / Messages |
| Ouvrir |
Navigation |
- |
profil → skins |
grille |
- |
| Équiper item |
Action |
possédé |
clic item → équiper |
appliqué |
SKIN_NOT_OWNED |
| Prévisualiser |
Consultation |
- |
clic item |
preview |
- |
| Filtrer |
Consultation |
- |
toggles |
liste |
- |
| Drag & drop |
Action |
option active |
drag → drop |
équipe |
DROP_INVALID |
Personnage contextuel (événements & interaction)
Le module “Inventaire Skins” affiche le joueur actif via son avatar (voir avatar_joueur.md) comme personnage contextuel.
Affichage
L’avatar s’affiche lorsque :
- le module est actionné (ouverture inventaire, sélection d’un item, équipement/déséquipement) ;
- un événement lié aux skins survient (acquisition, équipement réussi/échoué).
Déclencheurs (exemples)
| Event |
Condition |
Effet UI personnage |
OPEN_SKIN_INVENTORY |
ouverture |
avatar/paper doll visible, cohérent avec l’équipement courant |
PREVIEW_SKIN |
clic item |
l’avatar adopte la prévisualisation (paper doll) |
EQUIP_SKIN / UNEQUIP_SKIN |
action |
feedback visuel sur l’avatar + message |
SKIN_ACQUIRED |
achat/gain |
bulle “Nouveau skin” + CTA “Équiper” |
Skins & thèmes
Le module applique theme.md et l’équipement de inventaire_skins.md sur l’avatar, sans inférer silencieusement un skin “par défaut”.
Annexes Techniques
1. Données et États (tableau détaillé)
| Donnée / État |
Type |
Exemple |
Source |
Contraintes |
inventory_id |
string |
inv_skins_<player_id> |
DB |
stable |
items[].item_id |
string |
skin_hat_01 |
DB |
id unique |
items[].acquired_at |
timestamp |
- |
DB |
UTC |
items[].is_equipped |
boolean |
true |
DB |
par slot |
items[].slot |
string |
HAT |
DB |
enum |
items[].theme |
string |
JUNGLE |
config |
enum |
items[].rarity |
string |
RARE |
config |
enum |
capacity |
string | int |
unlimited |
config |
pas de limite par défaut |
Caractéristiques Initiales (tableau détaillé)
| Caractéristique |
Valeur initiale |
Unité |
Notes |
| Capacité |
illimitée |
- |
règle existante |
| Slots avatar |
6 |
count |
ex: hat, top, bottom, shoes, accessory, back |
| Slots zoo |
8 |
count |
ex: sol, clôture, portes, UI, etc. |
Scores Initiaux (tableau détaillé)
| Score |
Valeur initiale |
Plage |
Impact |
| Skins possédés |
0 |
0..∞ |
collection |
| Skins équipés |
0 |
0..slots |
rendu |
2. Cycles de Vie et Apparition (tableau détaillé)
| Phase |
Déclencheur |
Entrées |
Sorties |
Invariants |
| Acquisition |
achat/gain |
item_id |
inventaire +1 |
pas de doublon |
| Équipement |
action |
slot |
is_equipped |
exclusivité slot |
| Déséquipement |
action |
slot |
base |
base explicite |
Conditions d'Apparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| Achat skin |
true |
est |
item ajouté |
Conditions de Disparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| - |
- |
- |
pas de suppression |
Hérédité (tableau détaillé)
| Élément |
Hérité |
Règle |
| Inventaire |
Oui |
persiste compte |
| Équipement |
Oui |
persiste par profil |
3. Impacts Environnementaux
Impact Température (tableau détaillé)
| Condition |
Effet |
Notes |
| - |
aucun |
cosmétique |
Impact Milieu (Biome) (tableau détaillé)
| Biome |
Effet |
Notes |
| - |
aucun |
- |
Impact Saisons (tableau détaillé)
| Saison |
Effet |
Notes |
| Saison active |
skins saisonniers visibles |
gating |
Impact Heure / Jour-Nuit (tableau détaillé)
| Période |
Effet |
Notes |
| - |
aucun |
- |
4. Impacts Biologiques et Sociaux
Impact Reproduction (tableau détaillé)
| Facteur |
Effet sur taux |
Condition |
| - |
aucun |
- |
Impact Mort (tableau détaillé)
| Cas |
Effet |
Condition |
| - |
aucun |
- |
Impact Nourriture (tableau détaillé)
| Ressource |
Effet |
Condition |
| - |
aucun |
- |
Impact Attractivité(Visiteurs (tableau détaillé)
| Action/État |
Gain |
Rayon |
Notes |
| Skins zoo |
+ |
zoo |
esthétique |
Impact Attractivité Animaux) (tableau détaillé)
| Action/État |
Effet animaux |
Condition |
| - |
- |
- |
Impact Valeur (tableau détaillé)
| Facteur |
Variation |
Condition |
| Collection |
+ |
complétude |
5. Impacts Logistiques et Économiques
Vitesse (Camion) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
- |
- |
Vitesse (Nurserie) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
- |
- |
Vitesse (Accueil) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
- |
- |
Vitesse (Recherche) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
- |
- |
Vitesse (Labo) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
- |
- |
Vitesse (Visite) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
- |
- |
Dépenses (Billeterie) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Visiteurs) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Employés) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| Section dupliquée |
0 |
- |
conservée |
Dépenses (Nurseries) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Nourriture) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Acceuil des animaux) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Camion) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Trajet Visiteurs
Trajet Visiteurs vers/depuis la ville (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| - |
- |
- |
- |
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| - |
- |
- |
- |
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| - |
- |
- |
- |
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| - |
- |
- |
- |
6. Événements
Événements du Jeu (tableau détaillé)
| Event |
Déclencheur |
Payload |
Effet |
OPEN_SKIN_INVENTORY |
menu |
- |
UI |
EQUIP_SKIN |
clic |
item_id, slot |
équipé |
UNEQUIP_SKIN |
clic |
slot |
base |
Événements du Carte (tableau détaillé)
| Event |
Déclencheur |
Effet |
| - |
- |
- |
Événements du Zoo (tableau détaillé)
| Event |
Déclencheur |
Effet |
| - |
- |
- |
Événements du Ville / Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
| - |
- |
- |
Événements du Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
| - |
- |
- |
Événements du Joueur (tableau détaillé)
| Event |
Déclencheur |
Effet |
FILTER_SKINS |
toggle |
UI |
7. Progression
Tableau des Upgrades (tableau détaillé)
| Niveau |
Coût |
Effet |
Débloque |
| 1 |
0 |
inventaire dispo |
- |
8. Logique et Interfaces
Pseudo-code Impacts (tableau détaillé)
| Fonction |
Entrées |
Sorties |
Notes |
equipSkin |
item, slot |
state |
exclusif slot |
filterSkins |
list, filters |
list |
combinable |
Messages d'Infos / Alerte (tableau détaillé)
| ID |
Niveau |
Message |
Condition |
SKIN_NOT_OWNED |
Warning |
"Skin non possédé." |
équiper |
SKIN_EQUIPPED |
Info |
"Skin équipé." |
succès |
Annexes UX/UI
1. Expérience Utilisateur (UX)
Description UX (tableau détaillé)
| Parcours |
But |
Friction |
Réduction clics |
| Équiper avatar |
personnaliser |
navigation |
paper doll + bouton direct |
| Équiper zoo |
thème |
sélection |
filtres |
Description UI (tableau détaillé)
| Composant |
Contenu |
États |
| Grille |
items |
owned/missing |
| Paper doll |
preview |
slot highlight |
| Bouton équiper |
CTA |
enabled/disabled |
Emplacement (tableau détaillé)
| Zone UI |
Position |
Notes |
| Profil |
onglet skins |
- |
| Boutique |
lien |
- |
Intégration (tableau détaillé)
| Intégration |
Contrat |
Notes |
skin.md |
definition item |
ids cohérents |
avatar_joueur.md |
rendu avatar |
slots |
Navigation (tableau détaillé)
| Action |
Chemin |
Résultat |
| Ouvrir |
profil → skins |
grille |
| Équiper |
item → CTA |
appliqué |
Événements (tableau détaillé)
| Event UI |
Déclencheur |
Effet |
OPEN_SKIN_INVENTORY |
menu |
UI |
CLICK_EQUIP |
CTA |
équipe |
Assets Skinables
Musiques (tableau détaillé)
| Asset |
Usage |
Durée |
Notes |
skins_inventory_loop.mp3 |
inventaire |
loop |
neutre |
Sons (tableau détaillé)
| Asset |
Usage |
Volume |
ui_equip.mp3 |
équiper |
bas |
ui_unequip.mp3 |
retirer |
bas |
Graphiques (tableau détaillé)
| Asset |
Usage |
Contraintes |
paper_doll_frame.png |
preview |
scalable |
skin_item_tile.png |
tuile |
grille |
Images (tableau détaillé)
| Asset |
Usage |
skin_missing_overlay.png |
grisé |
Vidéos (tableau détaillé)
| Asset |
Usage |
Durée |
equip_fx.webm |
feedback |
0.6s |
Animations (tableau détaillé)
| Animation |
Déclencheur |
Notes |
| glow item |
hover |
0.2s |
| bounce CTA |
success |
0.3s |
Couleurs (tableau détaillé)
| Token |
Valeur |
Usage |
skins_gold |
#D4AF37 |
rareté |
skins_brown |
#6D4C41 |
fond |
Textes (tableau détaillé)
| Clé |
FR |
EN |
skins.title |
Skins |
Skins |
skins.equip |
Équiper |
Equip |
Formes (tableau détaillé)
| Élément |
Forme |
Notes |
| Tuiles |
rectangles arrondis |
lisibles |