Architecture By Year
Rôle
By Year est le framework historique où une activité progresse année par année. À chaque année, les équipes prennent des décisions game-specific, le serveur génère les résultats, calcule les évaluations et prépare l'année suivante.
flowchart LR
ACT[ActivityByYear] --> Y[Current Year]
Y --> DEC[TeamDecisionsByYear]
DEC --> GAME[Game-specific logic]
GAME --> RES[ResultsByYear]
RES --> EVAL[TeamEvaluation / StudentEvaluation]
RES --> NEXT[Next Year]
Unity
| Couche | Emplacement |
|---|---|
| Modèles | Assets/Src/Game/Data/ByYear/ |
| Controllers | Assets/Src/Game/Controllers/*ByYear* |
| UI commune | Assets/Src/UI/SimByYear/ |
| Game-specific | Assets/GameSpecific/ent1|hr1|mgt1|mk1|mk2/ |
Serveur
_utils/utils_by_year.js: cycle, calendrier, jobs, bots et helpers annuels;_utils/utils_eval.js: évaluations communes;_utils/utils_rankings.js: rankings;_utils/factory/utils_factory_generate_results.js: sélection du moteur de résultats par GameUid;_utils/factory/utils_factory_eval.js: sélection du moteur d'évaluation par GameUid;<gameUid>/utils/*: décisions, events, résultats et scoring propres au jeu.
Game-specific
Contrairement à Accounting, By Year n'a pas une seule logique métier partagée. Le framework fournit le cycle; les jeux fournissent les décisions et les calculs. Il faut donc éviter de mettre les règles MK1, HR1 ou ENT1 dans une page “Common”.