# ByYear vs ByModule

## Generation Mode

- #### ByYear
    
    
    - Bouton : Générer pour toutes les équipes de la simulation.
    - Calendrier : Générer pour toutes les équipes lorsque le champs "nextGenerate" est passé.
- #### ByModule
    
    
    - Bouton : Génère le module selectionné pour toutes équipes qui n'ont pas de temps supplémentaire et set le nextGenerate (situé dans "teamsModules") au temps désiré pour les équipes avec du temps supplémentaires.
    - Calendrier : Génère le module selectionné lorsque le "nextGenerate" est atteint. Les équipes avec du temps supplémentaires sont généré plutard (nextGenerate + temps supplémentaire).

## Results generations

- #### ByYear
    
    
    - est calculé à partir du yearData (situé dans "teams").
- #### ByModule
    
    
    - est calculé à partir de "teamsModules". 
        - Le seed permet d'avoir des résultats différents pour chaque équipe

## Saved results

- Dans les deux types, les résultats sont sauvés partiellement dans "teams" (seulement les résultats d'une équipe) et dans "results" (les résultats de toutes les équipes).

## VS

- Le code est séparé par le namespace "SimByModule" et "SimByYear" afin qu'une simulation n'est pas accès aux informations spécifique de l'autre type.

- Classe (SimulationByYear) 
    - Contient le status de l'année courante (started, generating, finished).
    - Des évènements par année.
    - Présence par année pour un étudiant.
    - Année de pratique et réouvrir une année
- Classe (SimulationByModule) 
    - Permets d'ajouter module à la simulation ainsi que de le commencer et finir.
    - Ajouter du temps supplémentaires à une équipe sur un module.

## Unity UI

### Création de simulation

- ByYear à un champ supplémentaire (Nombre maximum de générations).

### Vu Global

- #### ByYear
    
    
    - Contient le nombre d'année ainsi que l'état de chaque année.
- #### ByModule
    
    
    - Contients une liste des modules actifs ainsi que l'état de chacun.