mirror of
https://github.com/ConjureETS/DeathBook.git
synced 2026-03-24 20:40:57 +00:00
34 lines
675 B
C#
34 lines
675 B
C#
using System.Collections.Generic;
|
|
|
|
namespace DeathBook.Util
|
|
{
|
|
// Using an abstract class to avoid repeating code, but could be implemented as an interface if inheritance is somehow needed for the subjects
|
|
public abstract class Observable
|
|
{
|
|
private List<IObserver> observers;
|
|
|
|
public Observable()
|
|
{
|
|
observers = new List<IObserver>();
|
|
}
|
|
|
|
public void Subscribe(IObserver observer)
|
|
{
|
|
observers.Add(observer);
|
|
}
|
|
|
|
public void UnSubscribe(IObserver observer)
|
|
{
|
|
observers.Remove(observer);
|
|
}
|
|
|
|
public void NotifyObservers()
|
|
{
|
|
foreach (IObserver observer in observers)
|
|
{
|
|
observer.Notify();
|
|
}
|
|
}
|
|
}
|
|
}
|