diff --git a/Signals.cs b/Signals.cs index 1fd9dba..3730cd2 100644 --- a/Signals.cs +++ b/Signals.cs @@ -204,15 +204,20 @@ public void RemoveListener(Action handler) callback -= handler; } + /// + /// Removes all listeners from this Signal + /// + public void RemoveAllListeners() + { + callback = null; + } + /// /// Dispatch this signal /// public void Dispatch() { - if(callback != null) - { - callback(); - } + callback?.Invoke(); } } @@ -246,15 +251,20 @@ public void RemoveListener(Action handler) callback -= handler; } + /// + /// Removes all listeners from this Signal + /// + public void RemoveAllListeners() + { + callback = null; + } + /// /// Dispatch this signal with 1 parameter /// public void Dispatch(T arg1) { - if (callback != null) - { - callback(arg1); - } + callback?.Invoke(arg1); } } @@ -289,15 +299,20 @@ public void RemoveListener(Action handler) callback -= handler; } + /// + /// Removes all listeners from this Signal + /// + public void RemoveAllListeners() + { + callback = null; + } + /// /// Dispatch this signal /// public void Dispatch(T arg1, U arg2) { - if (callback != null) - { - callback(arg1, arg2); - } + callback?.Invoke(arg1, arg2); } } @@ -333,15 +348,20 @@ public void RemoveListener(Action handler) callback -= handler; } + /// + /// Removes all listeners from this Signal + /// + public void RemoveAllListeners() + { + callback = null; + } + /// /// Dispatch this signal /// public void Dispatch(T arg1, U arg2, V arg3) { - if (callback != null) - { - callback(arg1, arg2, arg3); - } + callback?.Invoke(arg1, arg2, arg3); } } }