Commit Graph

2 Commits

Author SHA1 Message Date
hypercross b6e64d2871 refactor: add struct constraint to Relationship
Add `where TSelf : struct where TTarget : struct` constraints to
the `Relationship` struct to ensure type safety and consistency with
the ECS architecture. Also remove unused `IterateThree` method in
`QueryExecutor`.
2026-07-18 22:05:29 +08:00
hypercross 48f3319615 feat: add relationship components and reverse indexing
Introduces a relationship system to allow entities to point to other
entities. Includes a `Relationship<TSelf, TTarget>` component and a
`RelationshipIndex` to enable efficient reverse lookups (finding all
sources pointing to a specific target).

The `World.DestroyEntity` method now performs cascading removals:
- Relationships where the entity is the source are removed.
- Relationships where the entity is the target are removed from their
  respective source entities.

Also adds MessagePack support to `Entity` and `Relationship`.
2026-07-18 19:42:59 +08:00