Commit 6aba995
Allowing using ChildOf directly inside bsn! macro (#23921)
# Objective
If I want to spawn a scene as a child of an entity that already exists,
the current api doesn't offer an straightfoward solution.
The easies I found is by doing something like this:
```rust
const my_entity = ...;
commands.spawn_scene(bsn! {
template(move |_| Ok(ChildOf(my_entity)))
scenes::list_item(text)
});
```
## Solution
- Deriving directly `FromTemplate` for `ChildOf`.
- Adding a new variant to `EntityReference`.
- This allows code like this to work directly
```rust
fn scene(root: Entity) -> impl Scene {
bsn! {
( #Child1 ChildOf(root) ),
}
}
```
## Testing
- Running unit tests locally.
---------
Co-authored-by: Carter Anderson <mcanders1@gmail.com>1 parent cfb897f commit 6aba995
3 files changed
Lines changed: 42 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
90 | 91 | | |
91 | 92 | | |
92 | 93 | | |
93 | | - | |
| 94 | + | |
94 | 95 | | |
95 | 96 | | |
96 | 97 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
403 | 403 | | |
404 | 404 | | |
405 | 405 | | |
| 406 | + | |
| 407 | + | |
406 | 408 | | |
407 | 409 | | |
408 | 410 | | |
| |||
427 | 429 | | |
428 | 430 | | |
429 | 431 | | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
430 | 438 | | |
431 | 439 | | |
432 | 440 | | |
433 | 441 | | |
434 | 442 | | |
435 | | - | |
| 443 | + | |
| 444 | + | |
436 | 445 | | |
437 | 446 | | |
438 | 447 | | |
439 | 448 | | |
440 | 449 | | |
441 | 450 | | |
442 | 451 | | |
| 452 | + | |
443 | 453 | | |
444 | 454 | | |
445 | 455 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
569 | 569 | | |
570 | 570 | | |
571 | 571 | | |
| 572 | + | |
572 | 573 | | |
573 | 574 | | |
574 | 575 | | |
| |||
1154 | 1155 | | |
1155 | 1156 | | |
1156 | 1157 | | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
1157 | 1186 | | |
1158 | 1187 | | |
1159 | 1188 | | |
| |||
0 commit comments