Class Signal<T>
Single-argument signal
Implements
Inherited Members
Namespace: Atlas
Assembly: Atlas.Runtime.dll
Syntax
public class Signal<T> : SignalBase<ICommand<T>, Action<T>>, ISignal
Type Parameters
Name | Description |
---|---|
T | Type of the signal's argument |
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(T)
Invokes the signal, calling all registered callback methods/commands
Declaration
public void Dispatch(T arg)
Parameters
Type | Name | Description |
---|---|---|
T | arg | Argument to pass to the callbacks |