justgook/elm-tiled/3.0.2

Tiled.Level

type Level
= Orthogonal LevelData
| Isometric LevelData
| Staggered StaggeredLevelData
| Hexagonal StaggeredLevelData

Tiled can export maps as JSON files. That is elm representation of that structure.

decode : Decoder Level
encode : Level -> Value

Level Data

type alias LevelData =
ExtensibleLevelData {}
type alias StaggeredLevelData =
ExtensibleLevelData
{ hexsidelength : Int
, staggeraxis : Axis
, staggerindex : OddOrEven
}
type alias ExtensibleLevelData addition =
{ addition
| backgroundcolor : String
, height : Int
, infinite : Bool
, layers : List Layer
, nextobjectid : Int
, renderorder : RenderOrder
, tiledversion : String
, tileheight : Int
, tilesets : List Tileset
, tilewidth : Int
, version : Float
, width : Int
, properties : Properties
}

Helper Types

type Axis
= X
| Y

Used in staggeraxis property of Level - (staggered / hexagonal maps only)

= Odd
| Even

Used in staggerindex property of Level - (staggered / hexagonal maps only)

= RightDown
| RightUp
| LeftDown
| LeftUp

Used in renderorder property of Level - (orthogonal maps only)