Пример #1
0
        public Customer(int num, Pizzeria pizzeria)
        {                        // Конструктор объекта клиент: заказывает себе пиццу по выбору (рандомом)
            this.num      = num; // Номер клиента присваивается исключительно для отображения в консоли
            this.pizzeria = pizzeria;

            orderedPizza = ChoosePizza();
            pizzeria.Order(orderedPizza, GetTicket);
        }
Пример #2
0
 public Customer(int num, Action <Customer> servedTrigger, Action <Customer> goingOut, Pizzeria pizzeria) : this(num, pizzeria)
 {           // Конструктор предназначеный для вызова из класса симуляции, добавляет делегаты-триггеры необходимые процессу симуляции
     this.goingOut      = goingOut;
     this.servedTrigger = servedTrigger;
 }
Пример #3
0
        private bool isClosing = false;                 // Флаг о завершении работызаведения, чтобы завершать готовку в асинхронных процессах

        public CookingProcess(int number, Pizzeria pizzeria)
        {
            pizzeria.IsClosing += IsClosing;                    // Подписка на оповещение о закрытии
            ticket              = new Ticket(number);           // Кухня формирует талончик с номером заказа
        }