Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entity Serialization System #3

Open
anticitizn opened this issue Jan 17, 2023 · 4 comments
Open

Entity Serialization System #3

anticitizn opened this issue Jan 17, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@anticitizn
Copy link
Owner

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.

@anticitizn anticitizn converted this from a draft issue Jan 17, 2023
@anticitizn
Copy link
Owner Author

Cereal and other major serialization libraries appear to be very unconvenient for this. Will use pugixml and manually construct a user-friendly XML file instead

@anticitizn
Copy link
Owner Author

Small prototype added to the windows branch

@anticitizn anticitizn self-assigned this Jan 18, 2023
@anticitizn anticitizn added the enhancement New feature or request label Jan 18, 2023
@anticitizn anticitizn moved this from In Progress to Done in Solnce Development Jan 20, 2023
@anticitizn anticitizn moved this from Done to In Progress in Solnce Development Jan 20, 2023
@anticitizn
Copy link
Owner Author

Working system in master

@github-project-automation github-project-automation bot moved this from In Progress to Done in Solnce Development Jan 20, 2023
@anticitizn
Copy link
Owner Author

The current macro implementation is crap, it's a bad idea to couple variable names to the serialization output

@anticitizn anticitizn reopened this May 3, 2023
@anticitizn anticitizn moved this from Done to In Progress in Solnce Development May 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In Progress
Development

No branches or pull requests

1 participant