amethyst / specs

Specs - Parallel ECS
https://amethyst.github.io/specs/
Apache License 2.0
2.49k stars 219 forks source link

Consider inlcuding the entity generation in ComponentEvent #720

Open Imberflur opened 3 years ago

Imberflur commented 3 years ago

Description

Including the entity generation instead of just the index within the component event used by FlaggedStorage.

Motivation

When an entity is deleted removal events are generated for its components in FlaggedStorages. If another entity is created at the same index there is no way to tell if the removed components are from the old entity or the new one. When using this for network syncing the means we end up sending useless component removed events (since we can't be sure they don't apply to the new entity).

Drawbacks

This would be a breaking change and would increase the size of ComponentEvent

Unresolved questions


I would be happy to implement this if approved.

Dollab commented 3 years ago

This would be very useful.