Class Signal<T1, T2>
Two-argument signal
Implements
Inherited Members
Namespace: Atlas
Assembly: Atlas.Runtime.dll
Syntax
public class Signal<T1, T2> : SignalBase<ICommand<T1, T2>, Action<T1, T2>>, ISignal
Type Parameters
Name | Description |
---|---|
T1 | First argument type |
T2 | Second argument type |
Examples
namespace Atlas.Examples
{
public sealed class Example_Signal
{
public enum CharacterState
{
Alive,
Dead
}
// signal declaration
public class CharacterStateChangedSignal : Signal<CharacterState>
{
}
// called externally to provide relevant dependencies
public void OnInjectDependencies( CharacterStateChangedSignal signal )
{
m_signal = signal;
}
public void TakeDamage( int damage )
{
m_curHealth -= damage;
if ( m_curHealth <= 0 )
{
// dispatches state change to all listeners
m_signal.Dispatch( CharacterState.Dead );
}
}
private CharacterStateChangedSignal m_signal;
private int m_curHealth;
}
}
Methods
| Improve this Doc View SourceDispatch(T1, T2)
Invokes the signal, calling all registered callback methods/commands
Declaration
public void Dispatch(T1 arg1, T2 arg2)
Parameters
Type | Name | Description |
---|---|---|
T1 | arg1 | First argument to pass to the callbacks |
T2 | arg2 | Second argument to pass to the callbacks |