linsyking/messenger-core/12.0.3

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.

Rerouted (renamed, verified). The GitHub user or repository was renamed. The tag is still there, at the new name. The Lamdera package server serves a copy recovered from https://github.com/elm-messenger/messenger-core.

What we checked: The repo moved to github.com/elm-messenger/messenger-core. Rebuilt with git archive from commit f538f41072aa of https://github.com/elm-messenger/messenger-core (zip prefix linsyking-messenger-core-d33e31c/, America/Los_Angeles times): the zip is byte-identical to the one package.elm-lang.org recorded, SHA-1 d3a975c2d777796966214bc9fb262d5a11599dde.

The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.

Details · package.elm-lang.org's zip: https://github.com/linsyking/messenger-core/zipball/12.0.3/

Messenger.Scene.Scene

Scene Base

Gerneral Model and Basic types for Scenes

type AbstractScene env event ren scenemsg userdata
= Roll (UnrolledAbstractScene env event ren scenemsg userdata)

Rolled Abstract Scene Model.

Cannot be directedly modified. Used for storage.

type alias MConcreteScene data userdata scenemsg =
ConcreteScene
data
(Env () userdata)
Renderable
scenemsg
userdata

Specialized Concrete scene for Messenger

type alias MAbstractScene userdata scenemsg =
(Env () userdata)
Renderable
scenemsg
userdata

Specialized Abstract scene for Messenger

AbstractScene env event ren scenemsg userdata
-> UnrolledAbstractScene env event ren scenemsg userdata

Unroll a rolled abstract scene.

ConcreteScene data env event ren scenemsg userdata
-> Maybe scenemsg
-> env
-> AbstractScene env event ren scenemsg userdata

Abstract a concrete scene to an abstract scene.

Initialize it with env and msg.

type SceneOutputMsg scenemsg userdata
= SOMChangeScene
(Maybe scenemsg)
String
(Maybe (Transition userdata))
| SOMAlert String
| SOMPrompt String String
| SOMPlayAudio Int String AudioOption
| SOMStopAudio Int
| SOMSetVolume Float
| SOMSaveGlobalData
| SOMSetContext (SceneContext userdata scenemsg)
| SOMGetContext
(SceneContext userdata scenemsg -> userdata -> userdata)

Scene Output Msg is the message that directedly handled by the top-level core.

scenemsg is a custom type which represents the message type users wants to send to a scene when switching scenes.

  • SOMChangeScene is used to change to a target scene by giving a initMsg name trasition
  • SOMPlayAudio channel name option is used to play an audio resource by giving channel name option
  • SOMStopAudio is used to stop a playing audio by giving its name
  • SOMSetVolume is used to set the volume with a value from 0 to 1
  • SOMAlert makes an alert
  • SOMPromp name title makes a prompt with name title
  • SOMSaveGlobalData saves the global by encode funtion given in UserConfig
  • SOMSetContext restores the context of the scene
  • SOMGetContext gets the context of the scene
type alias SceneStorage userdata scenemsg =
Maybe scenemsg
-> Env () userdata
-> MAbstractScene userdata scenemsg

The type used to store the scene data.

type alias AllScenes userdata scenemsg =
List ( String, SceneStorage userdata scenemsg )

All scenes type

type alias SceneContext userdata scenemsg =
{ scene : MAbstractScene userdata scenemsg
, sceneStartTime : Int
, sceneStartFrame : Int
, name : String
}

Scene Context