Ability to save and load arbitrary Entities and their Components
- Implementation as a Coordinator method
- Implementation as a separate system
Mark the difference between an Entity Saving System and a more general Save System. The former's purpose is to serialize the data for one entity, while the latter's is to save overall game state.
Entity exporting might need to be tightly coupled to the ECS system since that's where the data is stored.
Use the Coordinator to fetch all Components for an Entity and call each one's export function. All of the components then get saved into a single XML container.
Ability to save and load arbitrary Entities and their Components
Mark the difference between an Entity Saving System and a more general Save System. The former's purpose is to serialize the data for one entity, while the latter's is to save overall game state.
Entity exporting might need to be tightly coupled to the ECS system since that's where the data is stored.
Use the Coordinator to fetch all Components for an Entity and call each one's export function. All of the components then get saved into a single XML container.