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);
}
}
}