/// <summary> /// Méthode pour aller récupérer les menus et les amener aux clients /// </summary> public void SearchMenu(Table table, SquareSupervisor squareSupervisor) { MoveToTable(table, squareSupervisor); groupClientController.ThreadChoseMenu(table.groupClient); Task threadItemMenu = new Task(() => assignItemToTable(squareSupervisor, table, "menu")); threadItemMenu.Start(); MoveToWelcome(table, squareSupervisor); squareSupervisor.isAvailable = true; threadSMSemaphore.Release(); }
/// <summary> /// Méthode permettant d'amener les clients aux tables /// </summary> public void EscortClient(Table table, SquareSupervisor squareSupervisor) { MoveToClient(squareSupervisor); Task threadClient = new Task(() => MoveClient(table, squareSupervisor)); threadClient.Start(); MoveToTable(table, squareSupervisor); table.groupClient.dishState = DishState.WaitMenu; MoveToWelcome(table, squareSupervisor); squareSupervisor.isAvailable = true; threadECSemaphore.Release(); }
/// <summary> /// Méthode pour récuperer la commande des clients /// </summary> public void GetCommande(Table table, SquareSupervisor squareSupervisor) { GroupCommand groupCommandTemp = new GroupCommand(table); foreach (Client client in table.groupClient.clients) { client.appetizer.table = table; model.kitchen.cookingRoom.masterChef.commandsToDo.Add(client.appetizer); } model.counter.waitingGroupCommand.Add(groupCommandTemp); MoveToWelcome(table, squareSupervisor); squareSupervisor.isAvailable = true; }
/// <summary> /// Méthode pour aller récupérer les menus des clients et prendre leur commande en même temps /// </summary> public void CollectMenu(Table table, SquareSupervisor squareSupervisor) { MoveToTable(table, squareSupervisor); //MessageBox.Show("WaitBreadAndWater"); table.menus = 0; Task threadItemNoMenu = new Task(() => assignItemToTable(squareSupervisor, table, "noitem")); threadItemNoMenu.Start(); GetCommande(table, squareSupervisor); MoveToWelcome(table, squareSupervisor); squareSupervisor.isAvailable = true; threadCMSemaphore.Release(); }
public void assignItemToTable(SquareSupervisor squareSupervisor, Table table, string type) { squareSupervisor.NotifyObservers(table, type); }
/// <summary> /// Méthode permettant de se déplacer à l'accueil /// </summary> private void MoveToWelcome(Table table, SquareSupervisor squareSupervisor) { squareSupervisor.NotifyObservers(table.returnSquareList); }
public void MoveClient(Table table, SquareSupervisor squareSupervisor) { squareSupervisor.NotifyObservers(table.supervisorTravelList, table); }
public void MoveToClient(SquareSupervisor squareSupervisor) { squareSupervisor.NotifyObservers(new List <Point> { ConstantPosition.initialClient }); }
/// <summary> /// Méthode permettant de faire bouger le personnage en fonction de la classe Clock /// </summary> public void MoveToTable(Table table, SquareSupervisor squareSupervisor) { squareSupervisor.NotifyObservers(table.supervisorTravelList); }