linsyking/messenger-core/20.0.0

Renamed to elm-messenger/messenger-core. That is where the repository lives now. It has not been published as a package under the new name.

Versions published as linsyking/messenger-core still install under that name. 34 versions of 52 come from the new location (see their notes). 7 versions could not be recovered and cannot be installed.

Messenger.Recursion

Recursion List

Low-level helpers for updating lists of Messenger general models.

Most games should use the component and layer helpers generated in templates. Use this module when building your own abstraction over Messenger.GeneralModel.AbstractGeneralModel.

envro
-> env
-> event
-> List
(AbstractGeneralModel envro env event tar msg ren bdata sommsg)
-> ( List
(AbstractGeneralModel envro env event tar msg ren bdata sommsg)
, List (MsgBase msg sommsg)
, ( env, Bool )
)

Update every object once with an event, then deliver generated target messages.

The returned tuple contains the updated objects, parent/system messages, and the final environment plus a block flag. If an object blocks the event, later objects do not receive the original event, but queued target messages are still delivered afterwards.

envro
-> env
-> List ( tar, msg )
-> List
(AbstractGeneralModel envro env event tar msg ren bdata sommsg)
-> ( List
(AbstractGeneralModel envro env event tar msg ren bdata sommsg)
, List (MsgBase msg sommsg)
, env
)

Deliver target messages to a list of objects.

Each ( target, msg ) pair is sent to every object whose matcher accepts the target. Messages generated during delivery are recursively delivered until no target messages remain.

tar
-> List
(AbstractGeneralModel envro env event tar msg ren bdata sommsg)
-> List
(AbstractGeneralModel envro env event tar msg ren bdata sommsg)

Remove all objects that match a target.