Menus des activités
Navigation pédagogique data-driven : arborescence ScriptableObjects (matière → module → leçon), génération dynamique des boutons et menus de configuration.
Le dossier UserInterface/Activites_MENUS/ gère la navigation permettant à l’enseignant de choisir une activité. L’approche est entièrement data-driven via des ScriptableObjects — les designers ajoutent de nouvelles leçons sans toucher au code.
Arborescence pédagogique
Les données suivent une hiérarchie scolaire stricte :
Matière (ex. Français, Mathématiques)
└─ Module (ex. Grammaire)
└─ Leçon (ex. Le Verbe)
└─ Notion
└─ Exercice / Jeu
Chaque niveau est un ScriptableObject dans le dossier ScriptablesObjects/. Pour ajouter une nouvelle leçon, il suffit de créer un fichier dans l’éditeur Unity — aucun code à modifier.
Navigation dynamique
Les scripts dans MenuTypes/ (ex. MatiereMenu.cs, LeconMenu.cs) gèrent l’affichage visuel.
Quand on clique sur une “Matière” :
- Le script lit le
ScriptableObjectcorrespondant. - Il regarde les “Modules” à l’intérieur.
- Il instancie dynamiquement les boutons pour l’étape suivante.
Les scripts du dossier Icon/ appliquent la bonne couleur et la bonne icône à chaque bouton généré.
Menus de configuration
Une fois l’enseignant arrivé au bout de l’arborescence (au niveau “Exercice”), on entre dans les scripts de configuration : APAConfigurationMenuQCMVideo.cs, ASConfigurationMenu.cs, PenduConfigurationMenu.cs, etc.
Leur rôle : permettre de choisir le temps, la liste de présence et la difficulté, puis pousser ces choix dans ActivityDataManager avant de charger la scène de jeu.