-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathdelete_components.rs
58 lines (46 loc) · 1.15 KB
/
delete_components.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
use super::{Pos, Vel};
use shipyard::{AllStoragesViewMut, Delete, EntitiesViewMut, ViewMut, World};
#[test]
#[rustfmt::skip]
fn world() {
// ANCHOR: world
let mut world = World::new();
let id = world.add_entity((Pos::new(), Vel::new()));
world.delete_component::<Vel>(id);
world.delete_component::<(Pos, Vel)>(id);
// ANCHOR_END: world
}
#[test]
#[rustfmt::skip]
fn world_all() {
// ANCHOR: world_all
let mut world = World::new();
let id = world.add_entity((Pos::new(), Vel::new()));
world.strip(id);
// ANCHOR_END: world_all
}
#[test]
#[rustfmt::skip]
fn view() {
// ANCHOR: view
let world = World::new();
world.run(
|mut entities: EntitiesViewMut, mut vm_pos: ViewMut<Pos>, mut vm_vel: ViewMut<Vel>| {
let id = entities.add_entity((&mut vm_pos, &mut vm_vel), (Pos::new(), Vel::new()));
vm_pos.delete(id);
(&mut vm_pos, &mut vm_vel).delete(id);
},
);
// ANCHOR_END: view
}
#[test]
#[rustfmt::skip]
fn view_all() {
// ANCHOR: view_all
let world = World::new();
world.run(|mut all_storages: AllStoragesViewMut| {
let id = all_storages.add_entity((Pos::new(), Vel::new()));
all_storages.strip(id);
});
// ANCHOR_END: view_all
}