From a4efade392aa7127c373b0247d39274cb0decd10 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Tue, 19 Feb 2019 13:24:25 -0600 Subject: unified all server->client connection and brought logic to modules --- src/server/engines.rs | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 src/server/engines.rs (limited to 'src/server/engines.rs') diff --git a/src/server/engines.rs b/src/server/engines.rs deleted file mode 100644 index 067acb5..0000000 --- a/src/server/engines.rs +++ /dev/null @@ -1,47 +0,0 @@ -extern crate serde_json; - -use std::collections::HashMap; -use std::io::Write; - -use crate::mass::{Mass, MassType}; -use crate::modules::navigation::NavigationStatus; -use crate::server::connection::ServerConnection; - -#[derive(Serialize, Deserialize, Debug, Clone)] -pub struct EnginesData { - pub has_target: bool, - pub fuel: f64, -} - -impl ServerConnection { - pub fn server_engines(&mut self, masses: &mut HashMap) { - if self.open { - let mut ship = masses.remove(&self.name).unwrap(); - - if let MassType::Ship { - ref mut engines, - ref navigation, - .. - } = ship.mass_type - { - let engines_data = EnginesData { - has_target: navigation.status == NavigationStatus::Targeted, - fuel: engines.fuel, - }; - - let target = match &navigation.target_name { - Some(name) => masses.get(name), - None => None, - }; - - let send = serde_json::to_string(&engines_data).unwrap() + "\n"; - self.open = self.stream.write(send.as_bytes()).is_ok(); - - let recv = self.receive(); - engines.give_recv(recv, ship.position.clone(), ship.velocity.clone(), target); - } - - masses.insert(self.name.clone(), ship); - } - } -} -- cgit v1.2.3