From 573ba69d810914c153a578747414b3d631e61bbc Mon Sep 17 00:00:00 2001 From: tom barrett Date: Thu, 12 Apr 2018 04:33:23 -0500 Subject: completely restructured code and fixed navigation bug --- src/connection.rs | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'src/connection.rs') diff --git a/src/connection.rs b/src/connection.rs index 6ec2d16..91da04a 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -1,20 +1,20 @@ -use std::io::prelude::*; +extern crate serde_json; + use std::io::BufReader; +use std::io::prelude::*; use std::net::TcpStream; use std::collections::HashMap; -extern crate serde_json; - use ship::Ship; use mass::Mass; -use module::Module; +use module::ModuleType; pub struct Connection { - pub name : String, - pub module : Module, - pub stream : TcpStream, - pub buff_r : BufReader, - pub open : bool, + pub name : String, + pub module_type : ModuleType, + pub stream : TcpStream, + pub buff_r : BufReader, + pub open : bool, } impl Connection { @@ -25,7 +25,7 @@ impl Connection { buff_r.read_line(&mut recv).unwrap(); let name = &recv[..recv.find(":").unwrap()]; - let mass = masses.entry(name.to_string()).or_insert(Box::new(Ship::new(name, (0.0, 0.0, 0.0)))); + let mass = masses.entry(name.to_string()).or_insert(Box::new(Ship::new((0.0, 0.0, 0.0)))); let ship = mass.downcast_ref::().unwrap(); let modules = ship.recv_modules(); @@ -33,25 +33,25 @@ impl Connection { let mut recv = String::new(); buff_r.read_line(&mut recv).unwrap(); - let module : Module = serde_json::from_str(&recv.replace("\n","")).unwrap(); + let module_type : ModuleType = serde_json::from_str(&recv.replace("\n","")).unwrap(); stream.set_nonblocking(true).unwrap(); Connection { - name : String::from(name), - module : module, - stream : stream, - buff_r : buff_r, - open : true, + name : String::from(name), + module_type : module_type, + stream : stream, + buff_r : buff_r, + open : true, } } pub fn process(&mut self, mut masses : &mut HashMap>) { - self.open = match self.module { - Module::Engines => self.server_engines(&mut masses), - Module::Dashboard => self.server_dashboard(&mut masses), - Module::Navigation => self.server_navigation(&mut masses), - Module::Mining => self.server_mining(&mut masses), + self.open = match self.module_type { + ModuleType::Engines => self.server_engines(&mut masses), + ModuleType::Dashboard => self.server_dashboard(&mut masses), + ModuleType::Navigation => self.server_navigation(&mut masses), + ModuleType::Mining => self.server_mining(&mut masses), }; } } -- cgit v1.2.3