Selectable seats.
[koperkapel.git] / koperkapel / scenes / roach_management.py
index 21fc37c0432e3f77a19f5830c4a2cee48f1f7e0c..7dc9c5eaff4952fb37e2e33f9cb57b415189ad6c 100644 (file)
@@ -64,6 +64,7 @@ class RoachesScene(Scene):
             seat_actor.pos = (
                 seat.vehicle_pos[0] + VEHICLE_MID_X,
                 seat.vehicle_pos[1] + VEHICLE_MID_Y)
+        self._seat_layer[self._seat_pos].selected = True
 
     def _init_roaches(self, world):
         self._roach_actors = {}
@@ -157,6 +158,11 @@ class RoachesScene(Scene):
     def _inventory_right(self):
         self._inventory_pos += 1
 
+    def _select_seat(self, seat_pos):
+        self._seat_layer[self._seat_pos].selected = False
+        self._seat_pos = seat_pos
+        self._seat_layer[self._seat_pos].selected = True
+
     def _eject_roach(self):
         print("Eject roach.")
 
@@ -173,5 +179,7 @@ class RoachesScene(Scene):
         if button == mouse.LEFT:
             for actor in self.actors.buttons:
                 if actor.collidepoint(pos):
-                    actor.action()
-                    break
+                    return actor.action()
+            for i, actor in enumerate(self.actors.seats):
+                if actor.collidepoint(pos):
+                    return self._select_seat(i)