Accueil Github ↗
Itération 3

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

DomaineFichiersRôle
UserInterface/~200Panels, menus, popups, boutique, fiche de présence
Gameplay/~179Mécaniques de jeu (APA, AP, AS, RC)
DynamicMenu/~96Navigation pédagogique data-driven (FolderSO)
Utilities/~87Extensions C#, gestion des mots, outils
BackendServices/~71PlayFab, authentification, données joueur
Commons/~63Managers partagés (audio, scènes, DB, settings)
Characters/~49Robot + Avatar (animations, batterie, émotions)
Data/~19Structures de données (boutique cosmétiques)
Editor/~30Outils éditeur Unity (inspectors custom)
DropdownMenu/~10Menus 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égorieScènes
MenusMenu_Connexion, MainMenu
APAAPA_01_Vallee, APA_02_... (plusieurs décors)
APAP_01_... (décors Pause Active)
ASAS_QCM, AS_Pendu
RCRC_CercleDeSerenite, RC_MeditationGuidee_01, RC_MeditationGuidee_02, RC_TempsCalme_01, RC_TempsCalme_02
UtilitairesLoadingScene
PrototypeAuthScene, 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 assemblies Prototyping/, Plugins/ et SimpleFolderIcon/ sont en plus de ceux listés ici.

Assembly racine

AssemblyNom interneRôle
Scripts/Assembly_CONTROL.asmdefBIG_GLOBAL_NYULCatch-all global. Auto-référencé partout — tout code sans .asmdef propre tombe ici.

Par domaine (Scripts/)

AssemblyDomaineRôle
Commons/Commons.asmdefCommonsManagers partagés (audio, scènes, DB…)
Commons/ActivityDataManager/ActivityDataManager.asmdefCommonsMode enum (VideoAPA, InteractifAPA…)
Commons/Constantes/PlayerPrefsReferencer.asmdefCommonsClés PlayerPrefs centralisées
DynamicMenu/DynamicMenu.asmdefDynamicMenuLegacyMode enum, navigation data-driven
DynamicMenu/Editor/DynamicMenu.Editor.asmdefDynamicMenuOutils éditeur DynamicMenu
UserInterface/UserInterface.asmdefUserInterfaceBase UI
UserInterface/Activites_MENUS/UserInterface.ActivitesMENU.asmdefUserInterfaceMenus d’activités
UserInterface/Boutique/UserInterface_Boutique.asmdefUserInterfaceBoutique
UserInterface/FicheDePresence/UserInterface_FicheDePresence.asmdefUserInterfaceFiche de présence
UserInterface/Keybord/KeyboardSystem.asmdefUserInterfaceClavier virtuel
UserInterface/Parameters/UI.Parameters.asmdefUserInterfacePanneau paramètres
UserInterface/PopUp/UserInterface.PopUp.asmdefUserInterfacePopups
UserInterface/Profils/UserInterface_Profils.asmdefUserInterfaceGestion profils
UserInterface/RandomImageForMenu/UserInterface_RandomImage.asmdefUserInterfaceImages aléatoires
UserInterface/SettingsManagement/UserInterface_Settings.asmdefUserInterfaceParamètres persistants
BackendServices/Playfab/BackendServices_Playfab.asmdefBackendServicesPlayFab base
BackendServices/Playfab/Connexion/BackendServices.Playfab.Connexion.asmdefBackendServicesAuthentification
BackendServices/Playfab/Data/BackendServices.Playfab.Data.asmdefBackendServicesDonnées joueur cloud
Characters/Animation/Animation.asmdef (AnimationSystem)CharactersMoteur d’animations
Characters/Avatar/Behavior/Avatar.Behavior.asmdefCharactersComportement avatar
Characters/Robot/Behavior/Robot.Behavior.asmdefCharactersComportement robot
Characters/Robot/Battery/BatterySystem.asmdefCharactersBatterie AP du robot
Characters/Dynamo Bloc - DB/DynamoBloc.Behavior.asmdefCharactersDynamo-Blocs (monnaie)
Data/Data.asmdefDataStructures de données
DropdownMenu/DropdownMenu.asmdefDropdownMenuMenus legacy (ne plus modifier)
Gameplay/AP/Gameplay.PauseActive.asmdefGameplay — PAPause Active (root)
Gameplay/AP/EntrainementParIntervalles/AP.EntrainemenrParIntervalles.asmdefGameplay — PAEntraînement par intervalles
Gameplay/APA/Gameplay.APA.asmdefGameplay — APAAPA (root)
Gameplay/APA/Mode pendu/Gameplay.APAPendu.asmdefGameplay — APAPendu APA
Gameplay/APA/QCM/APA.QCM.asmdefGameplay — APAQCM APA
Gameplay/APA/QCM/QCM System/QCMSystem.asmdefGameplay — APAMoteur QCM
Gameplay/AS/Gameplay.AS.asmdefGameplay — ASApprentissage Seul (root)
Gameplay/AS/QCM/AS.QCM.asmdefGameplay — ASQCM AS
Gameplay/Apprentissage/A trier/Gameplay.Apprentissage.asmdefGameplay — baseClasses de base partagées
Gameplay/JeuDuPendu/Gameplay.JeuDuPendu.asmdefGameplay — baseMoteur Pendu
Gameplay/RetourAuCalme/Gameplay.RetourAuCalme.asmdefGameplay — RCRC (root)
Gameplay/RetourAuCalme/CercleSerenite/RC.CercleSerenite.asmdefGameplay — RCCercle de Sérénité
Gameplay/RetourAuCalme/MeditationGuidee/RC.MeditationGuidee.asmdefGameplay — RCMéditation guidée
Gameplay/RetourAuCalme/TempsCalme/RC.TempsCalme.asmdefGameplay — RCTemps calme
Editor/Editor.asmdefEditorOutils éditeur généraux (Editor-only)
Editor/PlayFab/Editor_playfab.asmdefEditorOutils PlayFab éditeur
Editor/RequestAnimationTestor/Editor.RequestAnimationTestor.asmdefEditorTesteur animations
Editor/TPCreator/Editor.TPCreator.asmdefEditorCréateur TP
Utilities/ClassExtensions/Utilities_ClassExtensions.asmdefUtilitiesExtensions C#
Utilities/Editor/Utilities_Editor.asmdefUtilitiesOutils éditeur utilitaires
Utilities/GameObjectsBehaviors/Utilities_GameObjectsBehaviors.asmdefUtilitiesComportements GameObject
Utilities/Tools/Utilities_Tools.asmdefUtilitiesOutils divers
Utilities/WordManagement/WordManagement.asmdefUtilitiesGestion 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).