# Vendeur (Boutique) ## 1. Définition Personnage de service associé aux boutiques du zoo. Il matérialise la vente (service, file), les promotions et sert de personnage contextuel lors des événements de boutique. ## 2. Fonctions * **Service clients** : Représente la cadence de service de la boutique (entrée/sortie visiteurs). * **Animation vente** : Déclenche les FX de caisse (“pièces qui volent”) et les popups. * **Gestion file/plein** : Signale `SHOP_FULL` avec cause (capacité) et action (upgrade / poser une autre boutique). ## 3. Icone * **Représentation :** Sac cadeau / caisse. * **Couleur dominante :** Vert (vente) + or (pièces). ## 4. Interactions * **Clic boutique** : ouvre stats et options (upgrade, skin boutique). * **Clic sur promo** : ouvre un panneau de détails (durée, effet) si la mécanique existe. ## 5. Annexes Techniques ### Données (JSON) ```json { "employee_id": "vendor_01", "type": "vendeur", "name": "Léo", "salary": 0, "hire_cost": 0, "assigned_building": "shop_uuid", "state": "enum (IDLE, SERVING, RESTOCKING, OVERLOADED)", "iso_x": "integer", "iso_y": "integer", "z_index": "integer" } ``` ### Règles Métier * Le vendeur est lié à une `boutique.md` (pas un employé libre). * En surcharge (file), l’état est visible (badge / bulle) et déclenche un message explicite. # 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. ## Affichage contextuel (modules) - **Boutique** (`boutique.md`) : vente, surcharge, rupture de stock (si activée), consultation stats. - **Menu Achats** (`menu_achats.md`) : pour les items “boutique”/cosmétiques, le vendeur peut être le personnage contextuel lors de la prévisualisation et de la confirmation d’achat (UI). ## Skins & thèmes * Uniforme et comptoir dépendent du thème (`theme.md`). * Variantes (type de boutique : food/souvenir/boisson) via skins (`inventaire_skins.md`) côté bâtiment + accessoires du vendeur.