summaryrefslogtreecommitdiff
path: root/src/server/navigation.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/navigation.rs')
-rw-r--r--src/server/navigation.rs38
1 files changed, 0 insertions, 38 deletions
diff --git a/src/server/navigation.rs b/src/server/navigation.rs
deleted file mode 100644
index 67d6758..0000000
--- a/src/server/navigation.rs
+++ /dev/null
@@ -1,38 +0,0 @@
-extern crate serde_json;
-
-use std::collections::HashMap;
-use std::io::Write;
-
-use crate::mass::{Mass, MassType};
-use crate::server::connection::ServerConnection;
-
-impl ServerConnection {
- pub fn server_navigation(&mut self, masses: &mut HashMap<String, Mass>) {
- let mut ship = masses.remove(&self.name).unwrap();
- let ship_clone = ship.clone();
-
- if let MassType::Ship {
- ref mut navigation, ..
- } = ship.mass_type
- {
- navigation.verify_target(ship.position.clone(), &masses);
- let mut within_range: HashMap<&String, &Mass> = masses
- .iter()
- .filter(|&(_, mass)| {
- ship_clone.position.distance_from(mass.position.clone()) < navigation.range
- })
- .collect();
- within_range.insert(&self.name, &ship_clone);
-
- if self.open {
- let send = serde_json::to_string(&within_range).unwrap() + "\n";
- self.open = self.stream.write(send.as_bytes()).is_ok();
-
- let recv = self.receive();
- navigation.give_recv(recv);
- }
- }
-
- masses.insert(self.name.clone(), ship);
- }
-}