justgook / elm-tiled / Tiled.Tileset


type Tileset
    = Source SourceTileData
    | Embedded EmbeddedTileData
    | ImageCollection ImageCollectionTileData

decode : Json.Decode.Decoder Tileset

encode : Tileset -> Json.Encode.Value


type alias SourceTileData =
{ firstgid : Basics.Int
, source : String 
}


type alias EmbeddedTileData =
{ columns : Basics.Int
, firstgid : Basics.Int
, image : String
, imageheight : Basics.Int
, imagewidth : Basics.Int
, margin : Basics.Int
, name : String
, spacing : Basics.Int
, tilecount : Basics.Int
, tileheight : Basics.Int
, tilewidth : Basics.Int
, transparentcolor : String
, tiles : Dict Basics.Int TilesData
, properties : Tiled.Properties.Properties 
}


type alias ImageCollectionTileData =
{ columns : Basics.Int
, firstgid : Basics.Int
, margin : Basics.Int
, name : String
, spacing : Basics.Int
, tilecount : Basics.Int
, tilewidth : Basics.Int
, tileheight : Basics.Int
, tiles : Dict Basics.Int ImageCollectionTileDataTile
, properties : Tiled.Properties.Properties
, grid : Maybe GridData 
}


type alias TilesData =
TilesDataPlain {}


type alias ImageCollectionTileDataTile =
TilesDataPlain { image : String
, imageheight : Basics.Int
, imagewidth : Basics.Int 
}


type alias TilesDataObjectgroup =
{ draworder : Tiled.Layer.DrawOrder
, name : String
, objects : List Tiled.Object.Object
, opacity : Basics.Int
, visible : Basics.Bool
, x : Basics.Int
, y : Basics.Int 
}


type alias SpriteAnimation =
{ duration : Basics.Int
, tileid : Basics.Int 
}

Decode tileset from file

decodeFile : Basics.Int -> Json.Decode.Decoder Tileset

Internal stuff


type alias GridData =
{ height : Basics.Int
, orientation : String
, width : Basics.Int 
}

stuff to delete

decodeTilesData : Json.Decode.Decoder (Maybe (TilesDataPlain { id : Basics.Int }))

encodeTilesData : ( Basics.Int, TilesDataPlain a ) -> Json.Encode.Value