public Customer(int num, Pizzeria pizzeria) { // Конструктор объекта клиент: заказывает себе пиццу по выбору (рандомом) this.num = num; // Номер клиента присваивается исключительно для отображения в консоли this.pizzeria = pizzeria; orderedPizza = ChoosePizza(); pizzeria.Order(orderedPizza, GetTicket); }
public Customer(int num, Action <Customer> servedTrigger, Action <Customer> goingOut, Pizzeria pizzeria) : this(num, pizzeria) { // Конструктор предназначеный для вызова из класса симуляции, добавляет делегаты-триггеры необходимые процессу симуляции this.goingOut = goingOut; this.servedTrigger = servedTrigger; }
private bool isClosing = false; // Флаг о завершении работызаведения, чтобы завершать готовку в асинхронных процессах public CookingProcess(int number, Pizzeria pizzeria) { pizzeria.IsClosing += IsClosing; // Подписка на оповещение о закрытии ticket = new Ticket(number); // Кухня формирует талончик с номером заказа }