summaryrefslogtreecommitdiff
path: root/src/server/engines.rs
diff options
context:
space:
mode:
authortom barrett <spalf0@gmail.com>2019-02-19 13:24:25 -0600
committertom barrett <spalf0@gmail.com>2019-02-19 13:24:25 -0600
commita4efade392aa7127c373b0247d39274cb0decd10 (patch)
tree72ff44e69917873ca9933c4a56794a15b99fb90c /src/server/engines.rs
parent892088d723fd3dc0aae969273331c2765f322e6f (diff)
unified all server->client connection and brought logic to modules
Diffstat (limited to 'src/server/engines.rs')
-rw-r--r--src/server/engines.rs47
1 files changed, 0 insertions, 47 deletions
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<String, Mass>) {
- 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);
- }
- }
-}