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.Component.GlobalComponent

Global Component

Global components are Messenger objects that live outside the current scene. They receive user events before the scene, can emit scene output messages, and can add post-processing effects to the rendered scene. Typical examples are FPS overlays, transitions, loading screens, and global UI.

ConcreteGlobalComponent data userdata scenemsg
-> GCMsg
-> Maybe GCTarget
-> Runtime
-> Env (GCCommonData userdata scenemsg) userdata
-> AbstractGlobalComponent userdata scenemsg

Generate an abstract global component from a concrete global component.

The second argument is the initialization message (GCMsg). The optional target overrides the component's default id, which is useful when loading multiple instances of the same global component type.

List (AbstractGlobalComponent userdata scenemsg)
-> List (AbstractGlobalComponent userdata scenemsg)

Filter out dead global components.

Global components mark themselves as dead by setting baseData.dead to True. Messenger calls this helper each update so dead components stop receiving events and stop rendering.

List (AbstractGlobalComponent userdata scenemsg)
-> List (Renderable -> Renderable)

Collect post processors from all global components.

The returned list is applied to the scene renderable in order. Global components that do not need post-processing should keep postProcessor = identity.