linsyking/messenger-core/13.0.0

NOTE: the latest version is 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.

Unavailable. Nobody can download this version any more, with elm or with the Lamdera compiler: Software Heritage has not archived the repo; no fork with tag 13.0.0 found (17 same-name repos checked); no cached copy. Use another version.

Details

Messenger.Scene.LayeredScene

Layered Scene

Layered scene is a pre-defined scene implementation provided by Messenger. A layered scene can only handle a list of layers with fixed cdata, userdata, tar, msg and scenemsg types.

type alias LayeredSceneData cdata userdata tar msg scenemsg =
{ renderSettings : List Setting
, commonData : cdata
, layers : List (AbstractLayer cdata userdata tar msg scenemsg)
}

Layered Scene Data.

- `renderSettings` is used in `group` while viewing the layers as a whole
- `commonData` is the common data for the whole scene
- `layers` are the layers of the scene with type `AbstractLayer`
LayeredSceneInit cdata userdata tar msg scenemsg
-> LayeredSceneSettingsFunc cdata userdata tar msg scenemsg
-> SceneStorage userdata scenemsg

This creates a layered scene.

  • init creates the initial layered scene from env data and init msg.
  • settingsFunc is a user provided function to modify renderSettings each time the scene updates. If you don't need settingsFunc, simply provide a func _ _ _ = settings
type alias LayeredSceneInit cdata userdata tar msg scenemsg =
Env () userdata
-> Maybe scenemsg
-> LayeredSceneData cdata userdata tar msg scenemsg

init type sugar

type alias LayeredSceneSettingsFunc cdata userdata tar msg scenemsg =
Env () userdata
-> LayeredSceneData cdata userdata tar msg scenemsg
-> List Setting

settingsFunc type sugar

Scene Prototype

type alias LayeredSceneProtoInit cdata userdata tar msg scenemsg idata =
Env () userdata
-> Maybe idata
-> LayeredSceneData cdata userdata tar msg scenemsg

init type sugar for scene prototypes

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

init type sugar for levels

LayeredSceneProtoInit cdata userdata tar msg scenemsg idata
-> LayeredSceneLevelInit userdata scenemsg idata
-> Env () userdata
-> Maybe scenemsg
-> LayeredSceneData cdata userdata tar msg scenemsg

Compose LayeredSceneProtoInit with LayeredSceneLevelInit.