private void _characters_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { if (e.OldItems != null) { foreach (var item in e.OldItems.OfType <Character>()) { item.Allies.CollectionChanged -= Related_CollectionChanged; item.Enemies.CollectionChanged -= Related_CollectionChanged; } } if (e.NewItems != null) { foreach (var item in e.NewItems.OfType <Character>()) { item.Allies.CollectionChanged += Related_CollectionChanged; item.Enemies.CollectionChanged += Related_CollectionChanged; } } EncountersChanged?.Invoke(this, EventArgs.Empty); }
public void RemoveEncounter(MenuEncounter encounter) { Encounters.Remove(encounter); EncountersChanged?.Invoke(); }
public void AddEncounter(MenuEncounter encounter) { Encounters.Add(encounter); EncountersChanged?.Invoke(); }
private void Related_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { EncountersChanged?.Invoke(this, EventArgs.Empty); }