Files
builazoo/docs/specs/vendeur.md
2026-03-05 04:01:29 +01:00

58 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 dachat (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.