linsyking/messenger-core/8.1.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.

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 85773eb26703 of https://github.com/elm-messenger/messenger-core (zip prefix linsyking-messenger-core-268728c/, America/Los_Angeles times): the zip is byte-identical to the one package.elm-lang.org recorded, SHA-1 6900a685001f5fedc7fe4c82b16013a38f12baa5.

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/8.1.0/

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
-> env
-> Maybe scenemsg
-> 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) )
| SOMPlayAudio String String AudioOption
| SOMAlert String
| SOMStopAudio String
| SOMSetVolume Float
| SOMPrompt String String
| SOMSaveUserData

Scene Output Msg

Scene Output Msg is the Msg that directedly handled by Top-level.

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 is used to play an audio resourse by giving name url 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 makes a prompt with name title
  • SOMSaveUserData saves the userdata by encode funtion given in UserUonfig
type alias SceneStorage userdata scenemsg =
Env () userdata
-> Maybe scenemsg
-> MAbstractScene userdata scenemsg

SceneStorage

The type used to store the scene data

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

AllScenes