diff options
author | tom barrett <spalf0@gmail.com> | 2018-04-11 09:00:27 -0500 |
---|---|---|
committer | tom barrett <spalf0@gmail.com> | 2018-04-11 09:00:27 -0500 |
commit | ab797e7f30e5e8913faf73516346129b9a620550 (patch) | |
tree | 17ac1c1ee27d2d82c32772c24a5a246b61a73756 /src/mining.rs | |
parent | f3955f07478ace406422ebfe71abab359fe4c229 (diff) |
-moved over to hashmap
Diffstat (limited to 'src/mining.rs')
-rw-r--r-- | src/mining.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mining.rs b/src/mining.rs index ecc83c5..df425e0 100644 --- a/src/mining.rs +++ b/src/mining.rs @@ -1,4 +1,5 @@ use std::io::{BufReader, BufRead}; +use std::collections::HashMap; use std::net::TcpStream; use std::io::{stdout, Read, Write}; use termion::raw::IntoRawMode; @@ -59,12 +60,13 @@ pub fn client_mining(mut stream : TcpStream, mut buff_r : BufReader<TcpStream>) } impl Connection { - pub fn server_mining(&mut self, masses : &mut Vec<Box<Mass>>) -> bool { - let m = masses.to_vec(); - let mass = masses.into_iter().find(|ship| ship.name() == &self.name).unwrap(); + pub fn server_mining(&mut self, masses : &mut HashMap<String, Box<Mass>>) -> bool { + let masses_clone = masses.clone(); + let mass = masses.get_mut(&self.name).unwrap(); let ship = mass.downcast_mut::<Ship>().unwrap(); + let target = match ship.recv_target() { - Some(name) => m.iter().find(|target| target.name() == &name), + Some(name) => masses_clone.get(&name), None => None, }; |