public record DamagedEvent(
GameObject Attacker,
GameObject Victim,
int Damage ) : IGameEvent;
public sealed class MyComponent : Component,
IGameEventHandler<DamagedEvent>
{
public void OnGameEvent( DamagedEvent eventArgs )
{
Log.Info( $"{eventArgs.Victim.Name} says \"Ouch!\"" );
}
}
GameObject.Dispatch( new DamagedEvent( attacker, victim, 50 ) );
[Early, After<SomeOtherComponent>]
public void OnGameEvent( DamagedEvent eventArgs )
{
Log.Info( $"{eventArgs.Victim.Name} says \"Ouch!\"" );
}