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/refinery.rs | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'src/server/refinery.rs') diff --git a/src/server/refinery.rs b/src/server/refinery.rs index 1a9a6ab..1b6c944 100644 --- a/src/server/refinery.rs +++ b/src/server/refinery.rs @@ -6,7 +6,7 @@ use std::io::Write; use crate::item::{Item, ItemType}; use crate::mass::{Mass, MassType}; use crate::modules::refinery::RefineryStatus; -use crate::server::connection::{receive, ServerConnection}; +use crate::server::connection::ServerConnection; #[derive(Serialize, Deserialize, Debug, Clone)] pub struct RefineryData { @@ -24,8 +24,6 @@ impl ServerConnection { .. } = ship.mass_type { - let refinery = refinery.as_mut().unwrap(); - let refinery_data = RefineryData { has_crude_minerals: storage .items @@ -37,20 +35,8 @@ impl ServerConnection { let send = serde_json::to_string(&refinery_data).unwrap() + "\n"; self.open = self.stream.write(send.as_bytes()).is_ok(); - match receive(&mut self.buff_r) { - Some(recv) => { - if let "R" = recv.as_str() { - if refinery_data.has_crude_minerals { - refinery.toggle(); - } - } - } - None => self.open = false, - } - - if !refinery_data.has_crude_minerals { - refinery.off(); - } + let recv = self.receive(); + refinery.give_recv(recv, refinery_data); if refinery.status == RefineryStatus::Refined { storage.take_item(ItemType::CrudeMinerals); -- cgit v1.2.3