Unity EventBus на интерфейсах
public class SaveLoadManager : Monobehaviour, IQiuckSaveHandler
{
private void OnEnable()
{
EventBus.Subscribe(this);
}
private void OnDisable()
{
EventBus.Unsubscribe(this);
}
private void HandleQuickSave()
{
// код сохранения
...
}
}
Интересная реализация системы событий для Unity. В качестве ключа для подписки выступает интерфейс. Несколько лет назад, я писал про простой менеджер событий, но этот вариант выглядит по-лучше. Но нужно не забывать отписываться, чтобы избежать утечек. Как правильно в комментах заметили, можно использовать WeakReference, например.