using System; namespace Svelto.Observer { public delegate void ObserverAction(ref DispatchType parameter); public interface IObservable { event Action Notify; void Dispatch(); } public interface IObservable { event ObserverAction Notify; void Dispatch(ref DispatchType parameter); } public class Observable:IObservable { public event ObserverAction Notify; public void Dispatch(ref DispatchType parameter) { if (Notify != null) Notify(ref parameter); } } public class Observable:IObservable { public event Action Notify; public void Dispatch() { if (Notify != null) Notify(); } } }