From 35b43264c09405c987b48de78b6ca19f29dc7849 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Thu, 14 Feb 2019 12:05:57 -0600 Subject: simplified receive pattern even more and moved all controls to the module --- src/server/mining.rs | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) (limited to 'src/server/mining.rs') diff --git a/src/server/mining.rs b/src/server/mining.rs index b9b0ca0..f5d8dd8 100644 --- a/src/server/mining.rs +++ b/src/server/mining.rs @@ -8,7 +8,7 @@ use crate::mass::{Mass, MassType}; use crate::math::Vector; use crate::modules::mining::{Mining, MiningStatus}; use crate::modules::navigation::Navigation; -use crate::server::connection::{receive, ServerConnection}; +use crate::server::connection::ServerConnection; #[derive(Serialize, Deserialize, Debug, Clone)] pub struct MiningData { @@ -30,27 +30,15 @@ impl ServerConnection { .. } = ship.mass_type { - let mining = mining.as_mut().unwrap(); - let navigation = navigation.as_ref().unwrap(); let mining_data = get_mining_data(ship.position.clone(), mining, navigation, masses); let send = serde_json::to_string(&mining_data).unwrap() + "\n"; self.open = self.stream.write(send.as_bytes()).is_ok(); - match receive(&mut self.buff_r) { - Some(recv) => { - if let "F" = recv.as_str() { - if mining_data.is_within_range { - mining.toggle(); - } - } - } - None => self.open = false, - } + let recv = self.receive(); + mining.give_recv(recv, mining_data); - if !mining_data.is_within_range { - mining.off(); - } else if mining.status == MiningStatus::Mined { + if mining.status == MiningStatus::Mined { if let Some(name) = navigation.target_name.clone() { let target = masses.get_mut(&name).unwrap(); if let MassType::Astroid { -- cgit v1.2.3