Feature Request for SiO2 EventBus : Support for filtered listeners

Yes, sorry I did not provide it in the first place. It was a bit hard to explain :wink:

The case is, in a multiplayer game which you have multiple parties where each Party(Team) has it’s own separate Scene (World).

A Party is a group of players who created a team and are playing the game in a Scene (World) that belongs to them.

Scene (World) is an entity with a Scene component and any object belongs to that scene is going buff to that Scene.

Each Scene has it’s own PhysicsSpace, NavSpace (NavMesh), Scenario (story of the scene contains multiple Quests (Task) )

You can have multiple parties each has it’s own Scene yet they are using one EntityData.

Now consider a Scenario for a Scene, where i have multiple Quests inside the Scenario.

A Quest (task) has a state,

possible states of a task:

    pending — the task did not met the unlocking requirement yet
    unlocked — the unlocking requirements are met, but it is not in progress yet, maybe because of the limit of possible tasks in progress
    in progress — the task was unlocked and shown to the player. It might be useful to have a sub-state, or a separate state for new task. This symbols that the task is technically in progress, but player did not read the objections yet. I did not give it a separate state because it is UI specific
    completed — task was in progress and player did everything necessary to complete it. Now it is time to collect the reward. If there is no reward the task might directly switch to the next state. There are also systems where quests autocomplete
    done — task was completed and user collected the reward
    canceled — this state is important if you want a quest to disappear. It’s particularly useful, if you introduce a new quests which player, who advanced beyond a certain threshold, shall not see

I have a QuestEvent fired whenever a Quest state changed. Now if I publish this event with EventBus all parties are going to receive that event in their Scenario , but I want only the relevant Scenario receive that event.
For this I need filtering based on scene id of Quest here.
I am not sure if that feature request is the proper answer to my need so again I need your help to settle it. :slightly_smiling_face: