diff --git a/src/game/objects.rs b/src/game/objects.rs index 95de98f..341b7b1 100644 --- a/src/game/objects.rs +++ b/src/game/objects.rs @@ -4,25 +4,25 @@ use bevy::prelude::*; use super::state::AppState; /// Basic implementation of a physics object -#[derive(Component, Default)] +#[derive(Component, Debug, Default)] #[require(Collider, Mesh2d, MeshMaterial2d, Restitution = Restitution::new(1.0), RigidBody, TransformInterpolation, Transform, StateScoped = StateScoped(AppState::InGame))] struct GameObject; /// Radius of a ball -#[derive(Component, Default)] +#[derive(Component, Debug, Default)] pub struct Radius(pub f32); /// A basic ball with which to interact -#[derive(Component, Default)] +#[derive(Component, Debug, Default)] #[require(GameObject, RigidBody = RigidBody::Dynamic, Radius)] pub struct Ball; /// The controllable ball -#[derive(Component, Default)] +#[derive(Component, Debug, Default)] #[require(Ball)] pub struct Player; /// The static objects bounding the playable area -#[derive(Component, Default)] +#[derive(Component, Debug, Default)] #[require(GameObject, RigidBody = RigidBody::Static)] pub struct Wall; diff --git a/src/game/setup.rs b/src/game/setup.rs index 252e0d2..0a2f15b 100644 --- a/src/game/setup.rs +++ b/src/game/setup.rs @@ -30,7 +30,7 @@ pub fn check_for_seed(seed: Option>, mut next_state: ResMut, SocketAddr); pub type SendQueue = Sender; pub type ReceiveQueue = Receiver; -#[derive(Resource)] +#[derive(Resource, Debug)] pub struct NetworkSend(SendQueue); impl NetworkSend { @@ -25,7 +25,7 @@ impl NetworkSend { } } -#[derive(Resource, Clone)] +#[derive(Resource, Clone, Debug)] pub struct NetworkReceive(ReceiveQueue); impl NetworkReceive { diff --git a/src/net/socket.rs b/src/net/socket.rs index a4deb2b..48ce4ca 100644 --- a/src/net/socket.rs +++ b/src/net/socket.rs @@ -1,18 +1,19 @@ use std::{ io::Result, net::{Ipv6Addr, UdpSocket}, + time::Duration, }; use crossbeam_channel::unbounded; use super::{ + queues::{ReceiveQueue, SendQueue}, thread::{start_receive_thread, start_send_thread}, - types::{ReceiveQueue, SendQueue}, }; fn configure_socket(socket: &UdpSocket) -> Result<()> { socket.set_read_timeout(None)?; - socket.set_write_timeout(None)?; + socket.set_write_timeout(Some(Duration::from_secs(1)))?; Ok(()) } diff --git a/src/net/thread.rs b/src/net/thread.rs index 511746c..b70120e 100644 --- a/src/net/thread.rs +++ b/src/net/thread.rs @@ -5,7 +5,7 @@ use std::{ use bevy::prelude::*; -use super::types::{ReceiveQueue, SendQueue}; +use super::queues::{ReceiveQueue, SendQueue}; fn network_send_loop(messages: ReceiveQueue, socket: UdpSocket) -> Result { loop {