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/tractorbeam.rs | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) (limited to 'src/server/tractorbeam.rs') diff --git a/src/server/tractorbeam.rs b/src/server/tractorbeam.rs index b7c11af..9591c0b 100644 --- a/src/server/tractorbeam.rs +++ b/src/server/tractorbeam.rs @@ -6,7 +6,7 @@ use std::io::Write; use crate::mass::{Mass, MassType}; use crate::modules::navigation::NavigationStatus; use crate::modules::tractorbeam::TractorbeamStatus; -use crate::server::connection::{receive, ServerConnection}; +use crate::server::connection::ServerConnection; #[derive(Serialize, Deserialize, Debug, Clone)] pub struct TractorbeamData { @@ -24,9 +24,6 @@ impl ServerConnection { .. } = ship.mass_type { - let tractorbeam = tractorbeam.as_mut().unwrap(); - let navigation = navigation.as_ref().unwrap(); - if self.open { let tractorbeam_data = TractorbeamData { has_target: navigation.status == NavigationStatus::Targeted, @@ -36,15 +33,8 @@ impl ServerConnection { let send = serde_json::to_string(&tractorbeam_data).unwrap() + "\n"; self.open = self.stream.write(send.as_bytes()).is_ok(); - match receive(&mut self.buff_r) { - Some(recv) => match recv.as_str() { - "o" => tractorbeam.toggle_pull(), - "p" => tractorbeam.toggle_push(), - "t" => tractorbeam.toggle_bring(5.0), - _ => (), - }, - None => self.open = false, - } + let recv = self.receive(); + tractorbeam.give_recv(recv); } if let Some(name) = navigation.target_name.clone() { -- cgit v1.2.3