diff options
author | tom barrett <spalf0@gmail.com> | 2019-03-21 09:50:47 -0500 |
---|---|---|
committer | tom barrett <spalf0@gmail.com> | 2019-03-21 09:50:47 -0500 |
commit | 95902608506ae8ccd1203cbbf93efbe876384a1f (patch) | |
tree | 5ce5d578e11b8a5632fad7b38473d49a4d20d7fb /src/mass.rs | |
parent | 6fb0b0d918963a22aeb4050139e8d0000c74a9ff (diff) |
added acquiring items of tractorbeam and tests, moved control system over to math and gave it constants
Diffstat (limited to 'src/mass.rs')
-rw-r--r-- | src/mass.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mass.rs b/src/mass.rs index a307295..820173f 100644 --- a/src/mass.rs +++ b/src/mass.rs @@ -179,8 +179,15 @@ impl Mass { if let Some(target_name) = &navigation.target_name { let mut target = masses.remove(target_name).unwrap(); mining.process(self.position.clone(), masses, &mut target, storage); - tractorbeam.process(self.position.clone(), &mut target); - masses.insert(target_name.to_string(), target); + let acquired = tractorbeam.process(self.position.clone(), &mut target); + + if acquired { + if let MassType::Item { item } = target.mass_type { + storage.give_item(item); + } + } else { + masses.insert(target_name.to_string(), target); + } } let target = match &navigation.target_name { |