diff options
Diffstat (limited to 'src/server/refinery.rs')
-rw-r--r-- | src/server/refinery.rs | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/src/server/refinery.rs b/src/server/refinery.rs index eb82bb2..d4eb26b 100644 --- a/src/server/refinery.rs +++ b/src/server/refinery.rs @@ -1,38 +1,39 @@ extern crate serde_json; -use std::io::Write; -use std::io::BufRead; use std::collections::HashMap; +use std::io::BufRead; +use std::io::Write; -use item::Item; -use mass::{Mass, MassType}; -use server::connection::ServerConnection; -use modules::refinery::RefineryStatus; +use crate::item::Item; +use crate::mass::{Mass, MassType}; +use crate::modules::refinery::RefineryStatus; +use crate::server::connection::ServerConnection; #[derive(Serialize, Deserialize, Debug, Clone)] pub struct RefineryData { - pub has_minerals : bool, - pub status : RefineryStatus, + pub has_minerals: bool, + pub status: RefineryStatus, } impl ServerConnection { - pub fn server_refinery(&mut self, masses : &mut HashMap<String, Mass>) { + pub fn server_refinery(&mut self, masses: &mut HashMap<String, Mass>) { let mut ship = masses.remove(&self.name).unwrap(); let ship_clone = ship.clone(); let mut refine = false; - if let MassType::Ship{ref mut refinery, ..} = ship.mass_type { - let mut refinery = refinery.as_mut().unwrap(); + if let MassType::Ship { + ref mut refinery, .. + } = ship.mass_type + { + let refinery = refinery.as_mut().unwrap(); let refinery_data = RefineryData { - has_minerals : ship_clone.has_minerals(), - status : refinery.status.clone(), + has_minerals: ship_clone.has_minerals(), + status: refinery.status.clone(), }; - if self.open { - if self.txrx_refinery(&refinery_data) { - refinery.toggle(); - } + if self.open && self.txrx_refinery(&refinery_data) { + refinery.toggle(); } if !refinery_data.has_minerals { @@ -44,7 +45,7 @@ impl ServerConnection { refine = true; } } - + if refine { ship.take("Mineral"); ship.give(Item::new("Refined Mineral", 1)); @@ -53,7 +54,7 @@ impl ServerConnection { masses.insert(self.name.clone(), ship); } - fn txrx_refinery(&mut self, refinery_data : &RefineryData) -> bool { + fn txrx_refinery(&mut self, refinery_data: &RefineryData) -> bool { let send = serde_json::to_string(refinery_data).unwrap() + "\n"; if let Err(_err) = self.stream.write(send.as_bytes()) { self.open = false; @@ -64,18 +65,17 @@ impl ServerConnection { match recv.as_bytes() { b"R\n" => { if refinery_data.has_minerals { - return true + return true; } - }, + } _ => { if result == 0 { self.open = false; } - }, + } } } false } } - |