ohhecs-0.0.2: An Entity-Component-Systems engine core.
Copyright(C) 2020 Sophie Taylor
LicenseAGPL-3.0-or-later
MaintainerSophie Taylor <sophie@spacekitteh.moe>
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageGHC2021

Games.ECS.SaveLoad

Description

Saving and loading support, built upon Serialisation.

Synopsis

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.