summaryrefslogtreecommitdiff
path: root/src/modules/engines.rs
diff options
context:
space:
mode:
authortom barrett <spalf0@gmail.com>2019-02-14 12:05:57 -0600
committertom barrett <spalf0@gmail.com>2019-02-14 12:05:57 -0600
commit35b43264c09405c987b48de78b6ca19f29dc7849 (patch)
treee57fd46c3147d4ab1227d8688ebb23778dd3d21c /src/modules/engines.rs
parent284cac8f4034f15e7edeba5c8232a770fc082e20 (diff)
simplified receive pattern even more and moved all controls to the module
Diffstat (limited to 'src/modules/engines.rs')
-rw-r--r--src/modules/engines.rs30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/modules/engines.rs b/src/modules/engines.rs
index fa16bf9..ab6335a 100644
--- a/src/modules/engines.rs
+++ b/src/modules/engines.rs
@@ -30,27 +30,15 @@ impl Engines {
}
}
- pub fn recv_acceleration(&mut self) -> Vector {
- let acceleration = self.acceleration.clone();
- self.acceleration = Vector::default();
-
- if self.fuel - acceleration.magnitude() >= 0.0 {
- self.fuel -= acceleration.magnitude();
- acceleration
- } else {
- Vector::default()
- }
- }
-
- pub fn give_client_data(
+ pub fn give_recv(
&mut self,
+ recv: String,
position: Vector,
velocity: Vector,
target: Option<&Mass>,
- data: String,
) {
let mut acceleration = Vector::default();
- match data.as_str() {
+ match recv.as_str() {
"5" => acceleration.x += 0.1,
"0" => acceleration.x -= 0.1,
"8" => acceleration.y += 0.1,
@@ -78,4 +66,16 @@ impl Engines {
}
self.acceleration = acceleration;
}
+
+ pub fn take_acceleration(&mut self) -> Vector {
+ let acceleration = self.acceleration.clone();
+ self.acceleration = Vector::default();
+
+ if self.fuel - acceleration.magnitude() >= 0.0 {
+ self.fuel -= acceleration.magnitude();
+ acceleration
+ } else {
+ Vector::default()
+ }
+ }
}