feat(ecs): ludic.vehicles on a Table<Vehicle>
The vehicles are rows of a ludic.base Table with kind and owner as columns, every player's own by an owner index and a nid map: vehicle_of walks only that player's rows, vehicle_by_nid is a map lookup, and a player who leaves has their rows removed instead of the whole list rebuilt. ve_add takes the owner, so the owner is filed once and never assigned around the table. Positions stay on the record: a boat moves every frame and there are at most two a player. vehicles_test holds the table (9 tests); the game builds against it and lab/unit passes (88 tests). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
52270ab5d1
commit
045bf22e10
8 changed files with 87 additions and 18 deletions
|
|
@ -45,7 +45,7 @@ export state VehiclesState {
|
|||
ve_ids: int = 0
|
||||
ve_sx: float = 0.0
|
||||
ve_sz: float = 0.0
|
||||
ve_list: []Vehicle = new []Vehicle
|
||||
ve: VehicleTable = ve__new()
|
||||
ve_cur: Vehicle = null
|
||||
ve_dock_x: float = 0.0
|
||||
ve_dock_z: float = 0.0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue