aboutsummaryrefslogtreecommitdiff
path: root/examples/breakout/client.rs
diff options
context:
space:
mode:
authorHenauxg <19689618+Henauxg@users.noreply.github.com>2022-11-02 19:24:25 +0100
committerHenauxg <19689618+Henauxg@users.noreply.github.com>2022-11-02 19:24:25 +0100
commitaf0401a5349a2a970de800c8e893ab6df444488b (patch)
treed64be0317929221f2931ec15b96d54de27c567d3 /examples/breakout/client.rs
parent7d52acac66ea50b6a2275e5def3a9d5700904dd6 (diff)
[example] Continue breakout implementation
Diffstat (limited to 'examples/breakout/client.rs')
-rw-r--r--examples/breakout/client.rs27
1 files changed, 16 insertions, 11 deletions
diff --git a/examples/breakout/client.rs b/examples/breakout/client.rs
index 0c723a3..69b5ffa 100644
--- a/examples/breakout/client.rs
+++ b/examples/breakout/client.rs
@@ -1,12 +1,12 @@
use std::collections::HashMap;
-use bevy::prelude::{warn, EventReader, ResMut};
+use bevy::prelude::{warn, EventReader, ResMut, State};
use bevy_quinnet::{
client::{CertificateVerificationMode, Client, ClientConfigurationData, ConnectionEvent},
ClientId,
};
-use crate::protocol::ServerMessage;
+use crate::{protocol::ServerMessage, GameState};
#[derive(Debug, Clone, Default)]
pub(crate) struct Users {
@@ -14,23 +14,28 @@ pub(crate) struct Users {
names: HashMap<ClientId, String>,
}
-pub(crate) fn handle_server_messages(mut client: ResMut<Client>, mut users: ResMut<Users>) {
+pub(crate) fn handle_server_messages(
+ mut client: ResMut<Client>,
+ mut users: ResMut<Users>,
+ mut game_state: ResMut<State<GameState>>,
+) {
while let Ok(Some(message)) = client.receive_message::<ServerMessage>() {
match message {
- ServerMessage::ClientConnected { client_id: _ } => {}
- ServerMessage::ClientDisconnected { client_id } => {
- if let Some(username) = users.names.remove(&client_id) {
- println!("{} left", username);
- } else {
- warn!("ClientDisconnected for an unknown client_id: {}", client_id)
- }
- }
+ // ServerMessage::ClientConnected { client_id: _ } => {}
+ // ServerMessage::ClientDisconnected { client_id } => {
+ // if let Some(username) = users.names.remove(&client_id) {
+ // println!("{} left", username);
+ // } else {
+ // warn!("ClientDisconnected for an unknown client_id: {}", client_id)
+ // }
+ // }
ServerMessage::InitClient { client_id } => {
users.self_id = client_id;
}
ServerMessage::BrickDestroyed {} => todo!(),
ServerMessage::BallPosition {} => todo!(),
ServerMessage::PaddlePosition {} => todo!(),
+ ServerMessage::GameStart {} => game_state.set(GameState::Running).unwrap(),
}
}
}