protected override void DistribuerZones() { var link = new LinkCaseToZone(); for (int i = 0; i < GameManager.Longueur; ++i) { for (int j = 0; j < GameManager.Largeur; ++j) { if (i < GameManager.Longueur / 2) { if (j < GameManager.Largeur / 3) { // ZONE DEHORS var coor = new Coordonnees(i, j); ZoneExterne.AjouterCase(coor); link.LinkObject(coor, ZoneExterne, Simulation.Tableau); } else if (j < (3 * GameManager.Largeur / 4)) { // CAISSES CLIENTS var coor = new Coordonnees(i, j); CaissesClient.AjouterCase(coor); link.LinkObject(coor, CaissesClient, Simulation.Tableau); } else { // CAISSES CUISTOTS var coor = new Coordonnees(i, j); CaissesCuistots.AjouterCase(coor); link.LinkObject(coor, CaissesCuistots, Simulation.Tableau); } } else { if (j < GameManager.Largeur / 3) { // ZONE EXTERNE var coor = new Coordonnees(i, j); ZoneExterne.AjouterCase(coor); link.LinkObject(coor, ZoneExterne, Simulation.Tableau); } else { // ZONE REPAS var coor = new Coordonnees(i, j); ZoneRepas.AjouterCase(coor); link.LinkObject(coor, ZoneRepas, Simulation.Tableau); } } } } }
private void PlacerCaisses() { // Enlever les points d'accès des caisses client vers les zones du personnel (caisses cuistots) var list = new List <ObjetAbstrait>(CaissesClient.Objets); var listCoor = new List <Coordonnees>(); foreach (var obj in list) // pour chaque objet { if (obj is AccessPoint) { AccessPoint point = (AccessPoint)obj; if (point.ZoneAnnexes.Contains(CaissesCuistots)) // si pt d'accès vers caisses cuistots { listCoor.Add(obj.Case); CaissesClient.EnleverObjet(obj); } } } // Remplacer aux mêmes coordonnées par des objets de type Caisse int i = 1; foreach (var coor in listCoor) { var caisse = new Caisse("Caisse" + i, coor); CaissesClient.AjouterObjet(caisse); ++i; } // Enlever les points d'accès de la zone caisse cuistot vers caisses clients list = new List <ObjetAbstrait>(CaissesCuistots.Objets); foreach (var obj in list) { if (obj is AccessPoint) { AccessPoint point = (AccessPoint)obj; if (point.ZoneAnnexes.Contains(CaissesClient)) { CaissesCuistots.EnleverObjet(obj); } } } }