Fixed component filter logic in the message bus

This commit is contained in:
Thorsten Sommer 2026-05-25 19:58:35 +02:00
parent 3e6e3bdcbd
commit 94c61bde4a
Signed by untrusted user who does not match committer: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -64,11 +64,11 @@ public sealed class MessageBus
{ {
foreach (var (receiver, componentFilter) in this.componentFilters) foreach (var (receiver, componentFilter) in this.componentFilters)
{ {
if (componentFilter.Length > 0 && sendingComponent is not null && !componentFilter.Contains(sendingComponent)) if (componentFilter.Length > 0 && message.SendingComponent is not null && !componentFilter.Contains(message.SendingComponent))
continue; continue;
var eventFilter = this.componentEvents[receiver]; var eventFilter = this.componentEvents[receiver];
if (eventFilter.Length == 0 || eventFilter.Contains(triggeredEvent)) if (eventFilter.Length == 0 || eventFilter.Contains(message.TriggeredEvent))
// We don't await the task here because we don't want to block the message bus: // We don't await the task here because we don't want to block the message bus:
_ = receiver.ProcessMessage(message.SendingComponent, message.TriggeredEvent, message.Data); _ = receiver.ProcessMessage(message.SendingComponent, message.TriggeredEvent, message.Data);