Copyright | (C) 2020 Sophie Taylor |
---|---|
License | AGPL-3.0-or-later |
Maintainer | Sophie Taylor <sophie@spacekitteh.moe> |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | GHC2021 |
Games.ECS.SaveLoad
Description
Saving and loading support, built upon Serialisation
.
Synopsis
- entityToXMLDoc :: XMLSerialise (worldType 'Individual) => worldType 'Individual -> Document
- worldToXMLDoc :: (World worldType, XMLSerialise (worldType 'Individual)) => worldType 'Storing -> Document
- renderEntityAsXML :: XMLSerialise (worldType 'Individual) => worldType 'Individual -> Text
- renderWorldAsXML :: (World worldType, XMLSerialise (worldType 'Individual)) => worldType 'Storing -> Text
- writeWorldToFile :: (World worldType, XMLSerialise (worldType 'Individual)) => FilePath -> worldType 'Storing -> IO ()
- serialiseWorld :: (World worldType, XMLSerialise (worldType 'Individual)) => worldType 'Storing -> Element
- deserialiseWorld :: (World worldType, XMLSerialise (worldType 'Individual)) => Element -> Maybe (worldType 'Storing)
- entityPickler :: (XMLSerialise (worldType 'Individual), XMLPickler [Node] (worldType 'Individual)) => PU [Element] (worldType 'Individual)
- worldPickler :: (World worldType, XMLSerialise (worldType 'Individual)) => PU [Node] (worldType 'Storing)
Documentation
entityToXMLDoc :: XMLSerialise (worldType 'Individual) => worldType 'Individual -> Document Source #
Serialise an individual to an XML Document
.
worldToXMLDoc :: (World worldType, XMLSerialise (worldType 'Individual)) => worldType 'Storing -> Document Source #
Serialise a world to an XML Document
.
renderEntityAsXML :: XMLSerialise (worldType 'Individual) => worldType 'Individual -> Text Source #
Pretty-print an individual as formatted XML.
renderWorldAsXML :: (World worldType, XMLSerialise (worldType 'Individual)) => worldType 'Storing -> Text Source #
Pretty-print a world as formatted XML.
writeWorldToFile :: (World worldType, XMLSerialise (worldType 'Individual)) => FilePath -> worldType 'Storing -> IO () Source #
Serialise a world to an XML file.
serialiseWorld :: (World worldType, XMLSerialise (worldType 'Individual)) => worldType 'Storing -> Element Source #
Serialise a world as an XML Element
.
deserialiseWorld :: (World worldType, XMLSerialise (worldType 'Individual)) => Element -> Maybe (worldType 'Storing) Source #
Deserialise a world from an XML Element
.
entityPickler :: (XMLSerialise (worldType 'Individual), XMLPickler [Node] (worldType 'Individual)) => PU [Element] (worldType 'Individual) Source #
A pickler for individuals.
worldPickler :: (World worldType, XMLSerialise (worldType 'Individual)) => PU [Node] (worldType 'Storing) Source #
A pickler for worlds.