private void ItemDestroy(object sender, EventArgs e) { IDestroyNotifier item = (IDestroyNotifier)sender; item.Destroy -= ItemDestroy; items.Remove(item); ItemDestroyed?.Invoke(this, new DestroyedItemEventArgs(item)); }
public DestroyedItemEventArgs(IDestroyNotifier destroyedItem) { DestroyedItem = destroyedItem; }
public void Add(IDestroyNotifier item) { items.Add(item); item.Destroy += ItemDestroy; }