示例#1
0
        //Fonction pour aller au comptoir, prendre les menus, retourner à la table ciblée et donner les menus aux clients
        private void GettingMenus()
        {
            if (carte == null)
            {
                if (GetPosition() == ((Table)clientsToRecieve[0][1]).GetPosition())
                {
                    tablePosition = GetPosition();
                    MoveTo(loader.GetWorld().GetComptoir().GetPointAccesRestaurant());
                }
                else
                {
                    carte = loader.GetWorld().GetComptoir().GetCarte();
                    Console.WriteLine("CR " + id + " a récupéré cartes");
                }
            }
            else
            {
                if (GetPosition() == ((Table)clientsToRecieve[0][1]).GetPosition())
                {
                    foreach (Client client in (List <Client>)clientsToRecieve[0][0])
                    {
                        client.RecieveCarte(carte);
                    }

                    Console.WriteLine("CR " + id + " a donné les cartes aux clients de la table " + ((Table)clientsToRecieve[0][1]).GetNumTable());

                    clientsToRecieve.RemoveAt(0);

                    carte = null;

                    etat = "idle";
                }
                else
                {
                    MoveTo(tablePosition);
                }
            }
        }
示例#2
0
 //Fonction pour reçevoir la crate des menus, appelée par le chef de rang
 public void RecieveCarte(Carte carte)
 {
     this.carte = carte;
 }
示例#3
0
 //Fonction pour rendre la carte au chef de rang, change l'état du client en attende du repas
 public void GiveBackCarte()
 {
     carte = null;
 }
 //Charge la carte des menus du restaurant (qui peut changer en fonction des aliments manquants)
 public void LoadCarte(Carte carte)
 {
     this.carte = carte;
 }