public void AddActiveObject(Object activeObject, IDelegateRemover remover) { // Note: removers is a Value Type _activeObjects.TryGetValue(activeObject, out var removers); removers.Add(remover); _activeObjects[activeObject] = removers; }
private void AddLifeCycleMonitor(GameObject @object, IDelegateRemover remover) { if (!_activeObjects.Contains(@object)) { var monitor = @object.AddComponent <MediatorLifecycleMonitor>(); monitor.ActiveObjects = _activeObjects; } _activeObjects.AddActiveObject(@object, remover); }