GroupEntity
The base of a game entity whose body is a group of nodes: a GroupNode subclass, so the entity is its sub-tree — the typed children in draw order — plus whatever facts the game class adds.
The group analog of PolygonEntity: the entity is a value that moves by rebinding (wall *= motion replaces the variable with the moved entity), and every group-preserving operation returns through the typed copy hook, which the compiler forces each entity class to implement — rebuilding its own class around the replacement children and carrying its facts across. children covariantly narrows GroupNode.children, so the group's entities read back typed, cast-free. Facts a subclass adds are plain mutable properties; the inherited identity stays structural and fact-exclusive.
Type Parameters
The children's type.
Constructors
Properties
The group's entities in draw order — the typed narrowing of GroupNode.children.
Functions
Returns this entity rebuilt around children — the hook every group-preserving operation returns through, re-abstracted with typed children so each entity class must implement it.