コード例 #1
0
        /// <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();
        }
コード例 #2
0
        /// <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();
        }
コード例 #3
0
        /// <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;
        }
コード例 #4
0
        /// <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();
        }
コード例 #5
0
 public void assignItemToTable(SquareSupervisor squareSupervisor, Table table, string type)
 {
     squareSupervisor.NotifyObservers(table, type);
 }
コード例 #6
0
 /// <summary>
 /// Méthode permettant de se déplacer à l'accueil
 /// </summary>
 private void MoveToWelcome(Table table, SquareSupervisor squareSupervisor)
 {
     squareSupervisor.NotifyObservers(table.returnSquareList);
 }
コード例 #7
0
 public void MoveClient(Table table, SquareSupervisor squareSupervisor)
 {
     squareSupervisor.NotifyObservers(table.supervisorTravelList, table);
 }
コード例 #8
0
 public void MoveToClient(SquareSupervisor squareSupervisor)
 {
     squareSupervisor.NotifyObservers(new List <Point> {
         ConstantPosition.initialClient
     });
 }
コード例 #9
0
 /// <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);
 }