Skip to content

Commit 2ce4898

Browse files
Morb0Shatur
andauthored
Apply suggestions from code review
Co-authored-by: Hennadii Chernyshchyk <genaloner@gmail.com>
1 parent 644546d commit 2ce4898

3 files changed

Lines changed: 55 additions & 48 deletions

File tree

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -375,8 +375,8 @@ fn on_attack(on: On<Broadcast<Attack>>) {
375375
struct Attack;
376376
```
377377
378-
For events with entities inside use [`BroadcastEventAppExt::add_mapped_broadcast_event`].
379-
Serialization can also be customized with [`BroadcastEventAppExt::add_broadcast_event_with`].
378+
Similar to regular client messages, we also provide [`BroadcastEventAppExt::add_mapped_broadcast_event`].
379+
and [`BroadcastEventAppExt::add_broadcast_event_with`].
380380
381381
### From server to client
382382

tests/broadcast_event.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,19 @@ fn regular() {
2626

2727
client_app.update();
2828

29-
let local_events = &client_app.world().resource::<EventReader<Test>>().events;
30-
assert_eq!(local_events.len(), 1);
31-
assert!(matches!(local_events[0].broadcaster, Broadcaster::Local));
29+
let local_reader = client_app.world().resource::<EventReader<Test>>();
30+
assert_eq!(local_reader.events.len(), 1);
31+
assert_eq!(local_reader.events[0].broadcaster, Broadcaster::Local);
3232

3333
server_app.exchange_with_client(&mut client_app);
3434
server_app.update();
3535

36-
let remote_events = &server_app.world().resource::<EventReader<Test>>().events;
37-
assert_eq!(remote_events.len(), 1);
38-
assert!(matches!(
39-
remote_events[0].broadcaster,
40-
Broadcaster::Remote(ClientId::Client(entity)) if entity == client_entity
41-
));
36+
let remote_reader = server_app.world().resource::<EventReader<Test>>();
37+
assert_eq!(remote_reader.events.len(), 1);
38+
assert_eq!(
39+
remote_reader.events[0].broadcaster,
40+
Broadcaster::Remote(ClientId::Client(client_entity))
41+
);
4242
}
4343

4444
#[test]
@@ -138,7 +138,7 @@ fn local_sending() {
138138

139139
let reader = app.world().resource::<EventReader<Test>>();
140140
assert_eq!(reader.events.len(), 1);
141-
assert!(matches!(reader.events[0].broadcaster, Broadcaster::Local));
141+
assert_eq!(reader.events[0].broadcaster, Broadcaster::Local);
142142
}
143143

144144
#[test]

tests/broadcast_message.rs

Lines changed: 43 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,27 @@ fn regular() {
2424

2525
client_app.update();
2626

27-
let local = client_app.world().resource::<Messages<Broadcast<Test>>>();
28-
let mut cursor = local.get_cursor();
29-
let broadcasts: Vec<_> = cursor.read(local).collect();
30-
assert_eq!(broadcasts.len(), 1);
31-
assert!(matches!(broadcasts[0].broadcaster, Broadcaster::Local));
27+
let local_broadcasts: Vec<_> = client_app
28+
.world_mut()
29+
.resource_mut::<Messages<Broadcast<Test>>>()
30+
.drain()
31+
.collect();
32+
assert_eq!(local_broadcasts.len(), 1);
33+
assert_eq!(local_broadcasts[0].broadcaster, Broadcaster::Local);
3234

3335
server_app.exchange_with_client(&mut client_app);
3436
server_app.update();
3537

36-
let received = server_app.world().resource::<Messages<Broadcast<Test>>>();
37-
let mut cursor = received.get_cursor();
38-
let broadcasts: Vec<_> = cursor.read(received).collect();
39-
assert_eq!(broadcasts.len(), 1);
40-
assert!(matches!(
41-
broadcasts[0].broadcaster,
42-
Broadcaster::Remote(ClientId::Client(entity)) if entity == client_entity
43-
));
38+
let remote_broadcasts: Vec<_> = server_app
39+
.world_mut()
40+
.resource_mut::<Messages<Broadcast<Test>>>()
41+
.drain()
42+
.collect();
43+
assert_eq!(remote_broadcasts.len(), 1);
44+
assert_eq!(
45+
remote_broadcasts[0].broadcaster,
46+
Broadcaster::Remote(ClientId::Client(client_entity))
47+
);
4448
}
4549

4650
#[test]
@@ -78,22 +82,24 @@ fn mapped() {
7882

7983
client_app.update();
8084

81-
let local = client_app
82-
.world()
83-
.resource::<Messages<Broadcast<WithEntity>>>();
84-
let mut cursor = local.get_cursor();
85-
let local_entities: Vec<_> = cursor.read(local).map(|m| m.0).collect();
85+
let local_entities: Vec<_> = client_app
86+
.world_mut()
87+
.resource_mut::<Messages<Broadcast<WithEntity>>>()
88+
.drain()
89+
.map(|m| m.0)
90+
.collect();
8691
assert_eq!(local_entities, [client_entity]);
8792

8893
server_app.exchange_with_client(&mut client_app);
8994
server_app.update();
9095

91-
let received = server_app
92-
.world()
93-
.resource::<Messages<Broadcast<WithEntity>>>();
94-
let mut cursor = received.get_cursor();
95-
let received_entities: Vec<_> = cursor.read(received).map(|m| m.0).collect();
96-
assert_eq!(received_entities, [server_entity]);
96+
let mapped_entities: Vec<_> = server_app
97+
.world_mut()
98+
.resource_mut::<Messages<Broadcast<WithEntity>>>()
99+
.drain()
100+
.map(|m| m.0)
101+
.collect();
102+
assert_eq!(mapped_entities, [server_entity]);
97103
}
98104

99105
#[test]
@@ -131,14 +137,13 @@ fn without_plugins() {
131137
server_app.exchange_with_client(&mut client_app);
132138
server_app.update();
133139

134-
let received = server_app.world().resource::<Messages<Broadcast<Test>>>();
135-
let mut cursor = received.get_cursor();
136-
let broadcasts: Vec<_> = cursor.read(received).collect();
140+
let broadcasts: Vec<_> = server_app
141+
.world_mut()
142+
.resource_mut::<Messages<Broadcast<Test>>>()
143+
.drain()
144+
.collect();
137145
assert_eq!(broadcasts.len(), 1);
138-
assert!(matches!(
139-
broadcasts[0].broadcaster,
140-
Broadcaster::Remote(ClientId::Client(_))
141-
));
146+
assert!(broadcasts[0].broadcaster.is_remote());
142147
}
143148

144149
#[test]
@@ -155,11 +160,13 @@ fn local_sending() {
155160
let messages = app.world().resource::<Messages<Test>>();
156161
assert!(messages.is_empty());
157162

158-
let broadcasts = app.world().resource::<Messages<Broadcast<Test>>>();
159-
let mut cursor = broadcasts.get_cursor();
160-
let collected: Vec<_> = cursor.read(broadcasts).collect();
161-
assert_eq!(collected.len(), 1);
162-
assert!(matches!(collected[0].broadcaster, Broadcaster::Local));
163+
let broadcasts: Vec<_> = app
164+
.world_mut()
165+
.resource_mut::<Messages<Broadcast<Test>>>()
166+
.drain()
167+
.collect();
168+
assert_eq!(broadcasts.len(), 1);
169+
assert_eq!(broadcasts[0].broadcaster, Broadcaster::Local);
163170
}
164171

165172
#[test]

0 commit comments

Comments
 (0)