diff options
author | Henauxg <19689618+Henauxg@users.noreply.github.com> | 2022-11-02 19:24:25 +0100 |
---|---|---|
committer | Henauxg <19689618+Henauxg@users.noreply.github.com> | 2022-11-02 19:24:25 +0100 |
commit | af0401a5349a2a970de800c8e893ab6df444488b (patch) | |
tree | d64be0317929221f2931ec15b96d54de27c567d3 /examples/breakout/client.rs | |
parent | 7d52acac66ea50b6a2275e5def3a9d5700904dd6 (diff) |
[example] Continue breakout implementation
Diffstat (limited to 'examples/breakout/client.rs')
-rw-r--r-- | examples/breakout/client.rs | 27 |
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(), } } } |