Carpet

Carpet

2M Downloads

Dynamically set events in player apps affect all other instances of the same app for other players

gnembon opened this issue ยท 0 comments

commented

Events are shared between app instances in per player apps. This means that one player will affect handling of events of other player. Since handlers can be dynamically added / removed, that breaks apps isolation.

Fixing it means all events should be keyed with host AND target and acted upon appropriately.

This entails that creating a new player host for apps requires copying of all events to the child host.

It probably makes sense that global host events in player apps are not executed as irrelevant.

This also means that all 'global' events, like 'tick' should now be able to execute on player hosts, making global events somewhat more useful, with a warning that with multiple players on, that will execute multiple times, once for each player.