Structure du projet
Vue d'ensemble de l'organisation des dossiers Scripts/, Prefabs/, ScriptableObjects/ et Scenes/, avec le nombre de fichiers et le rôle de chaque domaine.
Scripts/ — 10 domaines
| Domaine | Fichiers | Rôle |
|---|---|---|
UserInterface/ | ~200 | Panels, menus, popups, boutique, fiche de présence |
Gameplay/ | ~179 | Mécaniques de jeu (APA, AP, AS, RC) |
DynamicMenu/ | ~96 | Navigation pédagogique data-driven (FolderSO) |
Utilities/ | ~87 | Extensions C#, gestion des mots, outils |
BackendServices/ | ~71 | PlayFab, authentification, données joueur |
Commons/ | ~63 | Managers partagés (audio, scènes, DB, settings) |
Characters/ | ~49 | Robot + Avatar (animations, batterie, émotions) |
Data/ | ~19 | Structures de données (boutique cosmétiques) |
Editor/ | ~30 | Outils éditeur Unity (inspectors custom) |
DropdownMenu/ | ~10 | Menus déroulants legacy (ne plus modifier) |
Prototyping/
Prototyping/Comptes/ Prototype UI Toolkit (remplace les menus Canvas)
Actif en développement — voir docs Comptes
Prefabs/ & ScriptableObjects/
Les ScriptableObjects de contenu pédagogique sont dans Resources/ContenuPedagogiqueData/ (hiérarchie FolderSO pour DynamicMenu).
Les animtions sont dans Resources/ sous forme d’AnimationData ScriptableObjects.
Scenes/ — 21 scènes
| Catégorie | Scènes |
|---|---|
| Menus | Menu_Connexion, MainMenu |
| APA | APA_01_Vallee, APA_02_... (plusieurs décors) |
| AP | AP_01_... (décors Pause Active) |
| AS | AS_QCM, AS_Pendu |
| RC | RC_CercleDeSerenite, RC_MeditationGuidee_01, RC_MeditationGuidee_02, RC_TempsCalme_01, RC_TempsCalme_02 |
| Utilitaires | LoadingScene |
| Prototype | AuthScene, MainScene (Comptes) |
Assemblies
Le projet contient ~49 fichiers .asmdef dans Assets/Scripts/ — une assembly par sous-domaine, pas seulement deux. Chaque dossier majeur a sa propre isolation de compilation.
[!NOTE] Pour voir la liste complète dans Unity :
Project → Assets/Scripts→ filtrer par type.asmdef. Les assembliesPrototyping/,Plugins/etSimpleFolderIcon/sont en plus de ceux listés ici.
Assembly racine
| Assembly | Nom interne | Rôle |
|---|---|---|
Scripts/Assembly_CONTROL.asmdef | BIG_GLOBAL_NYUL | Catch-all global. Auto-référencé partout — tout code sans .asmdef propre tombe ici. |
Par domaine (Scripts/)
| Assembly | Domaine | Rôle |
|---|---|---|
Commons/Commons.asmdef | Commons | Managers partagés (audio, scènes, DB…) |
Commons/ActivityDataManager/ActivityDataManager.asmdef | Commons | Mode enum (VideoAPA, InteractifAPA…) |
Commons/Constantes/PlayerPrefsReferencer.asmdef | Commons | Clés PlayerPrefs centralisées |
DynamicMenu/DynamicMenu.asmdef | DynamicMenu | LegacyMode enum, navigation data-driven |
DynamicMenu/Editor/DynamicMenu.Editor.asmdef | DynamicMenu | Outils éditeur DynamicMenu |
UserInterface/UserInterface.asmdef | UserInterface | Base UI |
UserInterface/Activites_MENUS/UserInterface.ActivitesMENU.asmdef | UserInterface | Menus d’activités |
UserInterface/Boutique/UserInterface_Boutique.asmdef | UserInterface | Boutique |
UserInterface/FicheDePresence/UserInterface_FicheDePresence.asmdef | UserInterface | Fiche de présence |
UserInterface/Keybord/KeyboardSystem.asmdef | UserInterface | Clavier virtuel |
UserInterface/Parameters/UI.Parameters.asmdef | UserInterface | Panneau paramètres |
UserInterface/PopUp/UserInterface.PopUp.asmdef | UserInterface | Popups |
UserInterface/Profils/UserInterface_Profils.asmdef | UserInterface | Gestion profils |
UserInterface/RandomImageForMenu/UserInterface_RandomImage.asmdef | UserInterface | Images aléatoires |
UserInterface/SettingsManagement/UserInterface_Settings.asmdef | UserInterface | Paramètres persistants |
BackendServices/Playfab/BackendServices_Playfab.asmdef | BackendServices | PlayFab base |
BackendServices/Playfab/Connexion/BackendServices.Playfab.Connexion.asmdef | BackendServices | Authentification |
BackendServices/Playfab/Data/BackendServices.Playfab.Data.asmdef | BackendServices | Données joueur cloud |
Characters/Animation/Animation.asmdef (AnimationSystem) | Characters | Moteur d’animations |
Characters/Avatar/Behavior/Avatar.Behavior.asmdef | Characters | Comportement avatar |
Characters/Robot/Behavior/Robot.Behavior.asmdef | Characters | Comportement robot |
Characters/Robot/Battery/BatterySystem.asmdef | Characters | Batterie AP du robot |
Characters/Dynamo Bloc - DB/DynamoBloc.Behavior.asmdef | Characters | Dynamo-Blocs (monnaie) |
Data/Data.asmdef | Data | Structures de données |
DropdownMenu/DropdownMenu.asmdef | DropdownMenu | Menus legacy (ne plus modifier) |
Gameplay/AP/Gameplay.PauseActive.asmdef | Gameplay — PA | Pause Active (root) |
Gameplay/AP/EntrainementParIntervalles/AP.EntrainemenrParIntervalles.asmdef | Gameplay — PA | Entraînement par intervalles |
Gameplay/APA/Gameplay.APA.asmdef | Gameplay — APA | APA (root) |
Gameplay/APA/Mode pendu/Gameplay.APAPendu.asmdef | Gameplay — APA | Pendu APA |
Gameplay/APA/QCM/APA.QCM.asmdef | Gameplay — APA | QCM APA |
Gameplay/APA/QCM/QCM System/QCMSystem.asmdef | Gameplay — APA | Moteur QCM |
Gameplay/AS/Gameplay.AS.asmdef | Gameplay — AS | Apprentissage Seul (root) |
Gameplay/AS/QCM/AS.QCM.asmdef | Gameplay — AS | QCM AS |
Gameplay/Apprentissage/A trier/Gameplay.Apprentissage.asmdef | Gameplay — base | Classes de base partagées |
Gameplay/JeuDuPendu/Gameplay.JeuDuPendu.asmdef | Gameplay — base | Moteur Pendu |
Gameplay/RetourAuCalme/Gameplay.RetourAuCalme.asmdef | Gameplay — RC | RC (root) |
Gameplay/RetourAuCalme/CercleSerenite/RC.CercleSerenite.asmdef | Gameplay — RC | Cercle de Sérénité |
Gameplay/RetourAuCalme/MeditationGuidee/RC.MeditationGuidee.asmdef | Gameplay — RC | Méditation guidée |
Gameplay/RetourAuCalme/TempsCalme/RC.TempsCalme.asmdef | Gameplay — RC | Temps calme |
Editor/Editor.asmdef | Editor | Outils éditeur généraux (Editor-only) |
Editor/PlayFab/Editor_playfab.asmdef | Editor | Outils PlayFab éditeur |
Editor/RequestAnimationTestor/Editor.RequestAnimationTestor.asmdef | Editor | Testeur animations |
Editor/TPCreator/Editor.TPCreator.asmdef | Editor | Créateur TP |
Utilities/ClassExtensions/Utilities_ClassExtensions.asmdef | Utilities | Extensions C# |
Utilities/Editor/Utilities_Editor.asmdef | Utilities | Outils éditeur utilitaires |
Utilities/GameObjectsBehaviors/Utilities_GameObjectsBehaviors.asmdef | Utilities | Comportements GameObject |
Utilities/Tools/Utilities_Tools.asmdef | Utilities | Outils divers |
Utilities/WordManagement/WordManagement.asmdef | Utilities | Gestion des mots |
Conflit CS0433 — le seul connu
ActivityDataManager et DynamicMenu définissaient tous les deux un enum nommé Mode dans le namespace global → conflit CS0433. Solution appliquée : DynamicMenu a renommé son enum en LegacyMode. Dans les scripts qui touchent les deux assemblies, utiliser ActivityDataManager.SetModeAPA(bool isVideo).