summaryrefslogtreecommitdiff
path: root/src/mass.rs
diff options
context:
space:
mode:
authortom barrett <spalf0@gmail.com>2019-03-21 09:50:47 -0500
committertom barrett <spalf0@gmail.com>2019-03-21 09:50:47 -0500
commit95902608506ae8ccd1203cbbf93efbe876384a1f (patch)
tree5ce5d578e11b8a5632fad7b38473d49a4d20d7fb /src/mass.rs
parent6fb0b0d918963a22aeb4050139e8d0000c74a9ff (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.rs11
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 {