Accueil Github ↗
Itération 3

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.

Les scripts dans MenuTypes/ (ex. MatiereMenu.cs, LeconMenu.cs) gèrent l’affichage visuel.

Quand on clique sur une “Matière” :

  1. Le script lit le ScriptableObject correspondant.
  2. Il regarde les “Modules” à l’intérieur.
  3. 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é.

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.