Added hitboxes and something for the bugs to run into
[bug-basher.git] / src / entities / bug.rs
index 424e195..482e5c4 100644 (file)
@@ -1,5 +1,7 @@
 use geometry::*;
+use hitbox::*;
 
+#[derive(Debug, Clone)]
 pub struct Bug {
     pub pos: Vec2d,
     pub rotation: f64,
@@ -29,14 +31,13 @@ impl Bug {
         };
         self.pos = self.pos + delta_pos;
     }
+}
 
-    pub fn click(&mut self, point: Vec2d) {
-        if self.touches(point) {
-            self.alive = false;
-        }
+impl CircleHitbox for Bug {
+    fn pos(&self) -> Vec2d {
+        self.pos
     }
-
-    fn touches(&self, point: Vec2d) -> bool {
-        self.pos.distance(point) <= 75. // Some better hit box modelling might be nice?
+    fn radius(&self) -> f64 {
+        75.
     }
 }