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.Scene.RawScene

Raw Scene

A raw scene owns all of its data directly. It has no built-in layers or components, so it is useful for simple scenes or for custom scene structures that do not fit Messenger's layered scene helper.

type alias RawSceneInit data userdata scenemsg =
Runtime -> Env () userdata -> Maybe scenemsg -> data

Raw scene init type.

Initialize scene data from the environment and optional scene message.

type alias RawSceneUpdate data userdata scenemsg =
Runtime
-> Env () userdata
-> data
-> ( data
, List (SceneOutputMsg scenemsg userdata)
, Env () userdata
)

Raw scene update type.

It receives the environment, user event, and scene data, then returns updated data, scene output messages, and the updated environment.

type alias RawSceneView userdata data =
Runtime -> Env () userdata -> data -> Renderable

Raw scene view type.

It receives the environment and scene data and returns a renderable.

MConcreteScene data userdata scenemsg
-> SceneStorage userdata scenemsg

Generate scene storage from a concrete raw scene.

Scene Prototype

type alias RawSceneProtoInit data userdata idata =
Runtime -> Env () userdata -> Maybe idata -> data

Prototype init type for raw scene prototypes.

This creates scene data from prototype initialization data.

type alias RawSceneProtoLevelInit userdata scenemsg idata =
Runtime -> Env () userdata -> Maybe scenemsg -> Maybe idata

Level init type for raw scene prototypes.

This converts a normal scene message into the prototype-specific initialization data. It is commonly used by generated scene-prototype levels.

RawSceneProtoInit data userdata idata
-> RawSceneProtoLevelInit userdata scenemsg idata
-> Runtime
-> Env () userdata
-> Maybe scenemsg
-> data

Compose prototype init with level init.