Vue d’ensemble du Game
Rôle de cette page
Cette page est la carte d'entrée du projet Game. La documentation suit les frontières réelles du code : Commun, By Module et By Year.
flowchart TD
GAME[Unity Game] --> COM[Commun]
GAME --> BM[By Module]
GAME --> BY[By Year]
COM --> CORE[Bootstrap / Controllers / UI]
COM --> BC[BrainCloud / Documents / RTT]
COM --> PIPE[Static Data / Textes / Build]
BM --> ACC[Accounting: acc_base + acc1 + acc2]
BY --> GAMES[ENT1 / HR1 / MGT1 / MK1 / MK2]
Comment choisir le bon chapitre
Game.cs, Factory, controllers, state machine, backend, Custom Entities, RTT, textes, build.
By Module
Framework de modules/pages et domaine Accounting.
teamsModules, Module Type Data, bills, inventory, answer key, grading, acc1/acc2.
By Year
Framework d'années/décisions et implémentations des jeux annuels.
cycle annuel, jobs, génération résultats, bots, ENT1/HR1/MGT1/MK1/MK2.
Architecture globale
sequenceDiagram
actor User as Utilisateur
participant Game as Unity Game
participant Factory as Factory
participant Ctrl as Controllers
participant BE as BackEndBrainCloud
participant CS as Cloud Scripts
participant DB as Custom Entities
participant RTT as BrainCloud RTT
User->>Game: lance / interagit
Game->>Factory: crée classes selon GameUid + SimType
Factory-->>Ctrl: modèles/controllers concrets
Ctrl->>BE: opération métier
BE->>CS: RunScript
CS->>DB: read / update / save
CS->>RTT: message si synchronisation nécessaire
CS-->>BE: response
RTT-->>BE: changement distant
BE-->>Ctrl: MessageData / ServerMessage
Ctrl-->>Game: modèle + UI mis à jour
Points d'entrée Unity
Assets/Src/Game/Game.cs— bootstrap, environnement, services globaux, GameUid et SimType.Assets/Src/Game/Factory.cs— composition des classes concrètes.Assets/Src/Game/GameStates/— login, chargement et navigation professeur/étudiant.Assets/Src/Game/Controllers/— modèles runtime, caches et listeners.Assets/Src/Game/Data/— données sérialisées communes, By Module et By Year.Assets/Src/Game/BackEnd/— contrat backend et implémentation BrainCloud.Assets/Src/UI/— UI commune et spécialisations.Assets/GameSpecific/— code, Resources et prefabs propres à chaque jeu.
Points d'entrée Node / BrainCloud
backend/braincloud/server_scripts/_command/— Cloud Scripts communs appelables.backend/braincloud/server_scripts/_utils/— documents, messages, eval, rankings et logique partagée..../_utils/by_module/— moteurs By Module..../acc_base,acc1,acc2— Accounting..../ent1,hr1,mgt1,mk1,mk2— moteurs By Year game-specific.node.js/exports/— Google Sheets → JSON → BrainCloud et pipeline des textes.backend/braincloud/debugging/— exécution locale des Server Scripts.backend/braincloud/tests/— tests automatisés.
Méthode pour tracer une feature
- Identifier le contrôle UI et le controller Unity.
- Trouver la méthode correspondante dans
BackEndBase/BackEndBrainCloud. - Identifier le Cloud Script commun ou game-specific réellement appelé.
- Suivre ses
bridge.include(). - Identifier chaque document lu ou sauvegardé.
- Identifier le message RTT envoyé.
- Retrouver le listener Unity qui consomme ce message.
- Si la donnée est générée/configurée, remonter aussi au JSON/Google Sheet source.
Ordre de lecture conseillé
Pour prendre le projet en main : Bootstrap → Machine d'état → Controllers → Simulations/activités/équipes → Backend Unity ↔ BrainCloud → Documents/RTT, puis entrer dans By Module ou By Year.
Carte fonctionnelle des jeux
Pour comprendre rapidement le rôle de chaque simulation avant d’entrer dans le code, voir Les jeux UnikSim — rôle, contenu et navigation de la documentation. Cette page résume ENT1, HR1, MGT1, MK1, MK2, ACC1 et ACC2 et indique quelles pages techniques ouvrir ensuite.