From f3955f07478ace406422ebfe71abab359fe4c229 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Wed, 11 Apr 2018 03:52:48 -0500 Subject: -added mining module (doesnt do anything yet), -added storage and items (also dont do anything) -serialized bools in engines --- src/engines.rs | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'src/engines.rs') diff --git a/src/engines.rs b/src/engines.rs index 3966c1b..cba189e 100644 --- a/src/engines.rs +++ b/src/engines.rs @@ -7,9 +7,11 @@ use std::time::Duration; use std::io::{BufRead, BufReader}; extern crate termion; +extern crate serde_json; use ship::Ship; use mass::Mass; +use targeting::TargetingStatus; use connection::Connection; pub fn client_engines(mut stream : TcpStream, mut buff_r : BufReader) { @@ -20,11 +22,7 @@ pub fn client_engines(mut stream : TcpStream, mut buff_r : BufReader) loop { let mut recv = String::new(); buff_r.read_line(&mut recv).unwrap(); - - let has_target = match recv.as_bytes() { - b"true\n" => true, - _ => false - }; + let has_target = serde_json::from_str(&recv.replace("\n", "")).unwrap(); write!(stdout, "{}{}use numpad to freely move\n", termion::clear::All, termion::cursor::Goto(1, 1)).unwrap(); write!(stdout, "{}+ : speedup", termion::cursor::Goto(1, 2)).unwrap(); @@ -61,11 +59,9 @@ impl Connection { let mass = masses.into_iter().find(|ship| ship.name() == &self.name).unwrap(); let ship = mass.downcast_mut::().unwrap(); - let mut send = String::new(); - match ship.recv_target().is_some() { - true => send.push_str("true\n"), - false => send.push_str("false\n"), - } + let targeted = ship.recv_targeting_status() == TargetingStatus::Targeted; + let send = serde_json::to_string(&targeted).unwrap() + "\n"; + match self.stream.write(send.as_bytes()) { Ok(_result) => (), Err(_error) => return false, @@ -100,7 +96,7 @@ impl Connection { match ship.recv_target() { Some(name) => { let target = m.into_iter().find(|target| target.name() == &name).unwrap(); - let d_p = target.recv_velocity(); + let d_p = target.position(); let m_p = ship.position(); acceleration = ((d_p.0 - m_p.0) * 0.01, (d_p.1 - m_p.1) * 0.01, -- cgit v1.2.3