ecs: add type-safe module wrapper/helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
5c1414efb5
commit
0bae4b00bd
2 changed files with 95 additions and 36 deletions
|
|
@ -73,17 +73,19 @@ test "example" {
|
|||
defer world.deinit();
|
||||
|
||||
// Initialize module state.
|
||||
world.set(.physics, .pointer, 123);
|
||||
_ = world.get(.physics, .pointer); // == 123
|
||||
var physics = world.mod(.physics);
|
||||
var renderer = world.mod(.renderer);
|
||||
physics.setState(.pointer, 123);
|
||||
_ = physics.getState(.pointer); // == 123
|
||||
|
||||
const player1 = try world.entities.new();
|
||||
const player2 = try world.entities.new();
|
||||
const player3 = try world.entities.new();
|
||||
try world.entities.setComponent(player1, .physics, .id, 1234);
|
||||
try world.entities.setComponent(player1, .renderer, .id, 1234);
|
||||
const player1 = try world.newEntity();
|
||||
const player2 = try world.newEntity();
|
||||
const player3 = try world.newEntity();
|
||||
try physics.set(player1, .id, 1234);
|
||||
try renderer.set(player1, .id, 1234);
|
||||
|
||||
try world.entities.setComponent(player2, .physics, .id, 1234);
|
||||
try world.entities.setComponent(player3, .physics, .id, 1234);
|
||||
try physics.set(player2, .id, 1234);
|
||||
try physics.set(player3, .id, 1234);
|
||||
|
||||
try world.send(.tick);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue