rjw-quirks/RJW-Quirks/Modules/Quirks/EventHandlers/QuirkRjwEventHandler.cs

23 lines
635 B
C#

using rjw;
using rjwquirks.Modules.Shared.Events;
namespace rjwquirks.Modules.Quirks.EventHandlers
{
/// <summary>
/// Handler that passes RJW events to a single quirk
/// </summary>
public class QuirkRjwEventHandler : RjwEventHandler
{
public override void HandleEvent(RjwEvent ev)
{
if (!ev.args.TryGetArg(RjwEventArgNames.Quirk, out Quirk quirk))
{
ModLog.Error($"QuirkRjwEventHandler recieved {ev.def}, but event has no '{RjwEventArgNames.Quirk}' argument");
return;
}
quirk.NotifyEvent(ev);
}
}
}