У меня есть класс WorkManager с методом AddWork () и событием WorkDone.Другие компоненты системы будут вызывать WorkManager.AddWork () и должны быть уведомлены только после завершения их работы.Вместо события, уведомляющего каждого клиента о каждом событии.
Я изо всех сил пытаюсь найти элегантное решение.
Спасибо всем!
РЕДАКТИРОВАТЬ: Другой способ взглянуть наскажем, у меня есть класс JobManager с событием OnWorkDone ().У меня есть 2 других класса, которые должны слушать это событие.
Класс подписчика на событие 1
WorkManager.OnWorkDone += WorkDoneJob1;
void WorkDoneJob1()
{
print("Job 1 is done!");
}
Класс подписчика на событие 2
WorkManager.OnWorkDone += WorkDoneJob2;
void WorkDoneJob2()
{
print("Job 2 is done!");
}
В этой модели, еслиjobmanager завершает job1, он печатает «работа 1 выполнена» и «работа 2 выполнена», так как все клиенты получают уведомление о том, что событие произошло.
Я хочу, чтобы class1 получал уведомление только после того, как его работа завершена.