# Guichetière (Billetterie) ## 1. Définition Personnage de service associé à la billetterie. Il matérialise la vente de tickets (file, contrôle capacité) et sert de personnage contextuel lors des événements d’entrée/saturation/VIP. ## 2. Fonctions * **Traitement file** : Représente le débit du guichet (entrées par tick). * **Gestion saturation** : Signale `ZOO_FULL`, `QUEUE_LONG`. * **Accueil visiteurs** : Déclenche des feedbacks visuels cohérents avec le thème. ## 3. Icone * **Représentation :** Ticket + tampon. * **Couleur dominante :** Rouge (ticket) + or (pièces). ## 4. Interactions * **Clic billetterie** : ouvre le panneau stats (prix, capacité, file). * **Clic sur alerte** : deep-link vers la billetterie et met en avant la cause (capacité, file). ## 5. Annexes Techniques ### Données (JSON) ```json { "employee_id": "ticket_clerk_01", "type": "guichetiere", "name": "Nina", "salary": 0, "hire_cost": 0, "assigned_building": "ticket_booth_uuid", "state": "enum (IDLE, SELLING, VIP_PROCESS, OVERLOADED)", "iso_x": "integer", "iso_y": "integer", "z_index": "integer" } ``` ### Règles Métier * Le personnage est lié à la `billeterie.md` (bâtiment fixe). * Les événements `ZOO_FULL` et `QUEUE_LONG` déclenchent une UI explicite (pas de fallback). # 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) - **Billetterie** (`billeterie.md`) : clic panneau, saturation, file longue, arrivée bus VIP. - **Chemins** (`chemin.md`) : si la suppression de chemins casse l’accès entrée (erreur `CANNOT_REMOVE_BLOCKING`), la guichetière peut être le personnage contextuel du problème “entrée inaccessible”. ## Skins & thèmes * Uniforme/guichet dépend du thème (`theme.md`). * Accessoires (casquette, badge, ticket) via `skin.md` / `inventaire_skins.md` si activé.